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

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

データベースの保存方法によって、データベース操作の効率が決まります。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 セットアップノート: 負荷分散アルゴリズム

ブログ    
ブログ    

推薦する

機械学習に必要な確率論の基礎

この記事を読んでいただければ、確率の基本原理を機械学習に応用できる可能性が 100% あります。機械...

軍事用AIは普及するだろうか?公共の安全を重視すべきか、住民のプライバシーを重視すべきか?

[[227907]]ここ数カ月、軍事用AIと能動攻撃兵器の問題が話題になっており、多くのAI研究者...

...

Python 機械学習でプログラミングスキルを向上させる方法

この記事では、Packt の『Python Machine Learning, 3rd Editio...

労働者は大きなモデルに遭遇します。外の世界はすでにこのように機能しているのでしょうか?

オフィスのシナリオでは、PPT の作成は最も一般的なタスクの 1 つです。業務報告、製品発表、イベン...

顔認証決済は時代遅れですか?アマゾンはわずか0.3秒で手動支払いをテストした

北京時間9月4日の朝のニュース、ニューヨークポストによると、アマゾンのエンジニアは店内での買い物の精...

...

...

ロボットは共感を持つことができるか?感情AIはどれくらい使えるのか?

ポータブル AI アプリケーションといえば、まず Siri、Alexa、Google Assista...

2020年世界人工知能会議が開催されます! AI が人間の言語の高度な能力をいかにして習得するかをご覧ください。

2020年7月9日、2020年世界人工知能大会(WAIC)クラウドサミットが正式に開幕しました。I...

銀行業界の「退化」の原因は人工知能なのか?

公開データによると、商業銀行は2021年も支店の閉鎖を続けた。11月までに商業銀行は2,100以上の...

第四次産業革命:人工知能

人工知能 (AI): 私たちの日常生活、生き方、他者との関わり方に根本的な変化がもたらされるのは、第...

Adobe、フォトショップで加工された人間の顔を自動検出できるAIツールを開発

偽の動画や画像の拡散に対する懸念は世界中で高まっており、Adobe もその懸念を共有していると述べて...

世界錬金術時代が始まった? MIT、住宅や道路を無制限のバッテリーに変える「カーボンセメント」スーパーキャパシタを開発

おそらく今回、私たちは本当に人類の歴史における特異点に立っているのかもしれない。最近、MIT のカー...

RFID技術によるスマート製造

RFID 技術は、識別距離が長く、速度が速く、干渉に対する耐性が強く、複数のターゲットを同時に識別で...