はじめに

Verticaのマイナーバージョン「9.2」がリリースされましたので、主な新機能と強化された機能の概要をご紹介します。

Vertica 9.2 の主な新機能/機能強化

パフォーマンス向上

複数のライブアグリゲートプロジェクションのリフレッシュ高速化

これまでのバージョンでは、オプティマイザは高速プランを使用して、単一のライブ・アグリゲーション・プロジェクション(LAP)をもつテーブルの更新を実施していました。ただし、複数のLAPを持つテーブルの更新操作では、高速プランを使用することはできませんでした。

9.2 では、オプティマイザは、各テーブルLAPに対して個別のトランザクションとしてリフレッシュ操作を適用し、各LAPに高速プランを適用します。
これにより、複数のLAPがあるテーブルをリフレッシュするために必要な時間が大幅に短縮されます。

カタログアーキテクチャの仕様変更による大幅なメモリ消費サイズの削減

Vertica 9.2 では、ROSストレージコンテナーを追跡するために維持するメタデータの量を統合することにより、データベースカタログが消費するメモリ量を大幅に削減します。

Management Console(MC)機能の強化

過去バージョンで作成したデータベースをアップグレード

Management Console から Eon モードの Vertica クラスタを作成、またはリバイブする際、Linux の OS と Vertica データベースバージョンをリストから選択できるようになりました。
データベースの再起動時、既存データベースのバージョンよりも高いバージョンの Vertica を選択すると、選択した Vertica のバージョンに合わせてデータベースがアップグレードされます。

※アップグレードを実施すると、データベースの起動に時間がかかることがあります。
※アップグレードを行わない場合は、元のデータベースの Vertica バージョンを選択します。一度、アップグレードを実施するとダウングレードすることはできません。

EBS ボリュームの暗号化

AWS のインスタンスタイプ c4、r4、および m4 は、EBS ボリュームをオプションで暗号化することが可能です。AWS EBS 上で透過的に暗号化・復号化を利用可能です。

異なるサブネット、セキュリティグループの Vertica クラスターの監視

これまでのバージョンでは、同一サブネット上の Vertica クラスターしか運用監視できない制限がありました。
9.2 では、異なるサブネット、セキュリティグループをもつ Vertica クラスターの監視が行えるようになりました。

TLS 1.1 以前の接続を無効化する設定

9.2 では、TLS 1.0、および 1.1 を使用したブラウザ接続を無効化することが可能です。これによって、よりセキュアな運用が可能となりました。


ロードバランシング

クライアント接続のロードバランスを柔軟にカスタマイズ

これまでのバージョンでは、ロードバランス設定をしているネットワークセグメントと異なるセグメントからアクセスした場合に、適切にロードバランスをすることができませんでした。
9.2 では、セグメント単位で柔軟にロードバランスが行えるよう改善されました。

機械学習

機械学習アルゴリズムのトレーニングで利用できるデータ型を追加

これまでのバージョンでは、機械学習アルゴリズムごとに利用できるデータ型に制限があったため、アルゴリズムごとにトレーニング用のテーブルを準備する必要がありました。
9.2 では、その点が改善されており、予測精度の向上やトレーニング用テーブルを複数用意する煩雑さが解消されています。

データベース管理

Reflexive Mergeout による柔軟な ROS ファイルの処理

これまでのバージョンでは、マージアウト処理の実行契機は一定間隔(デフォルトでは10分に1回)のチェックを行い、予め決められた ROS コンテナ数を超えるとマージアウト処理が実行されていました。
9.2 では、上記に加え、DMLコミット(ROS コンテナが増えるタイミング)の際にもチェックを行い、必要に応じてマージアウト処理が実行されます。
これにより、カタログデータへの過剰なアクセスや、ROS プッシュバックと呼ばれる ROS コンテナ上限数に達することによるエラーの発生が軽減されています。

テーブル・データ管理

SET USING Columns を使用したライブアグリゲートプロジェクションのリフレッシュ

ライブアグリゲートプロジェクションで指定した SET USING 列で REFRESH_COLUMNS … REBUILD が利用できるようになりました。

外部テーブルにおける STRUCT 型のサポート

外部テーブルを定義するときに、ORC ファイルと Parquet ファイルの STRUCT 型の読み取りをサポートするようになりました。

ユーザー拡張関数

Python UDL のフィルター、パーサーのサポート

UDFilter、UDParser などの Python UDL のフィルター機能、パーサー機能をサポートするようになりました。

システムテーブル

CATALOG.VIEW_TABLES、VIEW_TABLES を追加

VIEW_TABLES は、ビューが参照するテーブル、そのスキーマ、所有者など、ビュー関連の依存関係に関する詳細を表示します。オブジェクトを変更または削除する前にこのテーブルを参照して、オブジェクト間の依存関係を調べることが可能です。

その他

稼働環境

サポート開始/終了

・Red Hat Enterprise Linux 7.5 をサポート
・CentOS 7.5 をサポート
・Oracle Enterprise Linux 7.5 をサポート
・Ubuntu 16.04 LTS をサポート

システム要件の詳細はこちらの記事でご確認ください。

検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2018/11/20 本記事を公開