纵横大数据主要观点(三)
什么是数据库联邦
作者引入了一个数据库“联邦”的概念,是为了避免和数据库“集群”概念混淆。 关系型数据库联邦是数据库设计的一种架构:将一组互相独立的关系型数据库用网络连接起来协同工作,综合采用各种技术(分库分表、读写分离)以达到更强的数据管理与服务能力,提供更加的性能、更大的容量与更多的并发用户数。
一个联邦架构的数据系统需要提供以下关键服务
- 分布服务:确定由那个子数据库来执行相关的服务
- 协调服务:数据库节点之间交互数据处理,统一调度控制等
- 监控与管理服务:对分布式节点进行监控以及统一管理(例如节点升级、重启等)
- 消息服务:跨节点数据处理时需要用消息机制传递数据
联邦的元数据库
有两种思路: 1. 在联邦数据库中迁移一个元数据系统,例如联邦MySQL数据库中增加一个HA MySQL来保存元数据,此时这个元数据数据库就成为新的瓶颈 2. 将分库分表信息嵌入到应用中,应用课感知到分开分表信息,避免由数据库系统自身再次行程单点故障或者瓶颈
数据库联邦的应用实践
- OceanBase
- GaussDB for MySQL
- GaussDB for OpenGauss
数据库联邦、NoSQL与主流数据库
一句话:八仙过海、 各显神通,每个类型的数据均有自己的擅长的领域,可综合使用各类技术。
互联网企业如何解决问题
- 互联网业务的复杂性、不同业务之间的关联性没有金融、电信行业复杂方便实现分库、分表策略
- 即使是互联网企业在进行联邦数据库技术时应用也进行了改造,去除了不表要的表间的关联
- 互联网业务本身对数据强制性要求也低于金融、电信产品
- 互联网企业都有庞大的IT团队,在标准的软件包不能满足业务时,都是通过自研来满足业务,甚至可以说互联网企业本身就是一个IT企业,这对于传统的金融、 电信行业是是不可能实现的5. 大多数企业不能也不应该把自己变成一个IT企业,仍然需要专业的IT软件及服务来解决问题。
纵横大数据主要观点(三)