「RDBMS」を含む日記 RSS

はてなキーワード: RDBMSとは

2009-08-04

雲をつかむような話

今朝の日経1面に日立とか富士通クラウドに100億づつ投資、みたいな煽り記事が出ていて気持ちが暗くなる。VM の個別のインスタンス毎に(OSアプリレベルの)設定は違うし、RDBMS を明日捨てるわけにもいかないだろうから、物理的なサーバスイッチの構成が多少均一化されたところで自分の知識が1年後には全く無用になっている筈もないのだが。とりあえず VM ハイパーバイザと hadoop 等の練習はしといたほうがいいかも、ただ未経験なら採ってはもらえないらしいからやっぱりジョブリレバンスは疑問。

クラウドというのは廃熱は減らしても物理ノード数を減らす方向には行かない(Core 7i をやめて Atom を複数並べる方向ということ)から、大手系列チェンジニアにとってはむしろ朗報なのだと思う。DC電源化もなんともいえない。やっぱり AC で行くような気がする。iSCSIイーサネット給電も(IP電話端末を除けば)普及していないし。

2009-07-24

たすけて

システムデータが、あんまりにもひどい。Oracle なんだけど、まったく正規化されてない。

まったくだよ。第一正規化さえされてないんだよ。なんのための RDBMS なのか。気が狂いそうだ。

一応キーはついてるんだけど、業務的にまっったく意味の無いキーなので、全然使えやしない。扱いたいデータを特定する方法は、むろん、怪しげなロジック属人的経験則に頼るしか無い。これを作ったやつは万死をもって償うべきだと思うね、マジで

データがそんな調子だから、ER図なんてもちろんないし、すこし気のきいたレポートを出そうとビューを作りまくっては、巨大な集合演算を発生させてパフォーマンスを落としている。

一番すごいのは、この状態が放置されてるってこと。アンビリーバボー

2009-06-14

誰が負けたのか判った気がする

相手が勝ち誇ったとき、そいつはすでに敗北している

ジョセフ・ジョースター

何が違うのか解った気がする(菊池 Blog

今どき言語論争なんて愉快なことをやってるのがアンテナに引っかかったのでヲチしてたんだけども、勝利宣言キタコレ

  1. id:higayasuo氏がid:technohippy氏に、「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」と聞かれる。
  2. id:higayasuo氏、大要「書く量は問題にならない」と答えた。という内容の記事を投稿。
  3. それを見た菊池氏が「GAEJava を選択する場合の最大の理由」は「「うん十万行の既存コードをそのまま投入できる。それにインターフェースするために多少オーバーヘッド気味のコードが数100行必要なのが何の問題がある?」と高説。
  4. id:higayasuo氏が菊池氏に、大要、GAEではRDBMSが使えず移植も大変なので既存コードを使えない、と反論。
  5. 菊池氏が、大要、設計が悪いからだ、と反論。
  6. さらに菊池氏のターン、大要、レイヤリング意識して無い奴に言っても無駄だったね反省、と勝利宣言。

さて。

ネットバトル(藁)の勝敗傍観者の評価によって定まるとしても、「傍観者の評価」は俺一人の評価と同値ではなく、むしろ多数が形成する「空気」だから、俺が「このバトルは◯◯の勝ちだ」と宣言したところで月桂冠には成り得ないわけだけども、「空気」の一要素として、高らかに宣言しておく。

このバトルは菊池氏の負けだ。

菊池氏の主張というのは結局、「日頃から良い設計コードを書いていればコードの再利用も容易なはずだ」という「Javaプログラマかくあるべし」論だ。

だから菊池氏は自分の勝利を確信しているだろう。「低能プログラマを叩きのめしたぜ万歳!」

ところが、このネットバトルの勝利条件は「どちらが優れたプログラマか」では無い。もともと他言語との比較でJavaメリットが問われているから、Javaプログラマを叩きのめしても意味がない。

そこで「優れた設計に基づく既存のコードを簡単に再利用できるのがJavaメリットだ」と答えても、「その優れた設計に基づく既存のコードというのはどこにあるんですか?」と訊かれる。(ここでの「優れた設計」は、RDBMSbigtableになりGAEのSandBoxの縛りがあっても容易に移植できる設計でなければならない。)

さて、この問いに胸を張って「いくらでもある」と答えられるJavaプログラマがどれほどいるのだろうか?百歩譲って自身が優れた設計に基づくコードしか書いてこなかったとして、Java界全体を代表して発言してもなお結論が変わらないと言えるだろうか?

つまり、他言語使いに問われた時に「俺の書いたものに限らず、Javaの既存コードはたいてい再利用できる」と言えるだろうか?

答えは否だ。嘆かわしかろうが何だろうが、否だ。

さて、このネットバトルの勝利条件は何であろうか。

それは、「GAEJavaを使うメリットをより的確に表現する事」だ。

菊池氏はその答案として、理想論ないし机上の空論を掲げた。

id:higayasuo氏の答えは大要「慣れた言語で書ける事」だ。格好良くはないが、現実的な答えだ。

菊池氏の答えが全く説得力がない以上、id:higayasuo氏の答えの説得力が弱く反論が容易であったとしても、1ピコグラムでも説得力を有する以上は、天秤はid:higayasuo氏に傾くのだ。

このネットバトルの勝者はid:higayasuo氏だ。

これは、JavaPython勝敗とは関係のない世界の話。

ところでGAEJavaサポートメリットは、Java上で動く多数の言語が使えるようになる事だ、と言ってみるテスト

2008-07-24

プログラミング言語オタが非プログラマー彼女言語世界を軽く紹介するための10言語

via Twitterオタが非オタの彼女にTwitter世界を軽く紹介するための10ユーザ

まあ、どのくらいの数のプログラミング言語オタがそういう彼女をゲットできるかは別にして、

「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、

 その上で全く知らないプログラミング言語世界とはなんなのか、ちょっとだけ好奇心持ってる」

ような、ヲタの都合のいい妄想の中に出てきそうな彼女に、プログラミング言語のことを紹介するために

習得させるべき10言語を選んでみたいのだけれど。

(要は「脱オタクファッションガイド」の正反対版だな。彼女プログラミング布教するのではなく

 相互のコミュニケーションの入口として)

あくまで「入口」なので、アーキテクチャに過度に依存するアセンブラ等の低級言語は避けたい。

あと、いくら基礎といってもBrainf*ckやUnlambdaのような難しすぎるものは避けたい。

ポール・グラハムが『Arc』は外せないと言っても、それはちょっとさすがになあ、と思う。

そういう感じ。

彼女の設定は

PCはほぼウェブ閲覧専用、Excel程度は使える。

ロジカル度が高く、頭はけっこう良い

まずは俺的に。出した順番は実質的には意味がない。

Java

まあ、いきなりここかよとも思うけれど、「Java以前」を濃縮しきっていて、「Java以後」を決定づけたという点では

外せないんだよなあ。ゴスリングもハゲだし。

ただ、ここでオタトーク全開にしてしまうと、彼女との関係が崩れるかも。

この情報過多な言語について、どれだけさらりと、嫌味にならず濃すぎず、それでいて必要最小限の情報彼女

伝えられるかということは、オタ側の「真のコミュニケーション能力」の試験としてはいいタスクだろうと思う。

Smalltalk (Squeak), LOGO

アレって典型的な「オタクが考える一般人に受け入れられそうなプログラミング言語(そうオタクが思い込んでいるだけ。実際は全然受け入れられない)」そのものという意見には半分賛成・半分反対なのだけれど、それを彼女にぶつけて確かめてみるには一番よさそうな素材なんじゃないのかな。

プログラミング言語オタとしてはこの二つは“教育用言語”としていいと思うんだけど、率直に言ってどう?」って。

Haskell

ある種の言語オタが持ってるラムダ計算への憧憬と、ACM監修の関数型言語純粋さへのこだわりを

彼女に紹介するという意味ではいいなと思うのと、それに加えていかにも参照透過な

純粋関数型で許される計算順序の規定」を体現するモナド

純粋関数型言語の非正格性」を体現する無限リスト

の二要素をはじめとして、オタ好きのする要素を言語にちりばめているのが、紹介してみたい理由。

Common LISP

たぶんこれを見た彼女は「Emacsだよね」と言ってくれるかもしれないが、そこが狙いといえば狙い。

この系譜の作品がその後続いていないこと、これがポール・グラハムの間では大人気になったこと、

ポールグラハムがウェブサービスの構築に使って、それがいろんなウェブサービス開発者にも影響しててもおかしくはなさそうなのに、

実際のウェブサービスでこういうのが使われないこと、なんかを非オタ彼女と話してみたいかな、という妄想的願望。

Perl

「やっぱりプログラミングバッチ処理のためのものだよね」という話になったときに、そこで選ぶのは「awk

でもいいのだけれど、そこでこっちを選んだのは、この言語にかけるラリーdankogaiの思いが好きだから。

断腸の思いで延ばしに延ばしてそれでも2008年、っていうPerl 6のリリース予定日が、どうしても俺の心をつかんでしまうのは、

そのリリースというイベントへの諦めきれなさがいかにもオタ的だなあと思えてしまうから。

Perlリリース延期を無駄だとは思わないし、拙速リリースは無茶だろうとは思うけれど、一方でこれが

GuidoやMatzだったらきっちり予定通りリリースしてしまうだろうとも思う。

なのに、各所に頭下げて迷惑かけてリリースを延期してしまう、というあたり、どうしても

「自分の言語を形作ってきた哲学(TMTOWTDI)が捨てられないオタク」としては、たとえラリーがそういうキャラでなかったとしても、

親近感を禁じ得ない。言語自体の高評価と合わせて、そんなことを彼女に話してみたい。

Postscript

今の若年層でPostscriptを直で書いたことのある人はそんなにいないと思うのだけれど、だから紹介してみたい。

PDFよりも前の段階で、DTP哲学とか印刷技法とかはこの作品で頂点に達していたとも言えて、

こういうクオリティプログラミング言語エディタで書かれてたんだよ、というのは、

別に俺自身がなんらそこに貢献してなくとも、なんとなくプログラミング言語好きとしては不思議に誇らしいし、

いわゆるJava VMでしかスタック言語を知らない彼女には見せてあげたいなと思う。

PHP

PHPの「HTMLに埋め込み可能な点」あるいは「RDBMSとの接続性」をオタとして教えたい、というお節介焼きから教える、ということではなくて。

HTMLテンプレートエンジンを作り続ける」的な感覚言語オタには共通してあるのかなということを感じていて、

だからこそアメリカ版『Yahoo!』の開発言語PHP以外ではあり得なかったとも思う。

「MとVとCを分離なんてできない」というオタの感覚今日さらに強まっているとするなら、その「オタクの気分」の

源はPHPにあったんじゃないか、という、そんな理屈はかけらも口にせずに、

単純に楽しんでもらえるかどうかを見てみたい。

Prolog

これは地雷だよなあ。地雷が火を噴くか否か、そこのスリルを味わってみたいなあ。

こういう述語論理風味の計算をこういうかたちで言語化して、それが非オタに受け入れられるか

気持ち悪さを誘発するか、というのを見てみたい。

C++

9本まではあっさり決まったんだけど10本目は空白でもいいかな、などと思いつつ、便宜的にC++を選んだ。

Javaから始まってC++で終わるのもそれなりに収まりはいいだろうし、テンプレート以降のメタプログラミング時代

の先駆けとなった言語でもあるし、紹介する価値はあるのだろうけど、もっと他にいい言語がありそうな気もする。

というわけで、俺のこういう意図にそって、もっといい10本目はこんなのどうよ、というのがあったら

教えてください。

「駄目だこの増田は。俺がちゃんとしたリストを作ってやる」というのは大歓迎。

こういう試みそのものに関する意見も聞けたら嬉しい。

2007-08-14

mySQL悲鳴をあげてる,

40万件joinの300件程度の集計ごときで悲鳴をあげよって!!

最新版でも、このテーブル連結の弱さは変わらんなあ。

なんで、こんなにこいつは複数参照によわいのだろう。

全然RDBMSじゃないよ…。

ほんとは400万件ぐらいの母集団でやりたいのに…。

…。

と、思ったら、連結させた結果をサブクエリにして、

結果を集計するSQLに変更したらあっさり出た。

わからんなー。。そんなもの??

頑張っても帰ってこない

select
	sum(c_pr),
	sv.seg_cd
from 
	p_tbl pt,
	s_v sv
where 
	sv.s_cd = pt.s_cd
	and pt.key_ymd = 20070125
Group by seg_cd


帰ってくる

select
	sum(c_pr),
	s_cd
from (
	select
	pt.s_cd,
	c_pr,
	sv.seg_cd
	from 
	p_tbl pt,
	s_v sv
	where 
	sv.s_cd = pt.s_cd
	and pt.key_ymd = 20070125
) ppm
Group by seg_cd

あれ?前者なんかSQLおかしい??あれ・・・??

2007-08-05

anond:20070805021556

いやぁ、さすがに無理。プラットフォームの問題の方が大きいけど。プラットフォームの問題って、一言で言えばメモリ容量制限で死にます。

RDBMSも処理能力はやっぱりいるし。

ログイン ユーザー登録
ようこそ ゲスト さん