文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

聊聊数据库组件功能设计点

2024-12-02 08:01

关注

一、分库分表

分库分表组件主要为分担数据库压力,通过多库多表承接请求。尽管拥有众多的分库分表组件,Apache ShardingSphere作为Apache的顶级项目依旧是主流。无论直接使用还是基于其二次开发或者自研,均值得研究。

1.ShardingSphere-JDBC

客户端直连数据库,分布式无中心化,主要针对java语言,数据库连接消耗多。

2.ShardingSphere-Proxy

客户端先连接到Proxy代理,通过代理连接数据库,能够跨语言,消耗数据库的连接数少(仅代理直接连接数据库),但是中心化风险点也主要在此。

3.ShardingSphere-Sidecar

网格化代理还在规划中,从当前蚂蚁对外提供的service mesh商业方案中,还没DB的mesh,下沉能力的同时,也带来了数据面和控制面板的复杂性。

https://github.com/apache/shardingsphere.git

备注:当前还是客户端直连数据库为主流,中心化的Proxy依然有公司采纳然占比依旧很少,至于Sidecar模式的大规模使用还在未来。

二、数据复制

1.单向搬运

将Mysql数据同步到消息队列或者其他数据存储源,常用开源组件为canal。

https://github.com/alibaba/canal

![](https://www.528045.com/file/upload/202411/30/yzxyqbc3v4s.ico)

2.双/单向同步

在异地多活场景中数据库的双向同步、跨机房灾备的单向同步等场景,常用组件otter。

https://github.com/alibaba/otter

其他类似组件:dataLink、databus

https://github.com/ucarGroup/DataLink

https://github.com/linkedin/databus​

备注:在单/双向同步场景中通常伴随着DDL的同步。

三、数据同步平台

当随着数据同步的场景越来越多,为每个不同的数据源写一个同步插件变得复杂和不好维护,此时可以考虑搭建一个数据同步平台。

备注:数据同步平台社区也有开源DataX可供参考。

https://github.com/alibaba/DataX/blob/master/introduction.md

Flink-CDC

https://github.com/ververica/flink-cdc-connectors

四、全局唯一主键

在分布式数据库中最好使用分布式全局唯一ID作为数据记录的唯一标识,原因也很简单,主要是避免主键冲突。

生成全局唯一ID的方案有很多,常见的有:

雪花算法: 由Twitter创建生成全局唯一ID算法,一个Snowflake ID组成共64位构成如下,如果不需要这么多位可以改造缩短一些长度。

Twitter Scala 版本:

https://github.com/twitter-archive/snowflake/tree/scala_28https://github.com/twitter-archive/snowflake/releases/tag/snowflake-2010

雪花算法java版本参考:

https://github.com/beyondfengyu/SnowFlake/blob/master/SnowFlake.java

五、运维自动化可视化

将常用的一些与DB相关需要手动的创建的自动化、可视化。


来源:瓜农老梁内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯