web-dev-qa-db-ja.com

インメモリOLAPは、大量のメモリを持つ従来のシステムと比べてどのような利点がありますか?

インメモリOLAPエンジンは、キューブ全体を格納するのに十分なOLAPに裏打ちされた従来のRAMエンジンよりも優れていますか?

たとえば、MOLAPエンジン(SSAS)とGB/TB of RAMを使用する場合、キューブ全体(またはスタースキーマ)もRAMに常駐します、TM1/SAP HANAのようなものと比較した場合の違いは何ですか?

8
kermatt

メインメモリに完全に常駐することを前提に設計されたデータベースでは、 Tツリーインデックス などの構造を使用できます。しかし、本当の利点は、IMDBが単純になることです。キャッシュの管理や、一貫性のための 書き込みのシリアル化 、またはまったくACID準拠のI/Oに関係することを心配する必要がないため)、実行する命令が少なくなります。同じ「作業」を実行するためのハードウェア。汎用データベースは、すべての人にとってすべてのものでなければなりません。 Leatherman のように12種類のツールがありますが、最先端のものが必要な場合があるため、 Cold Steel からブレードを購入し、それが優れていることについて誰も議論しませんナイフ!

4
Gaius

私の専門分野ではありませんが、私が理解しているように、いわゆるインメモリOLAPデータベースの大多数の違いです(私が好む用語ではありません。それはマーケティングピッチとしてより多く使用されています)テクノロジーの公平な比較として)は 列ストアインデックス です。

列ストアと行ストア(実際にはどのように異なるか) は、従来のOLTP and OLAPデータベース構造。

4

列ストアインデックスは、SQL Server 2012(別名 'Denali')で表示されます。

この新しい機能をカバーするSQL ServerクエリプロセッサチームのプリンシパルソフトウェアアーキテクトであるConor CunninghamによるPower Pointプレゼンテーションへの link は次のとおりです。

4
briancarrig

列ストアでは、行ストアシステムでは不可能な方法で大幅なデータ圧縮が可能です。基本的に、列のすべての値はディクショナリに1回だけ格納され、DBは元の値の代わりに整数のディクショナリキーを格納します。メモリ内に行ストアDBがある場合、メモリのコストは非常に大きく、実用的ではありません。パフォーマンスが大幅に向上したため、トランザクションデータを事前に集計する必要がなくなり、ほとんどの場合、キューブは不要になります。

また、列ストアはすべての列値をシーケンシャルメモリブロックに保持するため、スキャンのようなSelectなどの操作でスキップするブロックが少なくなります。ただし、列ストアにはトランザクション的にいくつかの欠点があり、HANAはたとえば、新しいバージョンで行ストアテーブルを追加しました。

0
meatcomputer