問題タブ [citus]
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.
postgresql - 新しい CitusDB インスタンスにデータをロードする最速の方法は何ですか?
次のコマンドを使用して、データ取り込みのスケールアウトに関する指示に従っています。
私のクラスターにはマスターと 8 つのワーカーがあり、それぞれに 2 つの SSD があります。テーブルは 320 個のシャードにまたがっています。
データの読み込みに非常に時間がかかっています。平均挿入率は1分あたり約750kのようです。それは正常ですか、それとも高速化する方法はありますか?
考えられる唯一のことは、レプリケーションが有効になっていることです。ロードのためにオフにしてからリセットする必要がありますか?
python - CitusDB を SQL-alchemy で使用する
CitusDBで caravel を使用していますが、データベース ノードへの接続で問題が発生しています。率直に言って、私は何をすべきか見当もつきません。
公式のインストール手順に従ってインストールして実行しました。
psql
スクリプトを使用して実行中のマスターにログインできますが/opt/citusdb/4.0/bin
、アプリケーションから接続できません。Flask-SQLAlchemy は postgresql 方言とドライバーをサポートしており、実行中のサーバーは 5432 ポート上にあるようです。で試していpsycopg2
ます。
postgresql
マスターノードの起動を妨げていたため、サービスをオフにしました。
これはエラーです:
postgresql - 既存の Citus テーブルの分散方法を変更できますか?
MySQL から Citus クラスターへの移行中に、range
分散方式を使用しました。移行は完了しましたが、配布方法を に変更したいと思いhash
ます。
データが既に存在する既存のテーブルの分散方法を から に変更する方法はありrange
ますか?hash
次の手順を思いつきましたが、それが有効かどうかはわかりません。
- 変更されるすべてのシャードについて、テーブルの列
minvalue
とmaxvalue
列を更新しますpg_dist_shard
pg_dist_partition
テーブルのシャード ストレージ タイプ列をからr
に更新しますh
COMMIT;
postgresql - Citus タスク トラッカー エグゼキュータを使用すると、すべての分散クエリが失敗する
Citus 5.0 で分散結合のパフォーマンス テストを試みています。マスター ノードと 2 つのワーカー ノードがあり、デフォルトの構成で期待どおりに動作するいくつかのハッシュ分散テーブルがあります。再パーティション化が必要なクエリをテストするには、タスク トラッカー エグゼキュータを使用する必要があります。
ただし、 に設定citus.task_executor_type
するとtask-tracker
、分散テーブルを含むすべてのクエリが失敗します。例えば:
に設定citus.task_executor_type
しpostgresql.conf
ても同じ効果があります。
タスク エグゼキューターを切り替えるために必要な、他に欠けている構成変更はありますか?
編集、詳細:
- PostGIS はすべてのノードにインストールされています
- postgres_fdw がマスターにインストールされている
- 他のすべての構成は元のままです
これまでのすべてのテーブルは次のように分散されていました。
のスキーマdistrib_mcuser_car
はかなり大きいので、より単純な例を次に示します。
postgresql - Citus で、COPY 中に分散テーブルをロックするにはどうすればよいですか?
Citus は、データ変更コマンドのマルチステートメント トランザクションをサポートしていないため、LOCK
データ移行中の同時アクセスを防止するためにコマンドを使用することはできません。
初期データ移行中にテーブルへのアクセスをロックする方法はありますか?