新しくなったTeradata 14の新機能
もともとTeradataというデータベースはシェアードナッシングを採用した"Parallel Everything"な、データウェアハウジングに特化した並列処理型RDBMSである。サーバ間でリソースを共有しないため、I/Oボトルネックが発生しにくく、したがって高速なクエリ処理が可能となっている。またワークロードの緊急性や重要性に応じて、リソースを柔軟に振り分けることも可能だ。加えてペタバイト級のデータでも容易に扱えるスケーラビリティの高さも大きな特徴のひとつだ。また、あまり知られていないがIntelアーキテクチャ+SLES(SUSE Linux Enterprise Server)というオープンなプラットフォーム上で稼働するため、既存のIT環境や業務アプリケーションとの連携も容易となっている。
新しくなったTeradata 14ではいくつもの新機能が実現されている。以下、主なポイントを挙げておく。
- Teradata Columnar
- Compress on Cold
- アプリケーションマイグレーション
- 行レベルセキュリティ
- テンポラリ(オンデマンド)な拡張性
このうち、オプションではあるがビッグデータ処理を見込んだ非常に画期的な機能である「Teradata Columnar(以下、Columnar)」と、データの"温度"に応じてインテリジェントな圧縮/解凍を行う「Compress on Cold」について取り上げたい。
Teradata Columnar
Columnarは行または列ベースの高速かつ高密度なデータストレージ機能だ。各テーブルはTeradataデータベース内の行(ロー)、列(カラム)、または行と列がミックスしたフォーマットにストアされる。つまり同じデータベース内に、ハイブリッドを含む複数のタイプのテーブルを作成することができ、分析アプリケーションに応じて最適な形でデータをストアできる。行ベースのみの場合に比べて、クエリ検索のパフォーマンスとデータ圧縮が大幅に向上する点が最大の特徴だ。この"ハイブリッドカラムストレージ"を実現しているのは、現時点ではTeradataだけである(Oracleはカラム圧縮は可能だが、カラムストレージは実現していない)。
データ圧縮には6つのアルゴリズムを採用しており、データに応じて自動で動的に選択される。
- ランレングス
- 辞書圧縮
- トリム(trim)
- デルタ圧縮(Delta on Mean)
- Null
- UTF8
圧縮率はデータの性質に大きく依存するので一概にはいえないが、たとえばランレングス+辞書圧縮の2段階で適用することで、もとのデータ量に比べ80%以上の圧縮が可能となっている。
Columnarはパーティショニングにハッシュではなくラウンドロビン方式を利用する。TeradataはこれをNoPI(Primary Index)と呼んでおり、アペンドオンリーとして機能を提供している。これによりストレージの自動圧縮のI/O負荷を大幅に軽減し、レスポンスタイムの劇的な向上が実現するという。
TeradataはColumnarの提供を2011年12月から開始するとしている。