开发者社区> ybbf7fwncy2w2> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里云PostgreSQL_开发实践_5 | 学习笔记

简介: 简介:快速学习阿里云PostgreSQL_开发实践_5
+关注继续查看

开发者学堂课程【PostgreSQL云上开发实践:阿里云PostgreSQL_开发实践_5】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/528/detail/7110


阿里云PostgreSQL_开发实践_5


目录:

一. 数据同步通道-1

二. 数据同步通道-2

三. 数据写入实践

四. HDB PG分布键选择建议

五. 行存和列存的选择

六. 非分布键group by和distinct

七. HDBPG分区表分区字段选择建议


一.数据同步通道-1 

dbsync 项目目标是围绕 PostgreSQL Greenplum ,实现易用的数据的互迁功能。

支持的功能:

1. PostgreSQL -> PostgreSQL pgsql2pgsql

功能 pg->pg 全量+增量数据同步

状态:已开源 文档

2. MySQL -> PostgreSQL/Greenplum(binlog_minner binlog_loader)

功能:基于 MySQL binlog 解析的增量数据同步

状态:已开放二进制 文档

3. PostgreSQL -> PostgreSQL/Greenplum pgsql2gp

功能:基于 PostgreSQL 逻辑日志的增量数据同步

状态:未开发完成

4. MySQL -> PostgreSQL/Greenplum mysql2pgsql

功能:以表为单位的多线程全量数据迁移

状态:已开源 文档

https://github.com/aliyun/rds_dbsync


二. 数据同步通道-2

计算接点每一次导入任务三十兆每秒,也就说如果我里有1000个节点我们可以做到30GB每秒的写入吞吐,使用oss来做数据导入的话,优势是如果你要导入的数据量特别的大,比如说我们要做一些全量导入,我们的导入的性能是最好的,那么怎么优化

第一,怎么使用,我们里面有链接,阿里云的帮助文档

第二,我们如果要从外面的数据源,写进来,我们可以提供一些调度任务,那么调度任务的话在阿里云里面也是有对应的服务的。

image.png

https://help.aliyun.com/document_detail/35457.html


三.数据写入实践

·批量 or 单步

·为什么 AO 表写入有 Io 放大

https://github.com/digoal/blog/blob/master/201711/20171116_01.md

·如何提速


四. HDB PG 分布键选择建议

·允许随机分布

·分布键允许多列

·如果有唯一、主键约束,必须与分布键一致

·分布键选择,确保不出现倾斜

·大表、建议经常被用于JOIN的列

https://github.com/digoal/blog/blob/master/201607/20160719 02.md


五.行存和列存的选择

以行的形式来组织还是以列的形式来组织,如果你以列的形式来组织 我一张100列的表,一张100个列的表,实际上我每一列都有对应的数据文件,那我至少有100个文件,这是列存表,那么行存表的话,我每一行是存到密集的,存到数据块里面的,只要你没做切片,那你就存在数据块里面的那的话,

他们的好处在于:

第一,使用行存的话,我们可以在如果你要访问整行的,或者说你要访问很多个数据框的话,很多个列的话,那我使用行存,我要扫描数据块可能更少,而使用列存的好处,访问的数据量就更少,比如说我一我刚刚讲一张百个G的表,有100个列,假设他每列是一个G,我们就假设好了 那我要访问三个列的数据,我是不是只要访问三个G,而我要如果行存的话,要访问多少100个G,我即使即使只访问三个列的数,他也要访问100个G,使用列存更加适合于数据分析 使用行存更加适合于点查。

image.png


六. 非分布键 group by和 distinct

https://github.com/digoal/blog/blob/master/201711/20171123_01.md

·对于非分布键的分组聚合请求,Greenplum 采用了多阶段聚合如下:

·第一阶段,在 SEGMENT 本地聚合。

·第二阶段,根据分组字段,将结果数据重分布。

·第三阶段,再次在 SEGMENT 本地聚合。

·第四阶段,返回结果给 master,有必要的话 master 节点调用聚合函数的 final func (己经是很少的记录数和运算量)。

 

七、HDBPG 分区表分区字段选择建议

·支持范围、枚举分区

·不建议与分布键一致

·建议经常用于过滤的列

-时间

-枚举

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云 PostgreSQL_ 开发实践_6 | 学习笔记
简介:快速学习阿里云 PostgreSQL_ 开发实践_6
0 0
阿里云 PostgreSQL_开发实践_4 | 学习笔记
简介:快速学习阿里云 PostgreSQL_开发实践_4
0 0
阿里云PostgreSQL_开发实践 | 学习笔记
简介:快速学习阿里云PostgreSQL_开发实践
0 0
PostgreSQL DirectIO开发实践
在数据库开源的背景下,基于PG的DirectIO的研发方案分享。
0 0
【PostgreSQL 创新营】第三课:时空场景开发实践 答疑汇总
【PostgreSQL 创新营】第三课:时空场景开发实践 答疑汇总
0 0
PostgreSQL 内容随机推荐系统开发实践 - 文章随机推荐
标签 PostgreSQL , 数组 , 文章 , 随机推荐 , 论坛 , 电商 背景 内容推荐是蛮普遍的需求,例如论坛、电商、新闻客户端等。 比较简单的需求:编辑精选一些内容ID,生成推荐列表。
467 0
《袋鼠云基于阿里云RDS的数据库架构实践》电子版地址
袋鼠云基于阿里云RDS的数据库架构实践
0 0
《RDS数据库入门一本通》电子版地址
本书体系完整,理论充实,内容由浅入深,循序渐进,更配有详细的实例解说,为初学者提供一个完整、严密的思维框架,零基础的你也可轻松掌握RDS数据库的美妙节奏。
0 0
文章
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
云数据库RDS MySQL从入门到高阶
立即下载
PolarDB for PostgreSQL 源码与应用实战
立即下载
PolarDB for PostgreSQL 开源必读手册
立即下载