R3Dとは何か
R3DってEXCELの様に関数を書けばデータベースを更新してくれるって本当? | ||||
本当だよ。EXCELでは、別ブック,別シートのデータをSum関数などで集計して持って来るでしょ。R3Dでは、別サーバや別データベース、別テーブルのデータをR3DのSum関数で集計して自動的にセットしてくれるんだよ。 | ||||
でも、データが更新されたら、また集計しないといけないんでしょ? | ||||
いいえ。それがデータ駆動型と言われるところで、集計の元となっているデータが変更/更新されたら、それが引き金となって集計値も自動的に更新されるんだよ。これは、データベース内で行われるので、データベースを扱うプログラムの種類や形態(Web/サーバクライアント方式)には左右されないんだよ。 | ||||
えっ!データが自動的に更新されるの? | ||||
そうだよ。R3Dで、そのデータの因果関係を記述しておくだけで、あとはデータベースが自動的にやってくれるんだよ。 | ||||
今までは、プログラムで、JAVAやC++,VBなどで書かなければならなかったのでしょ? | ||||
そうなんだよ。今まで業務分野や処理形態が違えば、JAVAやC++,VBなどで同じ処理を個別の言語で書いていたんだよ。 | ||||
そうすると、今までのプログラムの考え方が変わることになるぐらいのことじゃない? | ||||
そうなんだよ。従来のプログラムの形態は、コンピュータが発明されてからずっとノイマン方式でのプログラム主体で、プログラムの手続(処理命令)によってデータを取り扱っていたんだ。それが今度は、あるデータの更新が引き金となって、連鎖的に関係するデータが自動的に更新されるという事なんだ。これをデータ駆動型と言うんだよ。 | ||||
えっ!それって天動説を否定した地動説の様なコペルニクス的大転換じゃない。 |
||||
偉大なコペルニクスには全く及ばないけど、もしかしたら、これからのプログラム方式が変わるかもね! | ||||
すると、プログラムを作るスピードも変わってくるね。 | ||||
うちのある事例では、ある1つのテーブルに書いた7行の導出定義文が480行のプログラムに展開されるので、68倍ということになるね。例えば、EXCELなどでは、1行で終わってしまうSum関数の集計の処理をVBAなどのプログラムで書けば、どうなるかを考えてみればよく分ると思うよ。 | ||||
しかも、変化に強いこともある? | ||||
そうだよ。7行の変更はすぐできるけど、480行のプログラムの変更は容易じゃない。だから、プログラムの保守コストは開発コストの何倍もするとよく言われているんだよ。 | ||||
どういうデータベースで使えるの? |
||||
現在の初期バージョンは次のデータベースだよ。 ・Microsoft SQL Server 2000TM ・Microsoft SQL Server Desktop Engine(MSDE2000)TM ・Microsoft SQL Server 2005TM ・Microsoft SQL Server 2005 Express EditionTM ・Microsoft SQL Server 2008TM ・Microsoft SQL Server 2012TM 今後使えるデータベースを増やしていく予定だよ! |
|
|||
ところで使いやすい画面などがあるの? | ||||
もちろんだよ。使いやすい画面が用意されていて、テーブルやフィールドごとにR3Dの定義文を入力するだけだよ。こんな感じだよ。(クリック拡大) |
||||
これって高いのでしょ? | ||||
いいえ。これは、個人や非営利の団体、教育機関などで使うときは無償で使えるんだよ。でも、商用や業務で使う場合には、サポート契約が必要なんだ。なぜなら、R3Dは、高機能マクロの様な言語なので、使う場合には、サポートを受けた方が何倍もの効率が上がるからなんだ。やはり、本番で使うっていうのは、技術的なバックアップなければ不安だよね。 | ||||
|
||||
将来、すっごくデータが増えても大丈夫? | ||||
そこなんだよね。今のコンピュータのほとんどがノイマン方式で限界に来ているんだよ。そこで、スーパーコンピュータなどが開発され、ベクトルプロセッサで配列のデータを並行して同時に計算できるから処理速度が速いんだよ。でもね、それは配列計算だけだったけれども、これからはデータベースの各テーブルやフィールドにCPUを持たせてデータ駆動型で並列して同時に計算できることも将来考えられるんだよ。 R3Dはそのさきがけの言語となるかも知れないんだ。まだハードウエアは従来のものを使っているけれども、やがてはハードウエアがデータ駆動型専用機になるだろうね。でもね、R3Dはハードウエアが変っても同じ言語で書けるような考え方になっているんだよ。 |
|
|||
大体すごいことが分ったのだけど、具体的にどの様な分野のどの様な処理でそのご利益があるのかピンと来ないわ。もっと詳しく応用事例などを知りたいわ。 |
||||
そうだよね。じゃあ、次のコーナーで「R3Dでできること」「R3Dの応用分野」について説明するから、よく聞いてね。 | ||||