4

プロジェクトの 1 つのバックエンドとして、Cassandra と Titan/JanusGraph db の組み合わせを使用する予定です。その一環として、以下の要件があります。

レコード/頂点 A とレコード/頂点 B は、アトミックな方法でバックエンドに書き込まれる必要があります。つまり、両方のレコードが書き込まれるか、どちらのレコードも書き込まれません。基本的に、複数行のアトミック書き込みが必要です。ただし、以下にリストされている Titan と Cassandra の両方のドキュメントから、これが見つかりました。

タイタンDB

Titan トランザクションは必ずしも ACID ではありません。それらは BerkleyDB ではそのように構成できますが、Cassandra や HBase では一般的にそうではありません。基盤となるストレージ システムがシリアライズ可能な分離や複数行のアトミック書き込みを提供しておらず、これらのプロパティをシミュレートするコストが相当なものになる場合があります。

カサンドラ 2.0

Cassandra では、書き込みはパーティション レベルでアトミックです。つまり、行の列の挿入または更新は 1 回の書き込み操作として扱われます。

カサンドラ 3.0

Cassandra では、書き込み操作はパーティション レベルでアトミックです。つまり、同じパーティション内の 2 つ以上の行の挿入または更新は、1 つの書き込み操作として扱われます。

以下の質問があります。

1) Cassandra 2.1.X で titan DB を使用します。複数行の原子性を実現したい場合、どうすればよいですか? これを達成するための解決策はありますか?

2) Cassandra のバッチ操作は、複数の操作に原子性を提供しますか? しかし、Titan DB には、この機能を使用するための対応する操作がありません。ここで何か不足していますか、これを使用する方法はありますか?

3) Cassandra はさまざまなアプリケーションで頻繁に使用されているため、複数行のアトミック操作を必要とするユースケースがあると確信しています。人々はこれをどのように解決しますか?

4) Cassandra 3.0 にはこのサポートがあるようです。JanusGraph が Casandra 3.0 のサポートを開始したとき (現在は 2.1.x のみをサポート)、JanusGraph でこのサポートを期待する必要がありますか?

4

0 に答える 0