FAQ - 一般的質問
- 一般的質問
- 技術的質問
それぞれの項目についてのお問い合わせは、各項目内の
をクリックしてください。
Question : 001
Cachéはオブジェクトデータベース(ODBMS)とは違うのですか
Cachéは、オブジェクトデータベースを含めた一般的なデータベース製品と異なり、ビジネスアプリケーションを開発する際に必要となるデータベース機能とプログラミング言語の両方を提供しますので、アプリケーションのビジネスロジックの大部分をCachéだけで実現できます。
その言語とデータベース機能は非常に最適化された形で統合されております。さらにそのアプリケーション開発、実行環境は、首尾一貫したオブジェクト指向フレームワークとして体系化されています。
このユニークなアーキテクチャにより、他に比類のない高性能、高開発生産性を得ることができます。
Cachéのアーキテクチャは、上記の様にオブジェクト指向の考え方により体系化されていますので、オブジェクトデータベースの特徴であるオブジェクト開発フレームワーク(分析/開発手法、オブジェクト言語、開発ツール)との高い親和性を持っています。
従来のオブジェクトデータベースは、データベーススキーマ進化に良く対処できなかった点、スケーラビリティに問題があった点、リレーショナルデータベースからのマイグレーションパスが用意されなかった点、データ保全、運用管理機能が弱い等の理由により、非常に限定された領域での利用に留まっています。
これに対し、Cachéはこれらの問題をすべて解決しており、実用に耐えうるオブジェクト指向対応のデータベース製品です。
Question : 002
Cachéはリレーショナルデータベースとは違うのですか?
CachéはSQLのサポートをはじめ、リレーショナルデータベースとの高い互換性を有します。
さらに、Cachéは多次元データエンジンをベースにしており、リレーショナルデータベースに比べて柔軟なデータ構造を持ち、一般にパフォーマンスも優れています。
また完全なオブジェクト指向をサポートしており、Javaなどのオブジェクト指向開発環境との親和性という点でも優れています。
Question : 003
Cachéはオブジェクトリレーショナルデータベース(ORDBMS)とは違うのですか
ORDBMSは、従来のリレーショナルデータベースエンジンの上に複雑なデータ構造のサポートを追加したものに過ぎません。その複雑な構造へのアクセスは、SQLあるいはベンダ独自の拡張機能を使ったアクセスに限定され、オブジェクト指向開発フレームワークとの連携は、O/Rマッピングに頼らざるをえません。従って、開発オーバヘッドおよび実行時のオーバヘッドはRDBMSのそれと本質的な差異はなく、昨今のオブジェクト指向開発にベストマッチした環境とはいえません。
CachéはRDBMSに遜色のないSQLサポートに加え、オブジェクト指向開発フレームワークにべストマッチなオブジェクト指向アクセスも提供し、しかもその2つのアクセス手法を全く同じデータに対してシームレスに適用できる点で画期的なDBMS製品であるといえると思います。
Question : 004
多次元データベースというとデータウェアハウス専用ですか?
データウェアハウスのデータ構造も多次元構造ですので、構造的には似ているかもしれません。
しかし、データウェアハウス専用のデータベース製品が基本的には参照のみに重点を置いて、頻繁に更新されるデータ、つまりトランザクション用途を考慮していないのに対して、Cachéは高トランザクション処理に耐えられる様な設計になっている点が根本的に違います。
具体的にはトランザクションのACID属性への対応、更新時のデータ構造の再配置など投入されている技術は、参照専用多次元データベースに比較してずっと高度なものです。
Question : 005
そんなに速いのなら何故ベンチマーク結果を公表しないのですか?
ほとんどのRDBMSベンダのライセンス条項に当該RDBMSベンダの承諾なしにベンチマーク結果を公表してはならないという条項があるため、公表しておりません。
しかし、別途お問い合わせいただければ、個別に今まで弊社で実施したベンチマーク結果をお知らせすることは可能です。
Question : 006
CachéはXMLデータベースとは違うのですか?
いわゆるネイティブXMLデータベースではありません。ネイティブXMLデータベースでは、XML文書をそのまま格納し検索するのを目的とするのに対し、CachéはXMLとオブジェクトのマッピングを提供します。
弊社はXML構造そのものをデータベースに格納することが効率の良いものであるとは考えておりません。弊社はXMLをあくまでもアプリケーションのデータ交換フォーマットと捕らえ、Cachéとのシームレスな連携(インポート、エクスポート、スキーマウイザード、WebServiceサポート)に重点を置いてXML機能のサポートを行っています。
Question : 007
統一データ構造の意味が良くわかりません
リレーショナルアクセスが利用するデータ構造は、テーブル、行、列という要素ですが、オブジェクト指向フレームワークでは、違う要素があります。また、アクセス手法もリレーショナルアクセスがセット指向のアクセスであるのに対し、オブジェクトに対するアクセスは、セット指向アクセスとナビゲーショナルアクセスの混合モデルです。
従来は、この2つは互いに相容れないもので、結びつけるために、また別にマッピングの仕組みを用意するという方法が一般的でしたが、その方法は、データ構造変更時のコストが非常に高い方法でした。
弊社は、リレーショナルアクセス、オブジェクト指向アクセスの両方ともに適材適所の利用機会があると考えており、片方のアクセスだけでは不十分であると考えております。
そこでこの2つの考え方を両立させるために、さらにその下の層にこの2つのモデルを完全にサポートできる多次元データエンジン層を位置付け、単一のデータ辞書を使うことにより、SQL層からその多次元データ構造にアクセスするためのマッピング情報、およびオブジェクト層からその多次元データ構造にアクセスするためのマッピング情報を自動生成する仕組みを用意しました。
その仕組みを総称して統一データ構造と呼んでいます。
※※メモ※※
オブジェクト間の関連をたどることにより別のオブジェクトを抽出できることをナビゲーションアクセスといいます。
Question : 008
Cachéに関する本はありますか?
公式ガイドブックとして、「Cachéデベロッパーズガイド(翔泳社)」という本があります。(ISBN978-4-7981-1885-7)
Question : 009
Cachéを使用するのは初めてですが、どのように学習できますか?
現在弊社ウェブサイトで、Cachéテクノロジ解説や、自習形式で確認できるチュートリアルドキュメントを、順次公開しております。Caché製品も最新バージョンを無償でダウンロードいただけます。ぜひこれらを通して、Cachéを体験いただければ幸いです。
Question : 010
Cachéのデータ構造である多次元データエンジンとは何ですか?
Cachéのプログラミング言語であるCaché ObjectScriptの配列変数には、他の言語にはないユニークな特徴が2つあります。
1つは、配列の要素に正の整数以外に、可変長の文字列を使用できる点、もう1つは、永続性を持てる点です。
配列の要素に可変長の文字列を使えることにより、より豊かなデータ表現力を持つことができます。
配列の要素が、正の整数値しか使えない場合には、それは、単なる番地の意味しか持ちませんが、文字列が使えると、人間がその文字列が持つ意味から何らかの連想を働かせることができます。
他の言語にも、連想配列あるいはハッシュ変数という似た概念がありますが、通常それらは、次元数は、1つだけですが、Caché ObjectScriptの場合には、複数次元を表現できる点が大きな違いです。
この配列構造を使い、複雑な構造を表現できますが、さらに永続性という属性が付加されることにより、1度作成したものを後で参照したり、更新したり、複数のユーザで共有することができます。
Cachéのデータベースエンジンは、この様な仕組みで、データを管理しています。
この仕組みを総称して多次元データエンジンと呼んでいます。
Question : 011
多次元データベースとオブジェクトは何か関係があるのですか?
多次元データベースとオブジェクトには特に関係はありませんが、Cachéのコアテクノロジである多次元データベースなら、オブジェクト同士の関係を崩さずにデータベースへデータを取り込むことができます。
Question : 012
CachéはODBCに対応していますか?
はい。対応しています。また、JDBCにも対応しています(タイプ4ドライバ)。
Question : 013
CachéはMumps(M言語)だと聞いたのですが。
CachéのCaché ObjectScript(COS)のルーツは、Mumps(M言語)です。
しかしANSI規格であるM言語から大幅に機能拡張がなされています。
Mumpsの優れた点であった柔軟で高速なデータ処理を引き継ぎつつMumpsの欠点であった言語のシンタックスの改善や変数のスコープ制御、強力な関数の追加、更に強力なオブジェクト指向フレームワークをサポートし、統一データアーキテクチャ(Unified Data Architecture)を実現していますので、他のテクノロジ(Java,.Net,SOAPなど)との連携を簡単に行なうこともできます。
Question : 014
Cachéの各アクセスで速い順は?
一般的に、ダイレクトアクセス、SQLアクセス、オブジェクトアクセスの順番に処理の抽象度が上がりますが、それに伴い内部的な処理のオーバヘッドは、増加するため、単純なアクセススピードの速さは、その逆の順番(ダイレクト→SQL→オブジェクト)となります。
速度を比較する時に、違うアクセス手法に対して、条件を同じにすることは、非常に難しいことです。あるいは、単純な速度比較は無意味なケースもあります。
そして、アクセススピードを考える時に、以下の視点が必要です。
例えば、データの入力処理を考えた時に、データの登録の前に入力データの妥当性チェックが必要ですが、オブジェクトアクセスとSQLアクセスの場合には、Cachéシステムがデータ保存処理の際に自動的に処理してくれます。
一方、ダイレクトアクセスの場合には、プログラマが自分でその処理を追加しなければなりません。
また、オブジェクト間に複雑な関連がある場合には、オブジェクトアクセスの場合には、Cachéシステムがその複雑さを理解しながら、適切に処理してくれるのに対して、SQLアクセスの場合には、処理単位は、あくまでもレコード単位なので、関連は、プログラマが自分で処理しなければならないケースもでてきます。
これらのことと処理スピードとは、基本的に逆の相関関係にあり、何らかのトレードオフがつきものです。
以上のことを踏まえ、適切なアクセス手法を選択することをお勧めします。
さらに、Cachéのメリットは、各種アクセス手法を適宜使い分けることにより、アプリケーション開発を最適化できる点にあることをご理解いただけたら幸いです。
Question : 015
Cachéは様々なアクセス手法をサポートしていると書かれています。これらの複数のアクセス方法を、同時に使用することは可能ですか?
はい、もちろん可能です。
Cachéはひとつのデータに対して、SQLアクセス、オブジェクトアクセス、多次元アクセスのアクセス手法を提供しています。
これらはもちろん同時に使用することができます。
Question : 017
Cachéでオンラインバックアップは出来ますか?
出来ます。
詳細は、以下をご参照下さい。
Question : 018
なぜフラグメントが発生しにくいのですか?
Cachéでは、後ほど高速にアクセスできるように、ある一定の規則に則り、データはキー順にソートされて格納されます。
新しいノードが追加された場合、あるいはノードが削除された場合、データの長さが変更された場合など、その並び順を維持できる様、動的な並び替えをデータの構造変化が起こるたびに実施します。
従って、常にデータは、きれいに詰まった状態で格納されるため、無駄な空き領域がほとんど発生しません。
これらの並べ替えの作業は、書き換えのコストのかかる処理ですが、Cachéでは、これらの処理はなるべくメモリー(キャッシュ)上で行なわれ、ディスクI/Oを軽減することにより、性能の劣化を抑えています。
Question : 164
エプソンのプリンタに①などの文字を印刷すると文字化けが発生します。
Widnowsで標準的に使われる漢字コードSJIS上には、JISの第一水準、第二水準に含まれない「NEC特殊文字」「IBM拡張文字」「NEC選定IBM拡張文字」という漢字コードの割り当てを含んでいます。
エプソンのプリンタは、ESC/Pという規格のもと、プリンタの制御が可能ですが、漢字コードは、基本的にJISに準拠しています。
従って、Cachéから直接エプソンプリンタに日本語を出力する際には、漢字コードをJISにしてUnicodeとJISのコード変換を行なう必要があります。
ところが、①などの文字は、上記の第一、第二水準には含まれませんので、Cachéが標準で用意しているJIS変換テーブルには、定義が含まれていません。
その結果、変換が行なわれず、正しく表示されません。
正しく表示する方法については、インターシステムズのカスタマーサポートセンターまでお問い合わせ下さい。
Question : 172
評価版にライセンスが登録できません
フリーダウンロードのページからダウンロードしたCachéは、評価用のライセンスキーが内部に組み込まれたものとなっているため、正式ライセンスを登録することはできません。
正式ライセンスを登録するには、製品版のCachéのキットをインストールする必要があります。
Question : 195
Cachéとの運用実績のあるシステム管理製品はありますか?
以下のシステム管理製品と運用実績があります。
・ JP1
・ BMC/Patroll
・ 千手
その他、Cachéとシステム管理製品を連携させる方法は、スクリプト起動、ファイルによるデータ交換、SNMP通信など様々な方法が考えられます。
上記以外のシステム管理製品との連携に関しては、カスタマーサポートセンターまでお問い合わせ下さい。
Question : 196
セキュリティ機能とライセンスタイプの関係について
Cachéのライセンスタイプには、適用システムの規模に応じてEntree,Elite,Enterpriseの3タイプがあります。
Cachéのセキュリティ機能の中で、以下の機能は、ライセンスタイプElite以上が必要です。
・Kerberos/LDAP
・データベース/ジャーナル暗号化
・SSLネットワーク機能
ライセンスタイプの詳細は、インターシステムズ営業部までお尋ね下さい。
Question : 219
Cachéのプラットフォーム別利用状況を教えてください
Cachéのプラットフォーム別導入状況(台数ベース)は、以下の通りです。(2008年時点)
| Windows | 32% |
| UNIX | 37% |
| OpenVMS | 25% |
| Linux | 5% |
| Mac OS X | 1% |
Question : 231
CachéのOSサポートバージョンについて教えてください
CachéのサポートOS対応表は、以下を参照してください。
http://www.intersystems.com/cache/technology/product-tables/archive-prodlist.html
Question : 232
Windows サービスパックの対応について
インターシステムズは、特定のオペレーティングシステムのパッチやサービスパックに対して、製品の検証は実施しておりません。
これらの保証については、オペレーティングシステムベンダーが互換性を保証する限りにおいて、提供されます。
まれなケースで、インターシステムズの製品を稼動するために、特定のパッチやサービスパックを必要とするケースもあります。
その様な特別な状況の詳細は、サポートサーバープラットフォームに明記しています。
http://www.intersystems.com/cache/technology/product-tables/archive-prodlist.html
明記されていない場合には、オペレーティングシステムベンダーが互換性を保証する限りにおいて、パッチやサービスパックもサポート対象となります。
Question : 233
Cachéライセンスのコア数制限について
Cachéのライセンスタイプにより、サーバーのサポート可能なCPU数とコア数が決まっています。
現時点(2010年4月)では、
ライセンスタイプ 最大CPU、コア数
-------------------------------
Entree 2CPU、8コアまで
Elite 4CPU、16コアまで
Enterprise 制限なし
です。
但し、この制限ルールは時代とともに変遷してきた経緯があり、今後も変更される可能性があります。
このルールは、お使いのバージョンに関係なく適用されますが、Cachéの各バージョンは、そのバージョンがリリースされた時点での最大サポート数をチェックしていますので、Caché本体の対応状況と、現時点でのライセンス上のルールとが合致しないケースがあります。
その結果、古いバージョンを使用している場合、ご提供している正式ライセンスでは、稼動できないという状況が発生する可能性があります。
その様な場合は、お手数ですが、弊社営業部までお問い合わせください。
※古いシステムの場合には、上記ルールを適用するための条件として保守契約の継続が必要です。
Question : 235
Cachéのバージョンサポートポリシーについて
現時点のサポートバージョンは、以下より参照することができます。
http://www.intersystems.com/cache/technology/product-tables/prodversion.html
このリストに記述されていないバージョンに関しては、
- メール、お電話等の通常のお問い合わせは受け付けます。
- 出来うる限りの対応を努力しますが、そのバージョンでの対応が出来ず、最新バージョンへのアップグレードによる問題解決をご提案させていただく場合がございます。
弊社は、以下の理由により、出来うる限り、最新バージョンへアップグレードしていただくことをお勧めしております。
- インターシステムズでは、定期的に内部のコードレビューを実施しており、その結果、発見された機能不全等を適宜、最新バージョンに取り込んでいます。
- 過去にお客様先で発見された障害への対応は、順次新バージョンに取り込んでいきます。障害の性質によっては、非常に大規模な改造となり、旧バージョンへの取り込み(バックポート)が不可能なものもございます。
- 古いバージョンに対し、新バージョンに追加されたバグフィックスを取り込むこと(バックポート)は、非常に困難なケースが多く、新たな副作用を生む可能性が高くなります。
- 開発をより迅速に行うための便利な機能等、新機能の恩恵を受けることができます。
- 新しいバージョンは以前のバージョンよりも性能が高くなければならない、というのがインターシステムズの開発のポリシーですので、バージョンが新しくなるにつれ、アプリケーションの性能向上が期待できます。
- 日々品質向上に向け努力を続けております。 結果として最新バージョンの品質は以前のバージョンに比べて高いことが期待できます。
- ハードウェア、オペレーティングシステムの新バージョンへの対応は、最新のCachéバージョンが優先されます。
Question : 236
Windows Serverのリリースの違いは、Cachéのサポートバージョンに影響しますか?
インターシステムズは、特定のオペレーティングシステムのバージョンの特定リリースに対して、製品の検証は実施しておりません。
特定リリースとは、例えば、Windows Server 2003 R2やWindows Server 2008 R2などを指します。
これらの保証については、オペレーティングシステムベンダーが互換性を保証する限りにおいて、提供されます。
特別な状況の詳細は、サポートサーバープラットフォームに明記しています。
http://www.intersystems.com/cache/technology/product-tables/archive-prodlist.html
明記されていない場合には、オペレーティングシステムベンダーが互換性を保証する限りにおいて、特定リリースもサポート対象となります。
Question : 237
Cachéの古いバージョンの購入はできますか
Cachéのライセンスを購入いただくことは、使用権の許諾に対する対価をお支払いいただくことを意味します。
その許諾の条件にバージョンは含まれておりません。
従いまして、ライセンスをご購入いただくと、購入時点での最新バージョンを含む以前の任意のバージョンのご使用が可能です。
しかしながら、ご購入時点でのサポート可能バージョン、Cachéが稼動する環境(サーバーの機種およびオペレーティングシステム)により、実際にご使用できるバージョンには限りがある点、ご理解いただけたら幸いです。
*参考トピック*
ID231:CachéのOSサポートバージョンについて教えてください
http://www.intersystems.co.jp/support/faq/general/index.html#ID231
ID235:Cachéのバージョンサポートポリシーについて
http://www.intersystems.co.jp/support/faq/general/index.html#ID235

