シナリオ:信頼できないリンクを介して、地理的に分散した一連のクライアントからの書き込みを受け入れるデータベースがあります。クライアントは書き込み操作のみを行い、最後の 2 ~ 3 回の書き込み操作のデータを読み取る可能性があります。古いデータはデータ ウェアハウスにアーカイブされます。
問題: クライアントは、信頼性の低いネットワークを介してデータベースに接続し、クライアントとサーバー間のデータ リンクがダウンしている場合、書き込みができません。クライアントは本質的にデータ入力ツールであるため、これは大量の工数の浪費につながります。ネットワークの接続性を改善することはできません。
考えられる解決策: データ リンクがダウンしているときに書き込みをローカルにキャッシュするキャッシュ データベース プロキシを各クライアント ノードで実行します。リンクが復旧すると、すべての書き込みがメイン データベースにプッシュされます。
質問: そのようなシステムは存在しますか (存在する場合、どのデータベースに対して)、それとも独自にそのようなシステムを作成することに行き詰っていますか?
注:
- データベースは本質的にリレーショナルです。それを NoSQL ベースの構造に変更することは可能かもしれませんが、その努力によってプロジェクトは少なくとも 6 か月遅れることになります。
- 同じことが、分散メッセージ キュー システムの使用にも当てはまります。
免責事項: Google F1へのリンクを提供する以外に、Google は何の助けにもなりませんでした。