官方手冊:https://docs.citusdata.com

腦圖大綱
- 入門
- 什么是Citus?
- Citus 可以擴展多遠?
- 何時使用 Citus
- 多租戶資料庫
- 實時分析
- 使用注意事項
- 何時 Citus 不合適
- 快速教程
- 多租戶應用程式
- 資料模型和示例資料
- 創建表
- 分發表和加載資料
- 運行查詢
- 實時分析
- 資料模型和樣本資料
- 創建表
- 分發表和加載資料
- 運行查詢
- 安裝
- 單節點 Citus
- Docker (Mac 或 Linux)
- Ubuntu 或 Debian
- Fedora, CentOS, 或 Red Hat
- 多節點 Citus
- Ubuntu 或 Debian
- 在所有節點上執行的步驟
- 在協調器節點上執行的步驟
- Fedora, CentOS, 或 Red Hat
- 在所有節點上執行的步驟
- 在協調器節點上執行的步驟
- 托管部署
- 用例指南
- 多租戶應用程式
- 讓我們做一個 App - 廣告分析
- 擴展關系資料模型
- 準備表和攝取資料
- 自己試試
- 集成應用程式
- 在租戶之間共享資料
- 在線更改 Schema
- 當租戶的資料不同時
- 擴展硬體資源
- 與大租戶打交道
- 從這往哪兒走
- 實時面板
- 資料模型
- 匯總
- 過期的舊資料
- 近似相異計數
- 使用 JSONB 的非結構化資料
- 時間序列資料
- 擴展 Citus 上的時間序列資料
- 自動創建磁區
- 使用列式存盤歸檔
- 將行磁區歸檔到列式存盤
- 架構
- 概念
- 節點
- 協調器與作業器
- 分布式資料
- 表型別
- 型別 1:分布式表
- 型別 2:參考表
- 型別 3:本地表
- 分片
- 分片放置
- 共置
- 并行性
- 查詢執行
- 開發
- 確定應用程式型別
- 概覽
- 示例和特征
- 選擇分布列
- 多租戶應用
- 最佳實踐
- 實時應用
- 最佳實踐
- 時間序列資料
- 最佳實踐
- 表共置
- Citus 中用于 hash-distributed 表的資料共置
- 共置的實際示例
- 使用常規 PostgreSQL 表
- 按 ID 分布表
- 按租戶分布表
- 共置意味著更好的功能支持
- 查詢性能
- 遷移現有應用程式
- 確定分布策略
- 選擇分布鍵
- 確定表的型別
- 為遷移準備源表
- 添加分布鍵
- 回填新創建的列
- 準備申請 Citus
- 設定 Development Citus 集群
- 在鍵中包含分布列
- 向查詢添加分布鍵
- Ruby on Rails
- Django
- ASP.NET
- Java Hibernate
- 其他(SQL原則)
- 啟用安全連接
- 檢查跨節點流量
- 遷移生產資料
- 小型資料庫遷移
- 大資料庫遷移
- 復制 schema
- 啟用邏輯復制
- 開放訪問網路連接
- 開始復制
- 切換到 Citus 并停止與舊資料庫的所有連接
- SQL 參考
- 創建和修改分布式物件 (DDL)
- 創建和分發表
- 參考表
- 分發協調器資料
- 共置表
- 從 Citus 5.x 升級
- 洗掉表
- 修改表
- 添加/修改列
- 添加/洗掉約束
- 使用 NOT VALID 約束
- 添加/洗掉索引
- 型別和函式
- 手動修改
- 攝取、修改資料 (DML)
- 插入資料
- “From Select” 子句(分布式匯總)
- COPY 命令(批量加載)
- 使用匯總快取聚合
- 更新和洗掉
- 最大化寫入性能
- 查詢分布式表 (SQL)
- 聚合函式
- Count (Distinct) 聚合
- 估計 Top N 項
- 百分位數計算
- 限制下推
- 分布式表的視圖
- 連接
- 共置連接
- 參考表連接
- 重新磁區連接
- 查詢處理
- 分布式查詢規劃器
- 分布式查詢執行器
- 子查詢/CTE Push-Pull 執行
- PostgreSQL 規劃器和執行器
- 手動查詢傳播
- 在所有 Worker 上運行
- 在所有分片上運行
- 限制
- SQL 支持和解決方法
- 解決方法
- 使用 CTE 解決限制
- 臨時表:不得已的解決方法
- Citus API
- Citus 效用函式
- 表和分片 DDL
- create_distributed_table
- truncate_local_data_after_distributing_table
- undistribute_table
- alter_distributed_table
- alter_table_set_access_method
- remove_local_tables_from_metadata
- create_reference_table
- citus_add_local_table_to_metadata
- mark_tables_colocated
- update_distributed_table_colocation
- create_distributed_function
- alter_columnar_table_set
- create_time_partitions
- drop_old_time_partitions
- alter_old_partitions_set_access_method
- 元資料/配置資訊
- citus_add_node
- citus_update_node
- citus_set_node_property
- citus_add_inactive_node
- citus_activate_node
- citus_disable_node
- citus_add_secondary_node
- citus_remove_node
- citus_get_active_worker_nodes
- citus_backend_gpid
- citus_check_cluster_node_health
- citus_set_coordinator_host
- master_get_table_metadata
- get_shard_id_for_distribution_column
- column_to_column_name
- citus_relation_size
- citus_table_size
- citus_total_relation_size
- citus_stat_statements_reset
- 集群管理與修復函式
- citus_move_shard_placement
- rebalance_table_shards
- get_rebalance_table_shards_plan
- get_rebalance_progress
- citus_add_rebalance_strategy
- citus_set_default_rebalance_strategy
- citus_remote_connection_stats
- citus_drain_node
- isolate_tenant_to_new_shard
- citus_create_restore_point
- Citus 表和視圖
- 協調器元資料
- 磁區表
- 分片表
- 分片資訊視圖
- 分片放置表
- 作業器節點表
- 分布式物件表
- Citus 表視圖
- 時間磁區視圖
- 歸置組表
- 再平衡器策略表
- 查詢統計資訊表
- 分布式查詢活動
- 所有節點上的表
- 接憑證表
- 連接池憑證
- 配置參考
- 通用配置
- citus.max_worker_nodes_tracked (integer)
- citus.use_secondary_nodes (enum)
- citus.cluster_name (text)
- citus.enable_version_checks (boolean)
- citus.log_distributed_deadlock_detection (boolean)
- citus.distributed_deadlock_detection_factor (floating point)
- citus.node_connection_timeout (integer)
- citus.node_conninfo (text)
- citus.local_hostname (text)
- citus.show_shards_for_app_name_prefixes (text)
- 查詢統計
- citus.stat_statements_purge_interval (integer)
- citus.stat_statements_max (integer)
- citus.stat_statements_track (enum)
- 資料加載
- citus.multi_shard_commit_protocol (enum)
- citus.shard_count (integer)
- citus.shard_max_size (integer)
- citus.replicate_reference_tables_on_activate (boolean)
- 規劃器配置
- citus.local_table_join_policy (enum)
- citus.limit_clause_row_fetch_count (integer)
- citus.count_distinct_error_rate (floating point)
- citus.task_assignment_policy (enum)
- 中間資料傳輸
- citus.binary_worker_copy_format (boolean)
- citus.max_intermediate_result_size (integer)
- DDL
- citus.enable_ddl_propagation (boolean)
- citus.enable_local_reference_table_foreign_keys (boolean)
- 執行器配置
- 通用
- Explain 輸出
- 外部集成
- 從 Kafka 提取資料
- 注意事項
- 從 Spark 攝取資料
- Tableau 的商業智能
- 管理
- 集群管理
- 選擇集群大小
- 分片數
- 多租戶 SaaS 用例
- 實時分析用例
- 初始硬體大小
- 多租戶 SaaS 用例
- 實時分析用例
- 擴展集群
- 添加 worker
- 無需停機即可重新平衡分片
- 作業原理
- 添加協調器
- 處理節點故障
- 作業節點故障
- 協調節點故障
- 租戶隔離
- 查看查詢統計資訊
- 統計過期
- 資源保護
- 限制長時間運行的查詢
- 安全
- 連接管理
- 設定證書頒發機構簽署的證書
- 提高 Worker 安全
- 行級安全
- PostgreSQL 擴展
- 創建新資料庫
- 表管理
- 確定表和關系大小
- 清理分布式表
- 分析分布式表
- 列式存盤
- 用法
- 測量壓縮
- 例子
- 陷阱
- 限制
- 升級 Citus
- 升級 Citus 版本
- 補丁版本升級
- 主要和次要版本升級
- 步驟 1. 更新 Citus 包
- 步驟 2. 在資料庫中應用更新
- 將 PostgreSQL 版本從 13 升級到 14
- 對于每個節點
- 故障排除
- 查詢性能調優
- 表分布和分片
- PostgreSQL 調優
- 橫向擴展性能
- 分布式查詢性能調優
- 通用
- 子查詢/CTE 網路開銷
- 高級
- 連接管理
- 任務分配策略
- 中間資料傳輸格式
- 二進制協議
- 橫向擴展資料攝取
- 實時插入和更新
- 插入吞吐量
- 更新吞吐量
- 插入和更新:吞吐量清單
- 插入和更新:延遲
- 臨時暫存資料
- 批量復制 (250K - 2M/s)
- 有用的診斷查詢
- 查找哪個分片包含特定租戶的資料
- 查找表的分布列
- 檢測鎖
- 查詢分片的大小
- 查詢所有分布式表的大小
- 識別未使用的索引
- 監控客戶端連接數
- 查看系統查詢
- 活動查詢
- 為什么查詢等待
- 索引命中率
- 快取命中率
- 常見錯誤資訊
- 無法接收查詢結果
- 解決方法
- 取消事務,因為它涉及分布式死鎖
- 解決方法
- 無法連接到服務器:無法分配請求的地址
- 解決方法
- SSL 錯誤:證書驗證失敗
- 解決方法
- 無法連接到任何活動的放置
- 解決方法
- 剩余的連接槽保留給非復制超級用戶連接
- 解決方法
- PgBouncer 無法連接到服務器
- 解決方法
- 關系 foo 沒有被分發
- 解決方法
- 不支持的子句型別
- 解決方法
- 在事務中執行第一個修改命令后,無法打開新連接
- 解決方法
- 無法創建唯一性約束
- 解決方法
- 函式 create_distributed_table 不存在
- 解決方法
- 不能使用列參考呼叫 UPDATE 查詢中使用的 STABLE 函式
- 解決方法
- FAQ
- 常見問題
- 我可以在分布式表上創建主鍵嗎?
- 如何將節點添加到現有 Citus 集群?
- Citus 如何處理作業節點的故障?
- Citus 如何處理協調節點的故障轉移?
- Citus 是否不支持任何 PostgreSQL 功能?
- 對資料進行哈希磁區時如何選擇分片數?
- 如何更改哈希磁區表的分片數?
- citus 如何支持 count(distinct) 查詢?
- 分布式表在哪些情況下支持唯一性約束?
- 如何在 Citus 集群中創建資料庫角色、功能、擴展等?
- 如果作業節點的地址發生變化怎么辦?
- 哪個分片包含特定租戶的資料?
- 我忘記了表的分布列,如何找到?
- 我可以通過多個鍵分發表嗎?
- 為什么 pg_relation_size 報告分布式表的零位元組?
- 為什么我看到有關 max_intermediate_result_size 的錯誤?
- 我可以在 Microsoft Azure 上運行 Citus 嗎?
- 對于多租戶應用程式,我可以在 Citus 上按 schema 分片嗎?
- cstore_fdw 如何與 Citus 一起作業?
- pg_shard 發生了什么?
- 博文
- Postgres 中使用 HyperLogLog 的高效匯總表
- 沒有 HLL 的匯總表 — 以 GitHub 事件資料為例
- 沒有 HLL,匯總表有一些限制
- HLL 來拯救
- HLL 和匯總表一起使用
- HLL 可以回答哪些型別的查詢?
- 一個帶有 HLL 的匯總表勝過一千個沒有 HLL 的匯總表
- 想了解更多關于 Postgres 中的 HLL 的資訊嗎?
- Postgres 上使用 HyperLogLog 的分布式不同計數
- HLL 在幕后做什么?
- 哈希所有的元素
- 觀察資料中的罕見模式
- 隨機平均
- 更多?
- 分布式系統中的HLL
- 親身體驗 HLL
- 設定
- 例子
- 結論
- Citus 中的 Postgres 并行索引
- 使用 Postgres 和 Citus 進行大規模實時事件聚合
- PostgreSQL 和 Citus 上的分布式外連接如何作業
- Citus 的分布式外連接
- 使用 Postgres 設計 SaaS 資料庫以實作擴展
- 使用 Citus 擴展構建可擴展的 Postgres 指標后端
- 時間序列指標
- 事件
- 使用 Postgres 對多租戶應用進行分片
- 租約
- 多租戶和托管,完美的一對
- 綜上所述
- 使用半結構化資料對 Postgres 進行分片及其對性能的影響
- 一張大表,沒有連接
- 進入 Citus
- 查詢作業負載
- 每個發行版都有它的刺
- 使用 PostgreSQL 和 Citus 進行可擴展的實時產品搜索
官方手冊:https://docs.citusdata.com
作者:
本文來自博客園,作者:古道輕風,轉載請注明原文鏈接:https://www.cnblogs.com/88223100/p/Citus-11-Official-Manual-Brain-map.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527903.html
標籤:PostgreSQL
上一篇:資料庫設計心得-瀟灑不是擺爛小組
