0

状況:

異なるデータベースにまたがる 6 つのシャードのそれぞれに存在する、同じ構造 (月ごとのデータを表す) の 12 個のテーブルのセットがあります。特定の月のセットについて、これらのデータベースのいずれかからサンプル データ セットを取得する必要があります。

データベースはレコード ID によって決定され、テーブルはレコード内の日付値の月によって決定されます。

質問:

このために SQLAlchemy ORM をセットアップする最良の方法は何ですか?

最初は一度に 1 か月分のデータをクエリするだけでよかったので、不要なデータ テーブルの存在を無視して、Data クラスを 12 個のデータ テーブルの 1 つにマッピングする ShardedSession をセットアップしました。ここで、任意の時点で 3 つの異なる月間でランダムなデータ セットを選択する必要があります。同じ構造の 3 つの異なるテーブルに同じクラスをマップして、それらをすべて 1 つとして扱う方法はありますか? この 3 か月からランダムにレコードを選択できるようにします。

以前に同様の質問をして、思いついた解決策をここに投稿しました: SQLAlchemy Classical Mapping Model to sharded Postgres データベース 私は Classical Mapping Model を使用しています。物事を機能させる方法を理解することができました。

Concrete Table Inheritance と Entity Name について少し読んだことがありますが、前回試したときは、Entity Name ソリューションを機能させることができませんでした。

どんなポインタでも大歓迎です!ありがとう!

4

0 に答える 0