CitusDB 是基于 PostgreSQL 扩展(类似 PHP 扩展)实现的 PostgreSQL 集群。
CitusDB特点:
有限的
纵向扩展CitusDB 与 HDFS 的分布式非常相似,在 Master 上存储元数据,Work 节点存储分片,同时 1 个分片至少要存储在 2 个 Work 节点(可配置更多)上保障其可用性。
Master:
Work:
用户对 Master 发起查询,Master 根据元数据下发查询至 Work 节点,最后查询汇总到 Master 节点,合并结果返回给用户。
至此集群搭建完成, 你可以执行 psql -c "select * from master_get_active_worker_nodes();"
来查看现有的 Work 节点。
Master: 可通过 PostgreSQL 自身的主从机制实现高可用,元数据并不大,效率上没有太大问题。
Work: 在查询时 Work 节点如有失败, Master 节点会把失败的查询重新下发至其它存在该分片的节点。如 Work 节点永久损坏可以人工均衡,让其保持设置的复制数。
最后一些参考:
集群部署: https://docs.citusdata.com/en/v6.1/installation/production_rhel.html
集群管理: https://docs.citusdata.com/en/v6.1/admin_guide/cluster_management.html
分布式表: https://docs.citusdata.com/en/v6.1/dist_tables/ddl.html
本文分享自微信公众号 - 后场技术(opstalk),作者:诺克大叔
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2018-07-09
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句