OBKV-Tableは、分散型テーブルストレージであり、シンプルなインターフェースをベースに、SQLよりも優れたスループット性能と低いレイテンシを提供します。本記事では、OBKV-Tableについて紹介します。
OBKV-Tableの適用シナリオ
OBKV-Tableは、単純なKey-Valueデータベースの機能に加えて、セカンダリインデックス、データ型、条件によるフィルタリング、集計などの機能を提供します。そのため、単純なOLTP処理で必要となる、一般的なリレーショナルデータベースの一部の機能を利用できます。次のような用途に適しています。
- 操作の対象が単一のテーブルに限られる場合。
- 操作の対象が単一のパーティションに限られる場合。すべてのデータ操作で主キーを指定するケース、または主キープレフィックスを指定し、そのプレフィックスがパーティションキーでもあるケースが該当します。
- レイテンシの安定性を重視する場合、またはSQLより高いスループットを必要とする場合。
OBKV-Tableを推奨しない用途
業務シナリオが以下のいずれかの条件を満たす場合、OBKV-Tableの使用は推奨されません:
- 複数テーブルのJOINクエリ文が存在する場合。
- 大量の分散トランザクションが存在する場合。
- 複雑なクエリ操作が存在する場合。
OBKV-Tableの利点
パフォーマンス面:
- ノードをまたぐトランザクションやデータのやり取り、複雑なデータ計算を行わないことで、データの処理経路を最短にし、P99などのテールレイテンシを改善します。
- 外部インターフェースがシンプルで、ストレージのネイティブ機能を直接利用することで、パフォーマンスがOceanBase SQLよりも30%以上向上します。
スループットとレイテンシ面:
- 各操作の実行方法が決まっており、最適でないSQL実行計画やリモート実行計画などに起因する問題が発生しないため、スループットとレイテンシが安定します。