Skip to main content
QUICK REVIEW

[論文レビュー] The Vertica Analytic Database: C-Store 7 Years Later

Andrew Lamb, Matt Fuller|arXiv (Cornell University)|Aug 21, 2012
Advanced Database Systems and Queries参考文献 15被引用数 26
ひとこと要約

この論文では、C-Store研究プロトタイプから進化した商用の分散型、大規模並列処理分析データベース、Verticaを提示する。Verticaは、列指向ストレージ、ベクタ化クエリ実行、適応的圧縮、共有なしアーキテクチャを活用することで、ペタバイト規模の分析ワークロードにおいて高いパフォーマンスを達成し、現代のRDBMSシステムが標準SQLインタフェースを維持したままウェブスケールのパフォーマンスを提供できることを示している。

ABSTRACT

This paper describes the system architecture of the Vertica Analytic Database (Vertica), a commercialization of the design of the C-Store research prototype. Vertica demonstrates a modern commercial RDBMS system that presents a classical relational interface while at the same time achieving the high performance expected from modern "web scale" analytic systems by making appropriate architectural choices. Vertica is also an instructive lesson in how academic systems research can be directly commercialized into a successful product.

研究の動機と目的

  • C-Storeにおける学術的研究が、スケーラブルで生産環境対応の分析データベースシステムに成功裏に商業化された方法を示すこと。
  • 現代の大型分析ワークロードを処理する際、従来のOLTP最適化RDBMSのパフォーマンス制限を解決すること。
  • 現代的で分散型、共有なしアーキテクチャのRDBMSが、ペタバイト規模のデータ処理においても高いパフォーマンスを発揮し、完全なACID準拠とSQLインタフェースを維持できることを示すこと。
  • 本番環境での実際の導入および実装の教訓を共有し、将来的な大規模分析システムの研究に貢献すること。

提案手法

  • 分析クエリが多数のタプルをスキャンするのを最適化するため、コラムストレージモデルを採用する。
  • SIMD並列処理を活用し、CPU命令オーバーヘッドを低減するため、ベクタ化クエリ実行を実装する。
  • ランレングスエンコード(RLE)、ディクショナリエンコード、圧縮前のソーティングを含む、適応的圧縮技術を用いて、ストレージとI/Oを削減する。
  • ノード追加に伴い線形にスケーラブルで、ネットワークボトルネックを回避する、共有なしで大規模並列処理アーキテクチャを設計する。
  • ダウンタイムやクエリ一時停止なしに、データロード、メンテナンス、スキーマ変更などのオンライン操作を可能にする。
  • 物理設計、インデックス、ストレージ管理の自動化により、運用負荷を低減するため、使いやすさを最優先する。

実験結果

リサーチクエスチョン

  • RQ1商用RDBMSシステムは、標準SQLインタフェースを維持したまま、分析ワークロードでウェブスケールのパフォーマンスを達成できるか?
  • RQ2ペタバイト規模のデータ処理において、分散型、共有なしデータベースシステムが線形スケーラビリティを実現するためのアーキテクチャ的選択肢は何か?
  • RQ3行指向設計と比較して、コラムストレージ、圧縮、ベクタ化実行は、分析システムのパフォーマンス向上とI/O削減にどの程度寄与するか?
  • RQ4本番環境での実際の導入事例は、学術的プロトタイプをはるかに超える大規模分析データベースの設計と進化に、どのように貢献するか?
  • RQ5現代的で完全にACID準拠のRDBMSは、リレーショナルな意味論を維持したまま、NoSQLシステムを分析ワークロードで上回れるか?

主な発見

  • 100万個のランダム整数に対して、Verticaはコラムストレージエンコードと圧縮により、元のCSV形式の7.5 MBを0.6 MBにまで圧縮し、12.5倍の圧縮比を達成した。
  • 2億件の顧客レコードについて、Verticaはデータを418 MB(1レコードあたり2.1バイト)に圧縮したが、元のCSV形式では6200 MB、gzip圧縮でも1050 MBであったため、顕著なストレージ削減が確認された。
  • 圧縮前にデータをソートすることで、顧客データセットのサイズが418 MBにまで削減され、個々のカラム(例:Metricは5 KB、Meterは35 MB)はRLEにより高い圧縮率を達成した。
  • データロードおよび複雑な分析クエリの両方において、高いパフォーマンスを発揮し、バッチロードレートが同時に実行されるクエリのボトルネックにならなかった。
  • Verticaのアーキテクチャにより、Linux搭載のコンmodity x86-64サーバーとギガビットイーサーネットを用いて、コンmodityサーバー上で線形スケーリングが可能であり、共有ストレージのボトルネックを回避できた。
  • 500件以上の本番環境での導入実績、中にはペタバイト規模を超えるものも含まれており、現代的で分散型、コラムストレージ型RDBMSシステムの商業的・技術的妥当性が裏付けられた。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。