
SingleStore Universal Storage テクノロジーは、列ストアデータフォーマットを飛躍的に進化させたもので、運用ワークロードと分析ワークロードの両方を低い総所有コスト(TCO)でサポートすることを可能にします。メモリ最適化されたデータ構造とクエリのマシンコードへのコンパイルに基づく優れたパフォーマンスにより、OLTPスタイルのアクセスパターンにおいて行ストアは高い評価を得ています。しかし、大規模なデータセットを扱うユーザーにとって、すべてのデータを保持できる十分なRAMをサーバーに搭載するコストが大きな負担となっていました。Universal Storageは、このコスト問題を解決するだけでなく、列指向ストレージフォーマット、ベクトル化実行、SIMD(Single-Instruction Multiple-Data)命令を活用したクエリ実行により、さらに優れた分析パフォーマンスを提供します。
これは、SingleStore独自の特許取得済みUniversal Storage機能について説明する4部構成の記事の第3弾です。全容をご理解いただくには、パート1、パート2、パート4をお読みください。
7.0リリースではUniversal Storageが導入され、7.1リリースでは機能が強化されました。そして今回、7.3リリースではUniversal Storageのエピソード3をお届けします。今回は以下の機能が追加されました。
新しいエンジン変数 default_table_type を 'columnstore' に設定することで、列ストアをデフォルトのテーブル タイプにすることができます。
- 単一列の一意のキーを持つ列ストアテーブルに対するUPSERTサポート
INSERT ON DUPLICATE KEY UPDATE
- INSERT IGNORE
- REPLACE
- パイプライ ンとLOAD DATAの類似機能
- 非常に大規模な INSERT および UPDATE に対する一意のキーの強制のサポート
今後は、更新される行数に関係なく、任意のINSERTとUPDATEが成功します。7.1では、小規模なノードで1つのステートメントで例えば2,000万~3,000万行以上更新されると、メモリ不足により操作が失敗する可能性がありました。
SingleStore 7.3 のUniversal Storage アップデートの詳細については、次のビデオをご覧ください。
