問題タブ [federated-storage-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
88 参照

mysql - mysql サーバーのふりをする

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

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

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

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

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


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