0

プロジェクトのために、私たちはいくつかの外部パートナーと協力しています。プロジェクトでは、MySQL データベースにアクセスする必要があります。問題は、彼らがそれを行うことができないということです。彼らのデータベースは、構成の可能性があまりない管理された環境でホストされています。そして、彼らは私たちにすべてのデータへのアクセスを許可したくありません. そこで彼らが思いついた解決策が、フェデレーテッド ストレージ エンジンです。

これで、データベースのテーブルごとに 1 つのテーブルができました。問題は、取得するデータの量が膨大であり、将来的にはさらに増加することです. これは、データベースで多数の挿入が実行されていることを意味します。私たちにとって最適な解決策は、受信するすべての MySQL トラフィックをインターセプトし、処理してからまとめて保存することです。また、データを保存するために redis のようなものを使用することも考えました。

さらに、さまざまなパートナーからより多くのデータを取得する予定です。それらは、さまざまな方法でデータを提供する可能性があります。したがって、redis を使用すると、すべてのデータを 1 か所にまとめることができます。

mysql データベースに保存した後にデータを redis にコピーすることはできません。それだけの数の挿入を処理することができず、できるだけ早くデータが必要です。

TL;DR フェデレーテッド ストレージ エンジン経由で受信したデータを直接処理できるように、MySQL サーバーのふりをする方法はありますか?


また、ブラックホール エンジンをバイナリ ロギングと組み合わせて使用​​することも考えました。したがって、着信データはバイナリ ログにのみ書き込まれ、データベースには保存されません。ただし、パフォーマンスは依然としてディスク I/O によって制限されます。

4

0 に答える 0