CitusData於日前推出了Citus11.0,並宣佈將所有企業版的特性都進行開源。此前,Citus在版本更新時通常會同步發佈2個版本:開源版本和包含一些額外功能的企業版本。“但是,Citus11.0將只有一個版本,因為Citus擴展中的所有內容現在都是完全開源的!” 公告指出,這意味著你現在可... ...
官方手冊: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