状況:
異なるデータベースにまたがる 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 ソリューションを機能させることができませんでした。
どんなポインタでも大歓迎です!ありがとう!