データベース列ストレージ: 最適な圧縮アルゴリズムを設計するための近道

データベース列ストレージ: 最適な圧縮アルゴリズムを設計するための近道

データベースの保存方法によって、データベース操作の効率が決まります。51CTO データベース チャネルでは、「データベース パフォーマンスの最適化とデバッグ」トピックをお勧めします。

実際、列ストレージは新しい概念ではありません。1985 年にはすでに、SIGMOD カンファレンスの記事「分解ストレージ モデル」で、DSM (分解ストレージ モデル) が比較的詳細に紹介されていました。Sybase は、2004 年頃に列ベースのストレージ Sybase IQ データベース システムを開始しました (200 VLDB の記事「Sybase iq multiplex - 分析用に設計」を参照)。これは主に、オンライン分析やデータ マイニングなどのクエリ集約型アプリケーションに使用されます。

列ストレージ (略称 DSM) は、次の図に示すように、DSM がすべてのレコード内の同じフィールドのデータを集約するのに対し、NSM (N 項ストレージ モデル) は各レコード内のすべてのフィールドのデータを集約するという点で NSM とは異なります。

列ストレージの利点は何ですか?

私の知る限り、列ストレージには主に 2 つの利点があります。

1) 各フィールドのデータを集約して保存すると、クエリに必要なフィールドが少数の場合に、読み取るデータの量を大幅に削減できます。C-Store と MonetDB の著者による調査と分析によると、クエリを多用するアプリケーションの特徴の 1 つは、クエリが通常、少数のフィールドのみを対象としていることです。対照的に、NSM では、毎回レコード全体を読み取る必要があります。

2) フィールドのデータは集約された形式で保存されるため、この集約されたストレージに対してより優れた圧縮/解凍アルゴリズムを設計することが容易になります。

列ストレージはいつ使用するのに適していますか?

OLAP、データ ウェアハウス、データ マイニング、その他のクエリ集約型アプリケーション。もちろん、列ストレージデータベースは更新操作がまったくできないわけではありません。実際、更新操作のパフォーマンスはそれほど悪くなく、一般的には十分です。ただし、一方では独自のクエリパフォーマンスほど良くなく、他方ではOLTPに特化したデータベースであるOracleほど良くないため、一般的には言及されません。

列ストレージが適さないのはどのような場合ですか?

相対的に言えば、挿入や削除の操作が頻繁に行われる状況では特に、OLTP や更新操作には適していません。

1980 年代に登場したコンセプトがなぜ今再び注目を集めているのでしょうか?

2005 年に、M. Stonebraker という老人が書いた VLDB に関する記事 (「One Size Fits All - An Idea Whose Time Has Come and Gone」) がありました。この記事では、時代は変わり、1 つのデータベース製品で世界を統一できると期待していた時代は永遠に過ぎ去ったことを明確に指摘していました。それで、この老人は2005年頃にC-Storeというカラムストア型データベースのプロトタイプシステムを作りました。VLDBやSIGMODなどの主要な国際会議で何度も講演した後、何人かの人を集めてVerticaという会社を立ち上げ、それを商品化し、データウェアハウスやオンライン分析などの市場に注力しました。最近かなり人気があるようです。ちなみに、この老人は上記のアイデアを実現するために、同時にH-Storeというメインメモリ型データベースのプロトタイプシステムも作りました。あまり講演せずに、何人かの人を集めてVoltDBという会社を立ち上げ、それを商品化し、オンライントランザクション処理に注力しましたが、最近はあまりうまくいっていないようで、これはOracleのボスと直接対立しているのかもしれません。

これは、1970 年代にリレーショナル データベース管理システムの実装をリードし、無数のスパムがあった Ingres を作成した M. Stonebraker を彷彿とさせます。このプロトタイプ システムに基づいて、Sybase、Microsoft SQL Server、NonStop SQL、Informix など、多くの商用データベース ソフトウェアが開発されました。いわゆる最先端のオープン ソース データベース システムである PostgreSQL も、Ingres の後継ブランチです。

元のタイトル:列ストレージ技術について

リンク: http://www.cnblogs.com/happyy/archive/2010/04/26/1721481.html

【編集者のおすすめ】

  1. Oracle ストアド プロシージャの作成経験の概要
  2. ストレージ構造: Oracle 論理ストレージ構造
  3. 次世代データストレージアーキテクチャの包括的な概要
  4. SQL Server ストアド プロシージャの命名規則
  5. スクリプトを使用して DB2 ストアド プロシージャの開発を高速化する

<<:  SCO Unix ディスク ブロック割り当てアルゴリズム

>>:  LVS セットアップノート: 負荷分散アルゴリズム

ブログ    

推薦する

マイクロソフトが大きなマイルストーンを発表:中国語から英語への機械翻訳が人間の翻訳に匹敵するようになった

最近、マイクロソフトリサーチアジアの公式サイトから、同社の研究チームが、同社が開発した最新の機械翻訳...

AIは古い文化的シンボルを解体し革新することはできない

1950 年代後半から 1960 年代前半にかけて、一群の芸術家と作家がパリの荒廃したホテルに移り住...

テスラの自動操縦装置が別の人をはねて死亡させ、被害者の家族が訴訟を起こす

電気自動車メーカー、テスラの自動操縦機能に関連する死亡事故がまた発生した。被害者は高速道路脇でモデル...

...

機械学習で避けるべき3つの落とし穴

[[274438]]機械学習の分野は数十年にわたって「タンク問題」に悩まされてきました。この話は 1...

ヤン・ルカンのチームの新しい研究結果:自己教師あり学習のリバースエンジニアリング、クラスタリングはこのようにして達成されることが判明

自己教師あり学習 (SSL) は近年大きな進歩を遂げており、多くの下流タスクにおいて教師あり学習法の...

...

人工知能と機械学習がスタートアップに与える影響

人工知能 (AI) と機械学習 (ML) は、スタートアップを含む複数の業界に革命をもたらしました。...

MITとIBMが共同で「コンピュータービジョンの黄金時代に備える」ための新しいデータセットを発表

人工知能の分野における画像分類問題に関して言えば、トレーニングとテストに最もよく使用されるデータセッ...

このAIは、監視カメラを素早く検索し、重要なシーンを見つけ、24時間のビデオを10分で処理するのに役立ちます。

1月23日のニュース、今日では、ビデオ監視の存在により、過去には検証が困難だった多くの事実を記録す...

Google Bardは「防御を突破」し、自然言語を使ってロックを解除、インジェクションによるデータ漏洩のリスクを示唆

大規模言語モデルは、テキストを生成する際にプロンプ​​トワードに大きく依存します。この攻撃技は、プロ...

人工知能とモノのインターネットがスマートライフを推進

AI と IoT テクノロジーがスマート シティにどのような革命をもたらしているか。人工知能 (AI...

詳細な分析: AI がイノベーションを容易にする方法

開発手段。イノベーションの結果は、企業が市場のニーズを満たす新製品を継続的に設計・生産することを奨励...

文脈学習 = 対照学習?人民大学が ICL 推論の背後にある暗黙の更新メカニズムを明らかに: 勾配は更新されるのか? 「さらに」

近年、Transformer に基づく大規模言語モデルは、驚くべきコンテキスト内学習 (ICL) 機...