SODAによるシャーディングに関する追加情報
パフォーマンス・チューニング
メタデータおよび文キャッシング
すべての実装について、文キャッシュを接続プールでオンにする必要があります。これにより、データベースへの不要なラウンド・トリップを回避できます。
SODAメタデータ・キャッシュを有効にするには:
-
Javaの場合:
Properties props = new Properties(); props.put("oracle.soda.sharedMetadataCache", "true"); OracleRDBMSClient cl = new OracleRDBMSClient(props);
詳細は、SODAコレクションのメタデータ・キャッシュに関する項を参照してください。
-
Pythonの場合:
# Create the session pool pool = cx_Oracle.SessionPool(user="hr", password=userpwd, dsn="dbhost.example.com/orclpdb1",soda_metadata_cache=True)
詳細は、SODAメタデータ・キャッシュの使用に関する項を参照してください
スレッド
リソースの最適な使用のために、OracleClientのインスタンス化はスレッド間で共有されるため、1回のみ必要です。
これから取得したオブジェクト(OracleDatabaseなど)および結果としてOracleCollectionはスレッドセーフではなく、新規リクエストの作成時にインスタンス化する必要があります。
索引の作成と管理
シャード・キーは主キーの一部である必要があります。追加の索引の作成に制限はありません。
索引の作成および管理に関するSODAドキュメントで提供されるすべてのガイドラインは引き続き適用されます。