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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 简介:快速学习阿里云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 分区表分区字段选择建议

·支持范围、枚举分区

·不建议与分布键一致

·建议经常用于过滤的列

-时间

-枚举

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
111200 152
阿里云实时计算Flink的产品化思考与实践【下】
|
13天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
11天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
12天前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
26天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
517 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
1月前
|
消息中间件 SQL Java
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
|
1月前
|
机器学习/深度学习 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费邀测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 正式开启邀测,统一 Python 开发生态,打破大数据及 AI 开发使用边界。
733 1
|
2月前
|
SQL 存储 数据处理
阿里云实时计算Flink的产品化思考与实践【上】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
3404 4
阿里云实时计算Flink的产品化思考与实践【上】
|
2月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。