数据库分布式是时代的产物-3306π 广州站
发布于 2021-05-13 21:42 ,所属分类:数据库和大数据技术学习资料
主题:
DBLE 与 Sharding-JDBC 中间件我该怎么选?
嘉宾自我介绍
爱可生自 2003 成立至今,已拥有 40 多位 MySQL OCP 方面的专家,并且也取得了 40 多项数据库周边计算机软件著作权和软件产品证书,阎老师可否简单介绍一下爱可生目前有哪些优秀的产品以及您的基本情况给朋友们呢?
相信大部分 MySQL DBA 对爱可生还是比较熟悉的,爱可生的产品前几年都是围绕 MySQL 做的运维产品,比如:高可用产品,读写分离产品,分布式产品,灾备复制产品,运维管理平台等等,近几年也做了包括 TiDB,Redis,Mongodb 等兄弟数据库运维产品;当然还有一些还不错的开源产品,比如 dtle,dble,txle 等等;今年 1024 我们也会发布新的开源产品,大家可以期待一下。
数据库分布式是时代的产物,随着互联网深入到生活的方方面面,数据库也逐渐膨胀起来了,单机数据库撞到了硬件层面的瓶颈。对于大部分 OLTP 交易来说,数据总量是海量的,数据之间的联系是松散的,是可以被拆分的,于是产生了数据库的分布式。由上可知,数据库分布式化主要是用于处理这样的场景:OLTP 下的海量并发,要求比较低的延迟,写入更多,查询相对较少。
为了解决这个问题,怎么拆分,从哪里拆分就演化出不同的产品,一种是分布式键值系统+分布式事务能力+共识算法的可靠机制所形成的 NewSQL,像 Google Spanner,国内的 TiDB 等;另一种依托单机数据库+中间件形式的方案,像是 dble 和 sharding-jdbc 等等。随着海量并发的要求越来越高,比如双 11,购物节什么的越来越多,也会有越来越多的系统需要将数据库分布式化。
而在未来很长一段时间内,各种产品还将处于百花齐放的阶段,一方面,单机数据库经过了多年的验证和使用,足够稳定和方便使用,硬件廉价,甚至人才也更多,所以单机数据库+中间件形式的分布式更容易掌握,大家心里更有底。
另一方面, 在实力足够雄厚的互联网大厂,他们有足够的资金来演进自己的 NewSQL,并能够承担可能存在的问题所带来的风险,相信也会走出很大的一片天。
首先从兼容性来讲,兼容性分为两个方面,一方面是协议层面,dble 实现了 MySQL 的通信协议,所以市面上所有符合 MySQL 通信协议的工具和驱动都可以直接使用。另一方面是 SQL 语法的兼容性,基本上除了和单机数据库强相关的一些语法,dble 都支持。然后是扩展性,dble 是个基本无状态的工具,可以通过增加实例,负载均衡的方式提高吞吐量。关于数据拆分,dble 不仅提供了内置拆分算法,还提供自定义拆分算法的接口,可以实现用户自己的拆分方式。dble 还提供了大量面向运维友好的功能,比如管理端可以获取数据用于监控,比如故障的告警,比如高可用接口用于运维自定义高可用切换的行为。
最后,dble 提供了性能表现的观测手段和调优工具集,通过他们,我们可以调整 dble 整体的性能,也可以调整 sql 或者某个业务的性能。
以上这些在 dble 的公开课都有讲到过,大家可以通过视频来详细学习。
dble 一旦用于企业实际的生产,除了对软件本身的了解,我们认为至少还需要建立以下三方面的能力。一是建立完善的运维体系,包括日常的监控,定期的巡检,灾备的策略和演练,当然,能够做到自动化是更好的,这里我们爱可生有企业级的商业运维方案。二是培训经验丰富的 DBA 或者运维人员,不仅会发现问题,比如发现系统的不稳定因素;还能分析问题,比如遇到了慢 SQL 应该怎么调优;懂一些重要的原理,比如 MySQL 高可用切换的时候,dble 是怎么跟着响应和联动来保证数据一致性的。最后是建立起和业务开发沟通的桥梁,给出开发一些关于 sql 开发的规范和建议,避免把自己陷在不必要的泥沼中。
时间:2021年05月22日 08:50-18:00
地点:广东广州天河区黄埔大道中 322 号粤大金融城国际酒店六楼平安厅
点击“”查看活动!
相关资源