Citus插件实现原理解读(27页).pdf

编号:86219 PDF 27页 2.37MB 下载积分:VIP专享
下载报告请您先登录!

Citus插件实现原理解读(27页).pdf

1、Citus插件实现原理解读阿里云PolarDB PG数据库团队|陈佳昕(步真)什什么么是是CitusuCitus是一款基于PostgreSQL数据库的开源插件,用于将单集群的PG数据库横向扩展为多集群的分布式PG数据库。其提供了分布式数据库常用的两种表类型:u分布表u复制表u主要作用:u通过分布式多路路由,提升数据库事务处理能力(OLTP)u通过并行化处理机制,提升数据库分析处理能力(OLAP)u来源:由CitusData公司研发,后被微软公司收购,保持跟进最新的开源PostgreSQL社区分支功能特性。Citus的的4种种目目标标业业务务场场景景u多租户场景(Multi-tenant)背景:

2、传统的基于SaaS云服务应用场景下,应用程序可能根据不同的租户数据,存放在不同的数据库下,从而实现租户间数据隔离。问题:成千上万的库之间的跨库访问,以及多个库基础设施组件的维护会带来极大的成本问题和管理问题。Citus的的4种种目目标标业业务务场场景景u多租户场景(Multi-tenant)Citus应对方案:基于租户id进行分片,相同分片的数据可以定向到同一节点上,绝大部分SQL都可以路由到指定单节点执行,能够继承PostgreSQL的查询能力,扩展性强。Citus的的4种种目目标标业业务务场场景景u实时分析(Real-time Analytics)背景:大数据量下毫秒级响应需求查询,额外伴

3、随数据表的更新(TP+AP场景)。PG数据库的优势:特有的堆表格式+MVCC机制保证了多并发读写的高性能 支持COPY,可实现数据批量写特有的数据类型和索引类型(array,json和自定义数据类型)PG数据库的不足:单库承载的数据容量有限早期不支持并行查询,查询只能单进程进行。Citus应对方案:Parallel Bulk Insert,Parallel Insert.Select,Parallel Select等并行功能Citus的的4种种目目标标业业务务场场景景u高性能数据处理(High Performance CRUD)PG数据库的不足:缺乏undo机制使得数据更新会带来数据膨胀,au

4、to vacuum使得高并发下数据库压力大大量连接会话引入内存过多,极易打满单库机器内存上限Citus应对方案:数据分片打散,提高硬件资源利用率。支持并行化auto vacuum。Citus的的4种种目目标标业业务务场场景景u数据仓库(Data warehouse)Citus应对方案:支持并行分布式查询支持列存引擎。Citus的的实实现现架架构构uSQL ObjectsCREATE TABLE pg_dist_node();CREATE TABLE pg_dist_partition();CREATE FUNCTION citus_add_node()RETURNS void LANGUAGE

5、 cAS$libdir/citus,$function$citus_add_node$function$;CREATE FUNCTION create_distributed_table()RETURNS void LANGUAGE cAS$libdir/citus,$function$create_distributed_table$function$;uShared Library#include“postgres.h”Datum citus_add_node()Datum create_distributed_table()Citus的的实实现现架架构构u集群部署结构 Citus的的实实

6、现现架架构构表类型u分布表(co-location)SELECT create_distributed_table(items,user_id);SELECT create_distributed_table(users,user_id,colocate_with=items);u复制表SELECT create_reference_table(categories);u本地表CREATE TABLE sessions();Citus的的实实现现架架构构元数据管理 Citus的的实实现现架架构构元数据管理 Citus的的实实现现架架构构PostgreSQL插件APIu自定义SQL函数:插件的S

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(Citus插件实现原理解读(27页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠