分布式数据库的表分片信息如何从集中式数据库迁移及管理?

对于从集中式数据库迁移到分布式数据库的场景,分布式数据库要求对表的分片策略、分片键有效管理。对敏态项目,迭代周期短,表结构变化频繁,如何解决以下问题,1.1 如何有效管理全量表的分片信息,分片信息指分片策略和分片键。包括测试环境频繁的迁移和迁移后的维护。1.2 如何监控...显示全部

对于从集中式数据库迁移到分布式数据库的场景,分布式数据库要求对表的分片策略、分片键有效管理。对敏态项目,迭代周期短,表结构变化频繁,如何解决以下问题,
1.1 如何有效管理全量表的分片信息,分片信息指分片策略和分片键。包括测试环境频繁的迁移和迁移后的维护。
1.2 如何监控到不合理的分片信息并高效调整。

收起
参与19

查看其它 3 个回答austindatabase的回答

austindatabaseaustindatabase数据库架构师互联网金融

分布式数据库本身具有一定的数据分片的能力

1  分布式数据库本身,不需要完全依靠逻辑分库分表的理念来进行分表,而是通过硬件以及数据库分布式数据库(不同的数据库本身有不同的方法和原理)来打散数据

2  分布式更需要的是针对功能的复杂性进行拆分,而不是考虑表分片的信息进行管理

3  部分伪分布式数据库(如不同数据库本身原理,而通过类似 MYSQL 一些中间件分库分表的原理)则需要考虑如上的信息,对于一些达标,在主键如何进行设计进行考虑,但大概率都会牵扯到
性能的降低和事务粒度的调整

如使用第三种分布式数据库产品,需要架构,软件设计重新对于业务实现方式的重构,而非单一的通过数据库的一条路来解决问题

互联网服务 · 2023-09-01
  • 匿名用户
    对解答者给出的解答,提一点不同的见解: 。 1、分布式更需要的是针对功能的复杂性进行拆分,而不是考虑表分片的信息进行管理 。 分布式关系型数据库的原理就是基于关系模型来做数据分片,我们应该是关注为业务模型打造稳定可靠、性能最佳的数据分片,也即数据分片是跟业务有关的。 。 不建议描述成功能的复杂性进行拆分,这条路是走应用拆分解决数据分片的问题,也即会对应用系统的数据架构设计、应用开发、运维管理等带来巨大的侵入性和破坏性。 。 2、”对于一些达标,在主键如何进行设计进行考虑,但大概率都会牵扯到 性能的降低和事务粒度的调整“,若一款分布式关系型数据库产品 要基于主键/唯一索引或隐含主键来做数据分片,是很难具有通用性,或者说多数业务场景下需要牺牲性能体验、消耗更多硬件资源来弥补数据库产品能力不足,所以要坚持数据分片的分片键一定要是业务需求来决定。 (做不到的数据库产品 就是存在巨大缺陷的,例如:TDSQL、GaussDB等是必须依赖主键或唯一索引,OceanBase是改进后不依赖主键或唯一索引的,SeaSQL、HotDB、PowerSQL等是能做到不依赖主键或唯一索引的)
    2023-09-26

回答者

austindatabase
数据库架构师互联网金融

austindatabase 最近回答过的问题

回答状态

  • 发布时间:2023-09-01
  • 关注会员:5 人
  • 回答浏览:800
  • X社区推广