回答:
分散データベースの理論と実践の両方に多くの研究分野があります。
主な実用的な課題の1つは、分散および地理的に複製されたデータベースに効率的な同時実行制御メカニズムを実装することです。トランザクションを効率的に実行するために、このようなメカニズムは、トランザクションが順次実行されているように見える直列化可能性よりも弱い保証を提供できます。直列化の代替手段は、スナップショット分離[1]の解決策ですが、これは地理的に複製された分散システムへのスケーリングが不十分であることが証明されています。現在の最新技術では、地理的に複製されたシステムの同時実行制御を処理するために、スナップショット分離(SI)の2つの異なるバリアントが定義されています:並列スナップショット分離(PSI)[2]と非単調スナップショット分離(NMSI)[ 3,4]。分散データベースに関係するもの(つまり、データが異なるサイト間で分割される場合)については、
別の重要な問題は、シリアライザビリティよりも弱い保証を提供する分離レベルのさまざまな概念があるため、実行がまだシリアライズ可能であるように見えるようにプログラムを作成することです。[1]では、スナップショット分離の適切な基準が考案されています。私のグループの何人かの人々は現在PSIの合理的な基準を考案することに取り組んでいます。
理論的および実用的な観点からのもう1つの関連する問題は、トランザクションの細断です。基本的にチョッピングは、粗粒度のトランザクションをより細かい粒度のトランザクションに分割する静的分析手法です。直列化可能性のために、この質問は[6]で取り組まれ、結果の理論は[7]で実用的な実装を提供するために適用されました。
分散データベースの理論的基盤の観点から、弱いメモリモデルコミュニティ[8]の手法を使用してトランザクションの動作を正式に定義するという提案がいくつかあります。[9]で、著者はトランザクションの動作の正式な概念を示しています。[10]でも同じアプローチを使用して、複製されたデータ型の動作を指定しています。
最近、私と私の同僚(Alexey GotsmanとHongseok Yang)は、地理的に複製されたデータベースの整合性レベルの観測可能な動作を指定する理論的なフレームワークである[8,9,10]で開発された手法から始めて構築しました。私たちは、SI、PSI、およびNMSIの公理化を実現するためにフレームワークをうまく使用しました。これらのそれぞれは、単純な実装に関して正しいことが証明されています。また、得られた理論を利用して、PSIのチョッピング基準を考案しました。これらの結果は、近い将来に公開されることを期待しています。
他にご不明な点がございましたら、お気軽にお問い合わせください。お役に立てれば、
アンドレア・セローネ。
参照:
[1] Fekete et al、スナップショット分離をシリアライズ可能にする(2005)
[2] Sovran et al、地理的に複製されたシステムのトランザクションストレージ(2011)
[3] Arkedani et al、Non-Monotonic Snapshot Isolation:Non-Monnotonic Snapshot Isolation:scalable and strong constant for geo-replicated transactional systems(2013)
[4] Arkedani et al、スナップショット分離のスケーラビリティについて(2013)
[5] Binnig et al、分散スナップショット分離:グローバルトランザクションはグローバルに支払い、ローカルトランザクションはローカルに支払います
[6] Shasha et al、Transaction chopping:Algorithms and Performance Studies(1995)
[7] Zhang他、トランザクションチェーン:地理的に分散されたストレージシステムで低レイテンシでシリアル化を実現(2013)
[8] Alglave、弱い記憶モデルの正式な階層(2012)
[9] Buckhardt et al、理解の結果整合性(2013)
[10] Buckhardt et al、Replicated Data Types:Specification、Verification、Optimality(2014)