Verticaは、高い検索パフォーマンスを実現する「DWH/ビッグデータ活用」に特化したデータベースです。
集計/分析処理の高速化に特化するアーキテクチャで、一般的なデータベースにありがちな課題を解決します。
目次
データ活用基盤(DWH、ビッグデータ基盤)を取り巻く現実
データ活用基盤に対しては、常に以下のような要求が突き付けられています。
これらの要求に一般的なデータベースで対応すると、以下のような課題が浮上してきます。
DWHは基幹系データを蓄積するため、年々データ量が増え続け、検索レスポンスは日々悪化傾向にあります。そのため、インデックスや集計表を作成したり、ハードウェアを増強するなど、パフォーマンスを維持するためのコストも増え続けます。また、その対応に追われ、新たなユーザー要件(レポート作成など)への対応も遅れがちです。
これがビッグデータ基盤ともなれば、DWHを遥かに凌駕するスピードでデータは増え続け、人手によるパフォーマンス・チューニングではとても対応することはできません。
Verticaのアプローチ
Verticaが目指したのは「パフォーマンス」と「コスト」の両立です。
パフォーマンスは、DWHアプラインスの導入や、一般的なデータベースでもDWH専用機能の導入やフルチューニングを施せば実現可能です。しかし、そのためには膨大なコストが必要になります。
Verticaであれば、先程の課題を以下のように解決します。
こちらは、汎用的なデータベースと検索性能を比較したベンチマーク結果のグラフです。
Verticaは、一切のチューニングを行わず、データをロードしただけで、従来のデータベースでは実現できなかった高速パフォーマンスを発揮します。
Verticaの特長
速いだけじゃないVerticaの特長について、簡単にアーキテクチャを交えながらご紹介します。
列指向
列指向型データベースであるVerticaは、列単位でデータを格納し、必要な列だけを読み込むため、ディスクI/Oを劇的に削減します。また、列指向に最適化されたDBエンジンを搭載しており、従来のリレーショナル・データベースに比べ、クエリを50~1,000倍高速化します。
データ圧縮
データの属性に応じた最適な圧縮アルゴリズムにより、データを最大90%圧縮します。さらに、圧縮した状態で内部演算処理をするため、物理ストレージの容量を更に削減します。
超並列アーキテクチャ
シェアードナッシング方式により、汎用PCサーバー1台からリニアな性能向上を実現します。また、すべてのノードが同じ役割を実行するため、ノードの拡張時にオーバーヘッドが発生しません。
高可用性
Verticaは、3ノード以上の構成でレプリカを保持することができます。また、自動レプリケーションにより、障害が発生した場合でも、サービスをそのまま継続させることが可能です。
自動チューニング
対話形式のGUIツール(Database Designer (略記:DBD))を利用することで、データ圧縮や列の並び替えなど、検索に最適なデータ配置を短時間で自動的に行います。
高速データロード
Verticaにデータをロードする場合は、SQLを書かずにそのままディスクに書き込むバルクロードを使用することで、大量データを高速にロードすることができます。
同時実行制御
Verticaは、マスターノードを持たない真のMPP(超並列処理)アーキテクチャのため、すべてのノードでリクエストの受付ができ、同時処理によるボトルネックがありません。そのため、複数の利用者が同時に利用する環境でも、特定のクエリがシステム全体に影響を与えないよう、効率的にクエリを並列処理します。
また、リソースプールと呼ばれる、CPUやメモリー、同時実行数などを制御できるプールが作成でき、ユーザー単位、セッション単位でのリソース制御も可能です。
GUIベースの管理ツール
Verticaでは、CUIベースの管理ツール(Administration Tools)のほか、GUIベースの管理ツール(Management Console)も標準提供されます。そのため、クラスターのリソース状況やデータベースの管理、アクセスが集中する時間帯やサーバ負荷が高い時間帯のドリルダウン、重いクエリの発見やピークタイムの傾向分析などが各種Webブラウザ上で可能となります。
標準的なSQLインターフェース
ANSI SQL99に準拠し、JDBC/ODBC/ADO.netの各ドライバに対応しているため、WebFOCUSやDMExpressといったアシスト取扱製品はもちろん、TableauやBusiness Objects、Talend、Infomaticaなどの他社BI/ETL製品との連携もスムーズです。
ビッグデータ分析
半構造化データの取り込みやHadoopなどのデータレイクとの連携、空間解析などの豊富な分析関数や機械学習アルゴリズムによる高度な分析など、IoT/ビッグデータ時代の分析を超高速に実行します。