PostgreSQL 9.5リリース:UPSERT、RLS、およびビッグデータ





PostgreSQLグローバル開発グループは本日 PostgreSQL 9.5のリリースを発表しました 。 その他の革新には、UPSERT機能、行レベルセキュリティ(RLS)、およびいくつかのビッグデータ機能が含まれます。 開発者によると、新機能により、PostgreSQLはスタートアップ、大企業、政府機関にとって可能な限り最良の選択肢となります。



新機能に関する詳細-準備中です。



UPSERT



アプリケーション開発者の間で最も人気のある機能であるUPSERTは、INSERT、ON CONFLICT UPDATEの略です。 新しい機能を使用すると、たとえば、フィールドの1つの値の一意性または許容性の違反によるINSERTによるデータの追加が不可能な状況を処理でき、エラーを表示する代わりに、ステートメントを無視するか、キーフィールドに関連付けられているデータを変更します(つまり、レコードが既にある場合) INSERTの代わりにUPDATEを実行します)。



チームの代表者によると、UPSERTはWebおよびモバイルアプリケーションの開発を簡素化します。 ON CONFLICT句を使用すると、新しいデータを無視したり、さまざまな列や関係を更新したりして、データ配列をロードするためのコンパイラのETL(抽出、変換、ロード)セットがサポートされます。 この新機能は、論理レプリケーションを含む他のすべてのPostgreSQL機能と完全に互換性があります。



行レベルセキュリティ(RLS)



この機能は、5年間続く作業の結果です。 RLSは、データベース内の情報へのユーザーアクセスを制限するセキュリティポリシーを作成する機能を提供します。 セキュリティポリシーを使用すると、情報の全体または一部を「閉じる」か、情報を使用して特定のアクションを実行できます。



ビッグデータ



ここで、開発者は、いくつかのデータ型の高速検索を提供するブロック範囲インデックス(BRIN)を含むいくつかの新機能を一度に追加しました。 このようなデータを検索するには、チームの代表者の声明によると、Bツリー検索の実行に必要な時間の5%しかかかりません。



BRINインデックス 。 この新しいタイプのインデックスを使用すると、データが「自然に順序付けられている」非常に大きなテーブルに対して、小さくても効果的なインデックスを作成できます。 たとえば、数十億行のsyslogデータを含むテーブルは、標準のBTreeインデックスの場合のわずか5%の時間でインデックス付けおよびスキャンできます。



より高速なソート 。 PostgreSQLは、「ショートカットキー」アルゴリズムを使用して、テキストと数値データをより速くソートします。 これにより、大量のデータを2〜12回並べ替える必要がある一部のクエリが高速化され、インデックスの作成が最大20倍高速化されます。

CUBE、ROLLUPおよびGROUPING SETS 。 これらの新しいSQL標準言語文により、ユーザーは単一のクエリで複数レベルの要約を含むレポートを作成できます。 CUBEの提供により、PostgreSQLをTableauなどの多数のオンライン分析処理(OLAP)レポートツールと緊密に統合することもできます。



外部データのアダプター(Foreign Data Wrappers、FDW) 。 この機能により、PostgreSQLを他の「ビッグデータ」システム(HadoopやCassandraなど)へのクエリの環境として使用できます。 バージョン9.5では、IMPORT FOREIGN SCHEMAコマンドとJOINプッシュダウン(JOINプッシュダウン)が追加され、外部データベースの照会がインストールがより簡単になり、効率が向上します。



TABLESAMPLE このSQLステートメントを使用すると、リソースを大量に消費するソートを行うことなく、巨大なテーブルの統計サンプルをすばやく取得できます。



一般に、バージョン9.5では、多くの新しい、開発者にとって非常に便利です。 同時に、いくつかの古いデータベースを更新するときに問題が発生する可能性があることを覚えておく価値があります。



バージョン9.5(開発者からのWiki)の革新に関するさらに詳細な情報は、 こちらまたはこちら (ロシアのプレスリリース)にあります。



All Articles