Vertica 10.0.1がリリースされました。
本リリースは10.1のサービスパックの位置づけになります。みなさまからのフィードバックに基づいた多くの修正点および改善点を含んだリリースとなっています。
主な新機能および変更点は以下の通りです。
admintools
command_host toolで--forceオプションをサポート
command_host toolに新しく--forceオプションが追加され、ローカルノードのDataフォルダに不要なファイルがあった場合に削除することができるようになります。ただし、このオプションは以下のコマンドのみ有効です。
- -c restart
- -c condrestart
- -c start
バックアップ・リストア・リカバリ・レプリケーション
Enterprise ModeでのオンプレミスS3バックアップのサポート
Enterprise ModeのバックアップをPure Storage FlashBladesなどのS3プロトコルをサポートするオンプレミスのストレージに取得できます。バックアップ・リストアの実行には追加の環境変数の設定が必要で、vbrの設定ファイルを変更する必要はありません。
コンフィグレーション
S3EnableVirtualAddressing
このパラメータはS3のURLをVirtual-hosted Pathスタイルに置き換えるかどうかを決定します。例えば、AWSをお使いの場合、S3のURLが「s3.amazonaws.com/bucketname」が「bucketname.s3.amazonaws.com」に置き換わります。このパラメータはAWSEndpointパラメータに何らかの値が設定されている場合のみ有効です。
データ型
ARRAY型とSET型のキャスト
データコレクションのARRAY型とSET型でキャストが行えます。データコレクションのキャストはスカラー値のキャストと同じルールを用いてコレクションの各要素をキャストします。
ARRAY型とSET型のキャストは明示的に指定する必要があり、暗黙のキャストは行われません。ARRAY型からSET型にキャストする場合、はじめにそれぞれの要素をキャストし、ソートをして重複値を削除します。
データコレクションの比較とソート
データコレクションのARRAY型とSET型を比較演算子(=, <>, <, >, <=, >=)を用いて比較することができます。また、以下の場所にデータコレクションを使用することができます。
- GROUP BY句に指定するグルーピングを行うカラム。
- クエリ・OVER句・CREATE PROJECTION文のORDER BY句に指定するソートキー。
- OVER句のPARTITION BYに指定するソートキー。
- JOINキー。
サブクエリ・Viewでの構造体(Structs)の利用
ROWデータ型で表される構造体(Structs)とそのフィールドをサブクエリまたはViewで使用できるようになります。
Eon Mode
CLEAR_DATA_DEPOTによるSubclusterのサポート
CLEAR_DATA_DEPOTメタファンクションは1つのSubclusterのDepotからデータをクリアすることができるようになります。
Large ClusterでのSubclusterのサポート
Verticaが使うクラスタ全体のブロードキャストメッセージングサービスをSpreadが担っています。Large ClusterはこのSpreadの制限に対応するための構成です。Large Clusterが有効化されると、Control Nodeと呼ばれるNodeの一部分のみがSpreadに接続します。他のNodeはControl Nodeを介してブロードキャストメッセージの送受信を行います。
以前のリリースでは、1つのControl Nodeとそれに接続するNodeが必ずしも同じSubcluster内にあると保証されていませんでした。このSubclusterを跨ぐ構成は、1つのSubclusterをシャットダウンさせる際に停止するControl Nodeの影響を受けて他のSubclusterも停止してしまうことにつながっていました。
本リリースより、各Nodeは常に自身のSubcluster内のControl Nodeに接続します。Large Clusterが有効化されると、すべてのSubclusterは少なくとも1つのControl Nodeを持つ構成になります。Eon Modeでは、クラスタ全体でのControl Nodeの数を指定するのではなく、Subcluster単位での数を指定することになります。Control Nodeに関連するSET_CONTROL_SET_SIZEファンクションとREALIGN_CONTROL_NODESファンクションは、Eon ModeにおいてSubclusterを必ず指定する必要があります。
Node SubscriptionとShardのより確定的なアサインメント
以前のリリースでは、ShardのPrimary Subscriberの選び方は複数の異なるメカニズムで行われていました。これにより、Subcluster内のShardのアサインメントはランダム性を持つものになっていました。本リリースより、ShardとNode Subscriptionのアサインメントは単一の完結したプロセスで行われるようになります。
このプロセスでは、それぞれのShardの1つのSubscriberはParticipating Primary Nodeとして指名されます。このNodeは、そのShardをCommunal Storageから読み込む、としてCommunal Storageに書き込む唯一のNodeとなります。Subcluster内の他のNodeで、この同じShardのSubscriberとなるNodeは、Peer-to-Peer transferを介してParticipating Primary Nodeからデータを取得します。V_CATALOG.NODE_SUBSCRIPTIONSシステムテーブルにIS_PARTICIPATING_PRIMARYカラムが追加され、そのNodeがShardのParticipating Primary Nodeかどうかを示します。
SubclusterレベルのResource Pool
SubclusterレベルのResource Poolの作成および管理ができるようになります。Subcluster固有のResource Poolは、そのSubclusterのBuilt-in Global Resource Poolの設定のうち、MEMORYSIZE, MAXMEMORYSIZE, MAXQUERYMEMORYSIZEを上書きします。新しいSUBCLUSTER_RESOURCE_POOL_OVERRIDESシステムテーブルでは、SubclusterにおいてGlobal Resource Poolの上書きされた設定を確認することができます。加えて、RESOURCE_POOLSシステムテーブルにはSUBCLUSTER_OID, SUBCLUSTER_NAMEの2つの新しいカラムが追加されます。
データロード
Delimited Parserによるデータコレクションのサポート
デフォルトのパーサー(Delimited Parser)はスカラー型の1次元のデータコレクション(ARRAY型・SET型)をサポートします。COPY文に区切り文字や他の特殊文字をカスタマイズする新しいオプションが追加されます。
機械学習
MaxModelSizeKBパラメータ
インポートできるモデルの最大サイズを設定する新しいパラメータMaxModelSizeKBが追加されます。このパラメータの単位はキロバイトです。設定された制限はサードパーティーのモデル(PMMLおよびTensorFlow)に適用されます。Vertica内のモデル(CategoryがVERTICA_MODELSのもの)には適用されません。
PMMLモデルの完全性の確認
VerticaはPMMLモデルをエクスポートする際にCRCを追加します。これによりユーザは、他のシステムでモデルを使う前にVerticaからエクスポートしたPMMLモデルの完全性を確認できます。また、PMMLモデルをインポートする際にCRCファイルを提供できるようであれば、Verticaはインポート時にそのモデルの完全性を確認します。
IMPORT_MODELSファンクションがインポートする必須ファイルと任意ファイル
ModelのCategoryがTENSORFLOWの場合、IMPORT_MODELSファンクションは次のファイルをModelのディレクトリからインポートします。
必須:
- <model-name>.pb
- <model-name>.json
任意:
- <model-name>.pbtxt
- CRCファイル(PMMLモデルの場合のみ)
Modelのディレクトリにあるその他のファイルは読み飛ばされます。チェックポイントファイルはインポートされません。
Management Console
GCPのサポート
10.0.1では、MCはGCP上の環境に対して次の機能を追加でサポートします。
SubclusterとNodeの操作
MCはGCP上でSubclusterとNodeの管理操作をサポートします。
既存のGCP Cluster上でのEon Mode Databaseの構築
既存のGCP Cluster上で、個別のステップとして、Eon Mode Databaseを構築できるようになります。この変更により、GCP上により柔軟にClusterを構築できるようになり、後からDatabaseの構築を行うことができます。
GCPでのHourly License
MCはGCP環境のEon Mode Databaseに対してHourly Licenseの使用をサポートします。GCPのMarketplaceからBy the Hour MC instance on GCP with the Vertica MC launcher with Hourly licenseを選択できます。その後、MCから構築されたClusterはすべて自動的にHourly Licenseを使用します。
SubclusterごとのQuery実行状況
MCは特定のSubclusterで実行されたQueryの状況を表示できるようになります。
セキュリティ
CONNECT TO VERTICAによるSHA-512のサポート
CONNECT TO VERTICAファンクションは認証方式としてSHA-512をサポートします。
In-Database 暗号キー・証明書管理
暗号キー・証明書の生成およびインポートをCREATE KEY文およびCREATE CERTIFICATE文を用いて行えるようになります。
MIT Kerberos 1.18.2
Verticaが使用しているMIT Kerberosが1.18.2にアップグレードされます。
SQLファンクション・ステートメント
ARRAY型データのParquetファイルへのエクスポート
EXPORT TO PARQUETは1次元のARRAY型データのエクスポートをサポートします。ネストされたARRAY型のデータ(複次元)はエクスポートできません。この場合、ネストされたARRAY型のデータを1次元に展開し、エクスポートすることができます。
SubclusterレベルのResource Poolの権限管理
GRANT文およびREVOKE文でSubclusterレベルのResource Poolの権限管理ができるようになります。
システムテーブル
CRYPTOGRAPHIC_KEYS・CERTIFICATES
新しいCRYPTOGRAPHIC_KEYS・CERTIFICATESテーブルにはCREATE KEY文およびCREATE CERTIFICATE文で作成またはインポートされた暗号キーおよび証明書の情報が格納されます。
User-Defined Extension
C++のUDLによるFenced Modeのサポート
VerticaのUser-Defined Load Functionが、C++で開発されたSource, Filter, ParserにおいてFenced Modeをサポートします。Fenced Modeは開発されたUDxのコードをVerticaプロセスの外で実行させるものです。これにより、システム全体に影響を与えるようなUDxコード内の問題やUDxコード内で発生するクラッシュからVerticaプロセスを守ることができるようになります。
その他の変更点については製品ドキュメントのVertica 10.0.x New Features and Changesをご覧ください。是非、Verticaの最新バージョンをお試しください。
Premium Edition(製品版)のダウンロードサイト:https://support.microfocus.com/downloads/swgrp.html
Community Editionのダウンロードサイト:https://www.vertica.com/download/vertica/community-edition/