私は、マルチノード クラスターを備えた永続化レイヤーとしてMembase (Memcached + 永続化を考える) を使用するプロジェクトに取り組んでいます。Enyimクライアントを使用してキャッシュと通信し、バイナリ シリアライゼーションを使用してオブジェクトをキャッシュとの間でシリアライズ/デシリアライズします。
私たちが抱えている懸念の 1 つは、データ モデルへの変更を効果的に管理する方法です。通常の SQL データベースを使用している場合は、更新スクリプトを実行してテーブルを更新できます。
Membase を使用して、キャッシュされたバイナリ オブジェクトを処理すると、キャッシュされたすべてのオブジェクトを取得して、両方のバイナリをロードできます。
- キャッシュされたオブジェクトをシリアル化するために使用されたコードのバージョン
- さまざまなプロパティを定義する新しいバージョンのコード
このように効果的にデータを移行しますが、キャッシュに数千万のオブジェクトが潜在的に存在する可能性がある場合、それはほとんど望ましくありません.理想的には、必要な場合にのみデータを移行し、実行できる反復プロセスを実行できるようにしたいと考えています.バージョン 1 のデータをバージョン 2 に移行し、次に 3 などに移行しますが、バイナリ データでこれを行う方法を考えるのに苦労しています..
暗闇の中でのショットですが、以前にこの種の問題に対処した経験がある人はいますか? 他の形式のシリアライゼーションを喜んで使用し、代わりに単純に文字列 (圧縮されている可能性があります) データをキャッシュに格納し、シリアライゼーションを自分で処理することができます。
ありがとう、