Vertica 11.1.1がリリースされました。
本リリースは11.1のサービスパックの位置づけになります。みなさまからのフィードバックに基づいた多くの修正点および改善点を含んだリリースとなっています。また、みなさまからのご要望についてもできる限り新機能として実装させていただいております。
主な新機能および変更点は以下の通りです。
設定パラメータ
SaveDCEEProfileThresholdUSのセッションレベルでの設定
SaveDCEEProfileThresholdUS設定パラメータをセッションレベルに設定できるようになります。これにより、プロファイル取得の対象とするクエリをより細かく制御できます。
コンテナ・Kubernetes
Operator Helm Chartに必要な権限
クラスタの管理者権限を持たないユーザがOperatorのインストールおよび実行を行うことができるようになります。serviceAccountNameOverrideパラメータに必要な権限を持ったサービスアカウントを指定することで、Operatorのインストール時にデフォルトのサービスアカウントを作成せずに作業を進めることができるようになります。
Admission Controller Webhookのインストールの有無
限られた権限を持つユーザがKubernetes上のVerticaを管理するためにOperatorのみをインストールしたいケースがあります。webhook.enableパラメータでAdmission Controller Webhookのインストールの有無を制御できるようになります。
マネージドKubernetesサービスのサポート
VerticaはAzure Kubernetes Service (AKS)をサポートします。
Air-Gapped Operator
外部ネットワークから隔離されたAir-GappedクラスタへのOperatorのインストールができるようになります。使用するパラメータは次の通りです。
- image.repo
- rbac_proxy_image.name
- rbac_proxy_image.repo
- imagePullSecret
LoadBalancerサービスタイプのカスタマイズ
subcluster[i].loadBalancerIPパラメータを用いてLoadBalancerサービスタイプを使ったSubclusterに静的なIPアドレスを付与することができます。これは、ベアメタル環境を用いたKubernetesクラスタに有用です。また、subclusters[i].serviceAnnotationsパラメータに実装上固有のアノテーションを追加することができます。マネージドKubernetesサービスはロギングの制御や他のアクションのためにアノテーションを使うことがあります。
Online Upgradeにおけるトラフィックリダイレクトの待機時間の設定
Upgrade中、Operatorはリコンサイルイテレーションによりリソースオブジェクトの状況が希望されたものと一致しているか確認し、一致していない場合は自身を再キューイングします。upgradeRequeueTimeパラメータを用いて再キューイングした処理が完了するまでの待機時間を指定できるようになります。
データベース管理
Syslog Notifier
新しくsyslogにメッセージを送信するNotifierを作成できるようになります。このNotifierにより送信されたイベントはMONITORING_EVENTSテーブルおよびvertica.logには記録されません。
データエクスポート
JSON形式でのエクスポート
JSONファイルへのデータのエクスポートができるようになります。これには複雑なComplex Typeも含むことができます。
1ファイルへのエクスポート
次のエクスポート機能は1つのファイルへのエクスポートができるようになります。このオプションを使用すると、クラスタ内の1つのノードがエクスポートを行います。
- EXPORT TO DELIMITED
- EXPORT TO JSON
- EXPORT TO ORC
- EXPORT TO PARQUET
データ型
ROW/ARRAY型の固定値によるネストしたComplex Typeのサポート
WHERE句で使用する場合など直接ROW/ARRAY型の固定値が必要となる際、フィールドとその値を直接記述できるようになります。
Complex Type型のカラムの追加と削除
ALTER TABLEを用いてComplex Type型のカラムの追加と削除ができるようになります。以前まではテーブルの作成時にのみComplex Type型のカラムを指定することはできましたが、既存のテーブルに対しての操作はできませんでした。
地理空間分析
ST_GeomFromGeoJSONファンクションのignore_errorsパラメータ
ST_GeomFromGeoJSONファンクションにignore_errorsパラメータが追加されます。これを用いることで、解析できなかったGeoJSONデータに対してNULLを返すことができるようになります。これにより、不正なGeoJSONデータを持つかもしれないデータセットをロードする際、不正なデータに対してはNULLを設定してロードを継続することができます。
Apache Hadoopとのインテグレーション
相互TLS認証を用いたWebHDFSアクセス
データをロードまたはエクスポートする際、VerticaはHDFSクラスタに対するswebhdfsスキーマを使用した相互TLS認証での接続をできるようになります。キーと証明書を作成してWebhdfsClientCertConfパラメータに設定します。このパラメータ値はJSON形式で、Name Service・認証情報・キーなら成るリストとなっているため、1つ以上のHDFSクラスタに対する接続の設定ができます。CREATE KEYとCREATE CERTIFICATEを使用して一時的なセッションスコープの値を作成することもできます。これらのキーと証明書はメモリ上に格納されています。これをセッションレベルまたはデータベースレベルのパラメータに設定することができます。
データロード
AvroデータのMap型
AvroデータのMap型をVertica上のARRAY[ROW]型として扱うことができるようになります。ROW型のフィールド名はkeyとvalueになります。
機械学習
XGBoost PMMLモデルのサポート
XGBoost PMMLモデルのインポートおよびエクスポートができるようになります。
PREDICT_XGB_CLASSIFIER・PREDICT_XGB_CLASSIFIER_CLASSESのprobability_normalizationパラメータ
以前はPREDICT_XGB_CLASSIFIER・PREDICT_XGB_CLASSIFIER_CLASSESファンクションは異なったクラスの確率予測を正規化するロジット関数のみ使用していました。これは今もデフォルトの動作ですが、probability_normalizationパラメータを用いて正規化の方法をソフトマックス関数に変更することができるようになります。
Management Console
Microsoft AzureにおけるEon Node SubclusterとNode操作のサポート
Management ConsoleはMicrosoft Azure上で次の機能をサポートします。
- Subclusterの作成
- Subclusterのスケールアップ・スケールダウン
- PrimaryとSecondary Subclusterの情報表示
- Subcluster内のNodeの起動・停止・作成・終了
クエリ最適化
マテリアライズされたWITH句によるEE5 Temp Relationのサポート
以前は、VerticaはWITH句をサブクエリとしてリライトするか、WITH句のクエリをマテリアライズしてローカルの一時テーブルに格納していました。今後は、デフォルトの動作として、複数に分かれた実行プランの1つのセクションとして実行され、アウトプットはEE5 Temp Relationに格納されます。これにより、WITH句を用いたクエリのパフォーマンス向上が期待されます。
SDKの更新
エラーと警告のレポート(Python)
Pythonで開発されたUDxにおいて、エラーや警告,その他のメッセージをクライアントにレポートできるようになります。メッセージにはVerticaがレポートしているような詳細な情報やヒントを含むことができます。このインターフェイスはC++のレポートAPIと同等の機能です。
セキュリティと認証
OAuth
Oktaのサポート
VerticaはOAuth認証のIDPとしてOktaをサポートします。
JDBCのUsernameとPasswordへの空白指定要求の撤廃
11.1.0では、OAuthを使用するJDBCクライアントアプリケーションはUserとPasswordのパラメータに空白文字を渡す必要がありました。今後はOAuth認証を使用する際にはこれらのパラメータは不要になります。
Discovery URLパラメータ
認証レコードとJDBC/ODBCの両方にDiscovery URLを指定することができます。Discovery URLはIDPのOpenID Provider Configuration Documentを含むエンドポイントです。このパラメータはKeycloakのみサポートします。JDBCまたはODBCの接続プロパティに指定すると、クライアントドライバはDiscovery URLからToken URLを自動的に取得します。同様に、VerticaのAuthenticationのパラメータに指定すると、Verticaはdiscovery_urlからintrospect_urlを自動的に取得します。
Scopeパラメータ
Scopeパラメータを用いることで、アクセストークンによって付与された権限の範囲を定義できます。
TLS CONFIGURATIONのGRANT/REVOKE ALTER
ALTER権限の付与・取り消しを用いてTLS CONFIGURATIONの管理の委譲をユーザまたはロールに対して行うことができるようになります。
SQLファンクション・ステートメント
複数行のINSERT
INSERT文を用いて複数行のデータをテーブルに挿入することができます。VALUESにカンマ区切りの値セットを指定します。
UPDATE文の拡張
UPDATE文のFROM句においてDEFAULTキーワードがアップデート対象のテーブルを参照するようになります。このキーワードはFROM句で一度だけ使用でき、他の句では使用できません。
また、UPDATE文は次のヒントをサポートします。
- 一般:ALLNODES, EARLY_MATERIALIZATION, LABEL, SKIP_STATISTICS, VERBATIM
- ジョイン:SYNTACTIC_JOIN, DISTRIB, GBYTYPE, JTYPE, UTYPE
- プロジェクション:PROJS, SKIP_PROJS
INFER_TABLE_DDLファンクション
INFER_TABLE_DDLファンクションはParquet, ORC, Avroフォーマットのデータファイルを読み取り、テーブル定義を生成します。これはVerticaのテーブルおよびExternal Tableの両方をサポートします。
ARRAY型ファンクションの別名
他のデータベース製品との互換性のため、ARRAY_COUNTファンクションの別名としてAPPLY_COUNT、ARRAY_LENGTHファンクションの別名としてAPPLY_COUNT_ELEMENTSが設定されます。
その他の変更点については製品ドキュメントのVertica 11.1.x New Features and Changesをご覧ください。是非、Verticaの最新バージョンをお試しください。
Premium Edition(製品版)のダウンロードサイト:https://support.microfocus.com/downloads/swgrp.html
Community EditionのダウンロードおよびVertica Acceleratorの試用サイト:https://www.vertica.com/try/