共用方式為


適用於 PostgreSQL 的 Azure Cosmos DB 分散式 SQL API

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)

Azure Cosmos DB for PostgreSQL 包含標準 PostgreSQL 以外的功能。 以下是函式和組態選項的分類參考:

  • 跨分區平行處理查詢執行
  • 管理多部伺服器之間的分區化資料
  • 使用分欄儲存體壓縮資料
  • 自動化時間範圍分割

SQL 函式

分區化

名稱 描述
alter_distributed_table 變更分散式數據表的散發數據行、分區計數或共置屬性
citus_copy_shard_placement 使用狀況良好位置的數據修復非使用中分區放置
citus_schema_distribute 將 PostgreSQL 架構轉換成分散式架構
citus_schema_undistribute 復原citus_schema_distribute的動作
create_distributed_table 將 PostgreSQL 資料表轉換成分散式 (分區化) 資料表
create_reference_table 在所有節點之間保持數據表的完整復本同步
citus_add_local_table_to_metadata 將本機數據表新增至元數據,以從任何節點進行查詢
isolate_tenant_to_new_shard 建立新的分區,以保存散發數據行中具有特定單一值的數據列
truncate_local_data_after_distributing_table 在散發數據表之後截斷所有本機數據列
undistribute_table 復原create_distributed_table或create_reference_table的動作

分區重新平衡

名稱 描述
citus_add_rebalance_strategy 將數據列附加至 pg_dist_rebalance_strategy
citus_move_shard_placement 通常間接在分區重新平衡期間使用,而不是由資料庫管理員直接呼叫
citus_set_default_rebalance_strategy 將依其自變數命名的策略變更為重新平衡分區時選擇的預設
get_rebalance_progress 監視計畫執行的移動 rebalance_table_shards
get_rebalance_table_shards_plan 輸出規劃的分區移動rebalance_table_shards而不執行它們
rebalance_table_shards 移動指定數據表的分區,使其平均散發給背景工作角色

共置

名稱 描述
create_distributed_function 讓函式在共置分區附近的背景工作角色上執行
update_distributed_table_colocation 更新或中斷分散式數據表的共置

分欄儲存

名稱 描述
alter_columnar_table_set 變更單欄數據表上的設定
alter_table_set_access_method 在堆積或單欄式記憶體之間轉換數據表

時間分割

名稱 描述
alter_old_partitions_set_access_method 變更數據分割的儲存方法
create_time_partitions 建立指定間隔的數據分割,以涵蓋指定時間範圍
drop_old_time_partitions 拿掉間隔落在指定時間戳之前的所有分割區

資訊

名稱 描述
citus_get_active_worker_nodes 取得作用中背景工作角色主機名和埠號碼
citus_relation_size 取得指定分散式數據表的所有分區所使用的磁碟空間
citus_remote_connection_stats 顯示每個遠端節點的作用中連線數目
citus_stat_statements_reset 從中移除所有數據列 citus_stat_statements
citus_table_size 取得指定分散式數據表的所有分區所使用的磁碟空間,不包括索引
citus_total_relation_size 取得指定分散式數據表的所有分區所使用的磁碟空間總計,包括所有索引和快顯通知數據
column_to_column_name 將的數據 partkeypg_dist_partition 轉譯為文字數據行名稱
get_shard_id_for_distribution_column 尋找與散發數據行值相關聯的分區標識碼

伺服器參數

查詢執行

名稱 描述
citus.all_modifications_commutative 允許所有命令宣告共享鎖定
citus.count_distinct_error_rate 微調 postgresql-hll 近似計數的錯誤率
citus.enable_repartition_joins 允許在非散發數據行上建立的 JOIN
citus.enable_repartitioned_insert_select 允許從 SELECT 語句重新分割數據列,並在背景工作角色之間傳輸數據列以進行插入
citus.limit_clause_row_fetch_count 要針對限制子句優化擷取每個工作的數據列數目
citus.local_table_join_policy 在本機和分散式數據表之間執行聯結時,數據在何處移動
citus.multi_shard_commit_protocol 在哈希分散式數據表上執行 COPY 時要使用的認可通訊協定
citus.propagate_set_commands 哪些 SET 命令會從協調器傳播到背景工作角色
citus.create_object_propagation 支持物件的交易中 CREATE 語句的行為
citus.use_citus_managed_tables 允許在背景工作節點查詢中存取本機數據表

資訊

名稱 描述
citus.explain_all_tasks 讓 EXPLAIN 輸出顯示所有工作
citus.explain_analyze_sort_method EXPLAIN ANALYZE 輸出中工作的排序方法
citus.log_remote_commands 協調器傳送至背景工作節點的記錄查詢
citus.multi_task_query_log_level 任何產生多個工作的查詢的記錄層級
citus.stat_statements_max 要儲存的數據列數目上限 citus_stat_statements
citus.stat_statements_purge_interval 維護精靈從 中不相符的記錄中移除記錄 citus_stat_statements 的頻率 pg_stat_statements
citus.stat_statements_track 啟用/停用語句追蹤
citus.show_shards_for_app_name_prefixes 允許針對想要查看這些分區的選取客戶端顯示分區
citus.override_table_visibility 啟用/停用分區隱藏

節點間連線管理

名稱 描述
citus.executor_slow_start_interval 開啟與相同背景工作節點連線之間的毫秒等候時間
citus.force_max_query_parallelization 盡可能開啟多個連線
citus.max_adaptive_executor_pool_size 每個會話的背景工作角色連線上限
citus.max_cached_conns_per_worker 保持開啟的連線數目,以加速後續命令
citus.node_connection_timeout 等候連線建立的最大持續時間(以毫秒為單位)

資料轉移

名稱 描述
citus.enable_binary_protocol 使用 PostgreSQL 的二進位串行化格式(適用時)與背景工作角色傳輸數據
citus.max_intermediate_result_size 無法向下推送之 CTE 和子查詢的中繼結果 KB 大小

鎖死

名稱 描述
citus.distributed_deadlock_detection_factor 檢查分散式死結之前等待的時間
citus.log_distributed_deadlock_detection 是否要在伺服器記錄檔中記錄分散式死結偵測相關處理

系統資料表

協調器節點包含元數據數據表和檢視表,可協助您查看整個叢集的數據屬性和查詢活動。

名稱 描述
citus_dist_stat_activity 在所有節點上執行的分散式查詢
citus_lock_waits 整個叢集遭到封鎖的查詢
citus_shards 每個分區的位置、它所屬的數據表類型,以及其大小
citus_stat_statements 關於查詢的執行方式,以及針對誰執行查詢的統計數據
citus_tables 所有分散式和參考數據表的摘要
citus_worker_stat_activity 背景工作角色的查詢,包括個別分區上的工作
pg_dist_colocation 哪些數據表的分區應該放在一起
pg_dist_node 叢集中背景工作節點的相關信息
pg_dist_object 物件,例如在協調器節點上建立的類型和函式,並傳播至背景工作節點
pg_dist_placement 背景工作節點上分區複本的位置
pg_dist_rebalance_strategy rebalance_table_shards可用來判斷要移動分區位置的策略
pg_dist_shard 每個分區的數據表、散發數據行和值範圍
time_partitions 這類函式所管理之每個分割區的相關信息,例如 create_time_partitionsdrop_old_time_partitions

下一步