PgSQL · 应用案例 · 传统分库分表(sharding)的缺陷与破解之法

  • 时间:
  • 浏览:0
  • 来源:大发5分11选5_大发5分11选5官网

8、 SQL功能缺失,导致 应用改造成本巨大,(实际上就是 限制多)。

《HTAP数据库(OLTP+OLAP) - sharding 和 共享分布式存储 数据库架构 优缺点》

https://pypi.python.org/pypi/pymadlib/0.1.4



12、机器学习,通过madlib插件,实现了数据库组织组织结构的机器学习。

数组,支持多值类型。

150台机器的集群,或多或少性能指标如下:

《HybridDB PostgreSQL “Sort、Group、distinct 聚合、JOIN” 不惧怕数据倾斜的黑科技和原理 - 多阶段聚合》

https://github.com/pivotalsoftware/PivotalR

6、 分布式事务性能差,甚至不支持分布式事务。

通过增加机器,能只能实现线性性能提升。

JSON,支持JSON数据类型。

1、实时写入,通过直接写segment(能只能做成对业务透明),实现了单机28万行/s的写入能力。通过扩展计算节点,能只能扩展整个集群的写入能力。

https://cran.r-project.org/web/packages/PivotalR/PivotalR.pdf

4、冷热数据分离,

3、批防止,

总结

1、高并发小事务(实时写入、点查),

2、实时比较复杂大型计算,

9、任意distinct,同上。

相关资料



传统分库分表什么的什么的问题

1、 扩容不方便(需要重分布数据)

HybridDB for PostgreSQL属于MPP架构,防止了几类什么的什么的问题,实现了HTAP(OLTP和OLAP混合业务):

8、任意列JOIN,后来 HDB PG数据节点直接能只能重分布数据,需要走MASTER节点,后来 ,需要维表,就能只能实现任意列的JOIN,GROUP BY,DISTINCT等。

全文检索,支持全文检索类型。

7、 后来 各个数据节点各自 为政,实际上你你这个 模式带来的SQL限制多、功能缺失多

3、全局一致性,HDB PG基于数据库的ACID标准设计,是一四个整体,支持全局事务。支持全局一致性。

3、 分布键选取(收集)需要谨慎,甚至什么都sharding产品不支持多个分布键、后来 不支持随机分布,导致 业务不得不使用没法任何意义的自增序列来作为分布键。

行列混合存储,行列混合存储,支持压缩。

正则表达式,支持正则表达式查询语法。

https://cran.r-project.org/web/packages/PivotalR/vignettes/pivotalr.pdf

2、批量导入,通过OSS_EXT,走OSS通道实时写入,朋友测试过150台机器的机器,达到了1150亿(5.5TB)数据,1251秒导入的性能。

资源隔离,通过资源队列,能只能管理不同的用户资源使用情況。

4、 无法支持比较复杂查询。跨库JOIN性能差,甚至只能按分布键JOIN,或多或少字段不支持JOIN。(后来 你你这个 产品架构数据节点之间是孤岛,数据需要在孤岛之间交互,需要通过上层的上面件节点,而原来语句,后来 有跨库JOIN,就需要将数据收到上面件节点再JOIN,性能差是可想而知的,甚至打爆上面节点。)

5、比较复杂查询,核心是MASTER节点的分布式执行计划,MASTER节点收到用户请求后,生成分布式执行计划,并收集给计算节点并行执行。

6、容量、功能扩展性,

参考

13、扩展功能:

7、UDF,用户能只能使用java, python, plpgsql等语言,在HDB PG中实现业务逻辑,实现比较复杂的查询场景需求。

http://madlib.incubator.apache.org/

容量水平扩展(支持你你这个 扩容模式,你你这个 原地扩容,你你这个 跨集群扩容),功能(UDF,plpython, pljava, plpgsql,插件)。



HybridDB for PG咋样破解哪些地方地方什么的什么的问题

10、任意group by,同上。

7、机器学习。

OSS,支持冷热分离存储。



11、MASTER不承担计算,后来 MASTER节点不承担计算,什么都不需要成为计算瓶颈,包括排序在内(MASTER节点采用MERGE SORT,几乎不耗费资源)。

分布键,支持任意键作为分布键,同時 支持随机分布,支持多列作为分布键。需要强制分布键。

HLL,是一四个估值插件,能只能存储估值数据。

2、 分布键变更很麻烦

5、资源隔离,

9、 全局一致性时间点恢复几乎不可实现,不同的数据节点所处不同的情況,没法一四个全局统一的快照管理和恢复机制。

6、大结果集查询,通过游标,实现大结果集的查询,分页,接收等。

传统分库分表最大的什么的什么的问题实际上还是孤岛什么的什么的问题,导致 了一系列的什么的什么的问题。

HybridDB for PG 性能指标

分区表,支持多级分区,范围分区,枚举分区。

空间数据,支持PostGIS,能只能管理空间数据。

背景

5、 当需要写入、返回小量结果集时,后来 把上面件打爆。后来 性非常大。

4、点查,点查能力,每个节点能只能实现1150万TPS。通过扩展计算节点,能只能扩展整个集群的点查TPS能力。

随着互联网的发展,数据爆炸性的增长,数据库逐渐成为了什么都业务的绊脚石,什么都业务也哭着喊着要上分布式数据库。



后来 ,传统的分库分表(sharding)带来的什么的什么的问题较多,得不偿失