Last-modified: 2010-04-08 (木) 10:06:56
ここは、ObjectDataBase Cache'に関する情報、技術を集約するwikiです。どなたでも自由にページを追加・編集できます。また、内容的に間違っていたら加筆・訂正をお願いします。
なお、Cache'は多くのOS版、バージョンが存在しますので記事には必ずOS,Versionを明記してください。(OS,Versionを明記しない場合かえって混乱を招くことになります)
Cache'(キャシエ)とは何か
Cache'(キャシエ)とは、1967年にマサチューセッツ・ジェネラルホスピタルで開発され、以降アメリカ標準(ANSI)、国際標準(ISO)、日本標準(JIS)を取得したプログラム言語MUMPSをルーツとし、米InterSystems社がMUMPSを拡張した、データベースプログラミング環境である。(非フリーソフトウェア)
その中心となっている、Cache'ObjectScript言語は、SQLのようなデータベース言語とVisualBasicのようなプログラム言語が一体となった言語体系を持っている。
その特徴は、グローバル変数(大域変数)を直接ハードディスク上に高速に格納できる仕組みであり、変数の永続化をRDBとは別の流れで可能にした技術である。(例えば、配列変数を宣言したら、それが直接データベースになっているようなもの)
以上のように、データベースとプログラム言語が完全に一体化しているため、分野的な切り分け(データベース分野、プログラム言語分野)ができないことがCache'を理解しづらくしている原因であろう。そのため、ここではあえてデータベースプログラミング環境という言葉を用いた。
コメント欄
キャシエを薦める10の理由
ここでキャシエの特徴をまとめてみる。
クレジットスコアのmeann何をすべきか
- 変数をデータベースとして永続化する。(前述した)
- 変数の格納構造が、B-TREE構造である。(OSのファイル管理の構造と基本的に同じ)
- 上記2点を普通に実現しようとすると、冗長な構造になるため、スパース変換(疎行列変換)を用いて高密度に圧縮してデータベースに格納する。(Googleも使ってるねスパース)
- 上記2点を普通に実現しようとすると、ハードディスクのIO処理が異常に遅くなるため、プロセスベースでのメモリキャッシュ機能をもっている。メモリキャッシュはある一定の時間でハードディスクとIO処理を行いデータの永続化が自動的に行われる。
- オブジェクト指向(クラス構造)に対応している。そのため、最近のオブジェクト指向言語(Javaなど)との親和性が高く、インピーダンスミスマッチのない開発環境が実現している。(オブジェクトはオブジェクトのままデータベースに格納する。つまりJDBC,ODBCを使わないデータの格納方法が選べる。)
- クラス構造の拡張としての多言語バインディング機能として実装されているため、java,C++,Perl,Python,.
myspaceにグループを起動する方法Net,XML等とのシームレスな結合が可能となっている。
キャシエを手に入れる方法
値段は不明。(ライセンス数により変化するらしい)
InterSystems社が、直売をしていないためパートナーと呼ばれる企業からソリューションの付随物として手に入れるしかない。ただし、InterSystems社のホームページからシングルユーザー版(1ライセンス版)は評価版として無料でダウンロードできる。
インターシステムズジャパン:
Cache'評価版:
シングルユーザー版は、ソリューション版と完全に同一であり、利用期間制限もない。個人で利用するなら、ただというわけだ。シングルユーザー版は、スタンドアロン版ではない。サーバーとして利用することもできる。(接続数が1ライセンスというだけ。)また、データベースプログラミング環境なので、開発用のツールはすべて内蔵されている。
SOX法とは何の略ですか?
キャシエを取り巻く10のリスク
- 最大の欠点は、書籍がほとんど無いこと。入門書すらない。(古いMUMPSの本では情報が古すぎる)アメリカでは普及していると言われているが、英語の書籍も見当たらない。そういう意味で、情報の共有化が遅れている。
- Cache'ObjectScriptは超マイナーな言語なので、学んでもパートナー会社しか就職先がない。
- だいたいCache'をどう発音していいのかわからないし[e']をどうやってキーボードから打つのかわからない。ちなみにフランス語で「隠されている」という意味らしい。よほど秘密にしたいようだ。
- 吉田育代女史が書いた「データベース新たな選択肢[リレーショナルがすべてじゃない]」を読むとCache'の歴史がわかるが、Cache'はORACLE等のSQLDBに破壊し尽くされた荒野に咲いた一輪の花である。マイノリティーである。いつ枯れるか、踏みつぶされるかわからない。
- 値段が皆目わからない。(InterSystemsの人に聞けばわかるらしい)
- パッケージ売りをしていない。(箱を見たことがない)
- だれも知らないので、使えても威張れない。キャシエ?何それ?
- 本を書いても売れない。(だから本がない?)
- マニュアル読んでもわからない。
- ソースが読めない・・・Mできっちり書くのやめて!
教訓:リスクを恐れる人間はこの世界に踏み込んではならない!
キャシエの仲間たち
Cache'には仲間がいる。EnsembleとHealthShare、TrakCareである。最近、DEEPSEEというデータウエアハウス構築ツールが出てきた。
要は、Cache'の機能拡張版とソリューションに特化した仲間であるが、核は全てCache'である。
Cache'ObjectScriptについて
Cache'で標準で用いられている開発言語。前述したが、MUMPSからの古い歴史がある。MUMPSは標準化されたため拡張性が犠牲になってしまい、プログラム言語の新しい流れに追いつけなくなってしまった。そこで、InterSystemsは今風のMUMPSとしてCache'ObjectScriptを再設計し、M言語という標準を捨てた。
ただ、MUMPSを基にしているため言語的に古風な部分があるのが面白い。一言でいうと「温故知新」。
Cache'ObjectScriptを「COS(コス)」と略して使用しているのは一部の人だけで、普通はM(エム)と言ったほうが通じる。
Cache' ObjectScript の使用法
Cache'Basic
なんと、Cache'はもう一つ開発言語を持っている。言語を2つ話せるなんて、まさにバイリンガル。平成の黒船リアディゾン?
Cache'Basicなんてうさんくさそうな名前だが、実はVBScriptコンパチである。えっ、更にうさんくさい?
Cache' Basic の使用法
Web系の開発はCache'ServerPage(CSP)
ASPのCache'版である。JavaScriptとCache'ObjectScriptを混在して利用する。
Cache' Server Pages (CSP) の使用法
Cache'の開発はCache'スタジオで
ここまでくると、M$に訴えられるんじゃないかと思われるぐらい名前が似ている。ただし、中身は全然違う。質素です。
Cache' スタジオの使用法
システム管理ポータル
なにかと評判が悪い、Webベースの管理画面。評判が悪い原因は、以前の「Webベースじゃないもの」の方が使い勝手が良かったということらしい。バージョンがあがって使い勝手が悪くなる・・・M$じゃ。
Cache' システム管理
キャシエのオンラインマニュアル
Cache'2009.1
FAQ(サンプルあり、開発の参考に)
リンク集
CodeZine オブジェクトデータベースの部屋
Cachéウィキペディア(Wikipedia)
Cache'Wiki
青色立方体研究所
対決! O/Rマッパー vs. オブジェクト指向DB(1)
対決! O/Rマッパー vs. オブジェクト指向DB(2)
対決! O/Rマッパー vs. オブジェクト指向DB(3)
個性派DB「Caché」、RDBの牙城を崩せるか
CachéとObjectStore、脱RDBMSの真価を探る
AMAZON
データベース新たな選択肢―リレーショナルがすべてじゃない
&amazon(4990207904,price);
在庫あり。
0 件のコメント:
コメントを投稿