システム開発に携わっている皆様、「Cache」をご存知でしょうか?(読み方は「キャシェ」)
なかなか利用している開発会社も少ないと言われている「Cache」ですが、実はプロアスの開発現場ではよく使われており、エンジニアとしてのメリットがたくさんあります。
今回はこの開発ツール「Cache(キャシェ)」についてご紹介したいと思います。
「Cache(キャシェ)」とは
他社ではあまり使用されておらず、プロアスでよく使用している開発ツール、それがInterSystems社の「Cache(キャシェ)」です。
サイト上では「e」の文字が正しく表示されていませんが、上記のロゴにありますように、正確には「e」の文字の上部に「’」が付きます。
語源はフランス語で、英語読みは「キャッシュ」、フランス語では「キャシェ」となります。
Cache(キャシェ)の基本情報
分かりやすくいうと、データベース管理システムになります。
他社で言いますと、OracleやSQL Server、DB2と同様の製品です。
ただ、他社製品と違うのは、リレーショナル型のデータベースではないこと、独自のプログラミング言語(MUMPS)※を使用することです。
違いを簡単に表現すると、以下のようになります。
- リレーショナル(表形式)

- Cache(ツリー形式)

システム開発に携わっている方なら、誰でもOracleやSQL Serverをご存知だと思いますが、Cacheを知っている方にお会いすることはほとんどありません。
悲しいことに日本ではマイナーなデータベースシステムです。
MUMPSとは
MUMPSは1967年にボストンのマサチューセッツ総合病院(MGH)のドクター達によって開発されたプログラミング言語です。
MUMPSのもっとも珍しい部分は、クエリや検索ではなく、変数を使ってデータベースにアクセスするという考え方です。
この方法により、非常に高いパフォーマンスのデータアクセスを提供しています。
言語仕様の一例として、プログラミングの世界でよくある「HelloWorld」をMUMPSで記述すると以下になります。
いかがでしょうか?
1行のプログラムコードは、わずかな文字だけで構成されています。
wはWriteの略、qはQuitの略です。
昔のプログラミング言語に共通していた短縮表記がMUMPSでも実現されています。
当時は非常に簡潔なコード記述と評価された反面、現在では熟練したMUMPSプログラマでさえも、その機能を把握するためにコードを行ごとに解析する必要があるというデメリットも発生しています。
その後、各社からいろいろな種類のMUMPS言語がリリースされました。
そして、最終的にはInterSystems社(※)が他のベンダーを買収し、2000年ころには、ほぼ独占状態となり現在に至っています。
※InterSystems社とは
1978年にアメリカのマサチューセッツ州で設立された、Cacheの開発会社です。
元々は数あるMUMPSベンダーの1社だったのですが、他のベンダーを買収し、1997年にCacheを発表しました。
Cache以外では、統合プラットフォームのEnsemble、リアルタイムBIツールのDeepSee等の製品もリリースしています。
Cache(キャシェ)の魅力
マイナーなデータベース管理システムであるCacheですが、プロアスでは常に必要とされるツールです。
使い難い部分もありますが、使うメリットもたくさんあります。
- 最近主流のメジャーな開発言語と違ってコマンドの種類が少なく、短時間で覚える事が出来る
- 他のデータベースと比べると、同じデータ量でも、少ないディスク容量で保存することが可能
- データの検索速度がとても速い
Cache(キャシェ)開発での悩み
プロアスではCacheを使用した開発を行っていますが、いつも頭を悩ませる問題があります。
それはCacheを使えるエンジニアがいないということです。
プロアス社内のメンバーだけでまかなえるのであれば問題ないのですが、案件が集中したとき等、他社から技術者をお借りしようと声掛けしてみても、まずCacheを使えるエンジニアを探すことができません。
これもマイナーな製品であるのが理由なのですが。
なぜCache(キャシェ)はマイナーなのか
前述の通り、データベースの主流はリレーショナル型(表形式)です。
それに対しCacheはツリー(木)構造。データの持ち方がまったく違いますので、リレーショナルしか知らないエンジニアはまず、概念的なところでつまづいてしまいます。
こういう部分が受け入れられなかった原因と考えられます。使う人が少ない=技術情報が乏しい(ネットや書籍等)ということも一因になっており、新たに勉強したいと思っても勉強しにくい環境にあるツールなのです。
Cache(キャシェ)に興味を持ったらプロアスまで
この記事を読んでCacheに少しでも興味を持たれたら、プロアスまでご連絡ください。
Cacheに興味をもつもの同士、楽しいエンジニアトークができることでしょう!
writer
プロアスソリューション・システム開発部 堺 一紀(さかい かずのり)