インメモリOLAPエンジンは、キューブ全体を格納するのに十分なOLAPに裏打ちされた従来のRAMエンジンよりも優れていますか?
たとえば、MOLAPエンジン(SSAS)とGB/TB of RAMを使用する場合、キューブ全体(またはスタースキーマ)もRAMに常駐します、TM1/SAP HANAのようなものと比較した場合の違いは何ですか?
メインメモリに完全に常駐することを前提に設計されたデータベースでは、 Tツリーインデックス などの構造を使用できます。しかし、本当の利点は、IMDBが単純になることです。キャッシュの管理や、一貫性のための 書き込みのシリアル化 、またはまったくACID準拠のI/Oに関係することを心配する必要がないため)、実行する命令が少なくなります。同じ「作業」を実行するためのハードウェア。汎用データベースは、すべての人にとってすべてのものでなければなりません。 Leatherman のように12種類のツールがありますが、最先端のものが必要な場合があるため、 Cold Steel からブレードを購入し、それが優れていることについて誰も議論しませんナイフ!
私の専門分野ではありませんが、私が理解しているように、いわゆるインメモリOLAPデータベースの大多数の違いです(私が好む用語ではありません。それはマーケティングピッチとしてより多く使用されています)テクノロジーの公平な比較として)は 列ストアインデックス です。
列ストアと行ストア(実際にはどのように異なるか) は、従来のOLTP and OLAPデータベース構造。
列ストアインデックスは、SQL Server 2012(別名 'Denali')で表示されます。
この新しい機能をカバーするSQL ServerクエリプロセッサチームのプリンシパルソフトウェアアーキテクトであるConor CunninghamによるPower Pointプレゼンテーションへの link は次のとおりです。
列ストアでは、行ストアシステムでは不可能な方法で大幅なデータ圧縮が可能です。基本的に、列のすべての値はディクショナリに1回だけ格納され、DBは元の値の代わりに整数のディクショナリキーを格納します。メモリ内に行ストアDBがある場合、メモリのコストは非常に大きく、実用的ではありません。パフォーマンスが大幅に向上したため、トランザクションデータを事前に集計する必要がなくなり、ほとんどの場合、キューブは不要になります。
また、列ストアはすべての列値をシーケンシャルメモリブロックに保持するため、スキャンのようなSelectなどの操作でスキップするブロックが少なくなります。ただし、列ストアにはトランザクション的にいくつかの欠点があり、HANAはたとえば、新しいバージョンで行ストアテーブルを追加しました。