1. Home
  2. News
  3. ScyllaDB、新しいレプリケーションアルゴリズム「Tablets」に移行
2023/08/08

Startup Portfolio

ScyllaDB、新しいレプリケーションアルゴリズム「Tablets」に移行

データベースのScyllaDBは、Apache Cassandraと同様に、これまでのレプリケーション戦略であるVnodesを使用してきました。Vnodesは、すべてのテーブルで共有されるグローバルトークンスペースをノードやシャードの間で均等に分配することを試みます。しかし、Vnodesの選択はランダムであり、各ノードの実際の負荷に不均衡が生じることがありました。

これに対応するため、ScyllaDBは新しいレプリケーションアルゴリズム「Tablets」への移行を始めました。現在、Tabletsの初期サポートは実験モードで利用可能です。Tabletsは、各テーブルがクラスタ全体で異なるレイアウトになるように設計されています。Tabletsを使用すると、レプリカのリソースを一定のターゲットサイズに分割し、それらのTabletsをテーブルの断片に割り当てることから始めます。これにより、個々のTabletsを移動させることで負荷をより柔軟に調整することが可能となります。

この新しいアルゴリズムにより、テーブルごとにレプリケーション方法を異なるものにし、テーブルのサイズが変化するにつれて動的に変更することができます。これにより、ScyllaDBはより高速かつ並行してスケーリングすることができます。

しかし、Raftのテーブルには問題点もあります。リーダーがダウンすると遅延が生じる可能性があるためです。また、リクエストがリーダーで実行されない場合、リーダーへの追加のホップが必要になります。この問題は、ドライバを改善してリーダを認識できるようにし、リクエストを直接リーダにルーティングすることで解決できます。

最後に、ScyllaDBは、Raftをユーザーテーブルにも取り入れ、Raftに基づく強固に一貫性のあるテーブルを作成できるようにするプロセスを進めています。現在、Paxosベースの軽量トランザクションの形で強固な一貫性を提供していますが、いくつかの欠点があります。特に、軽量トランザクションは遅く、リクエストごとにレプリカへの3ラウンドが必要であり、トランザクション間での競合がある場合のスケーリングが悪いです。

 

TagsDevOpsIsrael

関連ニュース

Contact

AT PARTNERSにご相談ください