0

私は以下を実装する必要があり、問題を最もよく解決する方法についていくつかのアイデアを得ることを望んでいました:

私はいくつかの SQL データベースを持っており、何らかのフェデレーション データベースを使用するオプションを提供したいと考えています。つまり、仮想 SQL レイヤーは (読み取り専用) クエリを受け取ることになっています。これらのクエリは、単一のデータベースごとに実行し、合計結果にマージして、クエリの送信者に送り返す必要があります。

したがって、仮想 SQL レイヤーのタスクは、最初のクエリを受け取り、単一のデータベースを呼び出し、結果をマージすることです。さらに、プライバシー上の理由から、仮想 SQL レイヤーは特定の結果を削除するためのルールを実装する必要があります。したがって、仮想層で独自のコードを記述できる必要があります。

技術的にはオープンですが、Java が望ましいでしょう。これまでのところ、H2 プロジェクトをベースにして、そこに変更を加えることを検討しています。

4

1 に答える 1

1

H2 コンストラクトを使用してこれを行うには、TableEngine. 機能のドキュメントには、これについてもう少し詳しく説明されています。実際の H2 ソース コードをハッキングする必要はありません。

すでにこれを行っているプロジェクトについては、Apache Calciteを参照してください。これは、基本的にキー値ストアとは何かというさまざまな概念の上に、SQL パーサーとクエリ オプティマイザーを配置しています。

于 2020-08-16T17:52:17.543 に答える