从AWS 2010年推出关系型数据库服务到国内厂商的纷纷的跟进,华云关系型数据库服务(RDS)并不算是先行者,但是华云RDS自投入研发以来集百家之长,力求为用户打造最合适的数据库服务。本文中,笔者将从一个用户的角度历数市场上现有关系型数据库服务的主要功能,探索是否有一些改进的空间以及华云RDS技术上所做的一些选择。
数据库备份是用户常用的功能之一,mysqldump/xtrabackup 是最常见的备份方案,同时也是大多数厂商的选择。
Mysqldump有比较明显的缺陷,无法做增量备份,对于经常需要做备份的用户来说,是无法接受的。Xtrabackup是Percona推出的商业解决方案,同时提供免费版本,基本机制是通过比较LSN来做增量拷贝,从机制来看,需要innodb事务的支持,对于非innodb比如myisam,则通过FLUSH TBALES WITH READ LOCAK来保证数据的一致性,显然地,block write的时间取决于myisam表拷贝时间。好吧,我们可以禁用myisam表,这个问题可以跳过。另一方面,xtrabackup需要运行在GuestOS中,读取拷贝生产环境数据目录同时会影响到线上的IO的表现。
最后,如果用户想要删除其中一个增量备份,该如何做增量的合并和删除?还是将依赖的增量一并删除?
恐怕对用户来说,这都不是理想的。
有没有既不影响生产环境IO,又能做增量并且还能独立删除的办法呢?快照或许是一个比较好的选择。
l 秒级增量备份 – 快速完成数据备份,避免大数据量备份时间过长。
l 避免链式依赖 – 不同于市场上某些云数据库产品,备份点之间存在强依赖,无法单独删除,华云RDS采用了不同的方式,可单独删除某增量备份快照。
l 线上业务无干扰 – 基于快照的备份过程不占用实例IO资源、无业务阻塞。
Innodb、myisam是最常用的MySQL数据库引擎,前者是事务安全的,后者则拥有更高的性能。前文描述到,myisam无法保证备份点数据的一致性,FLUSH TBALES WITH READ LOCAK又需要block write,得不偿失,华云RDS强制关闭myisam表的使用。
MySQL replication是做读写分离的基础,分为异步和半同步的方式,前者有对主机性能影响小,但数据有一定延时,后者则相反。两种技术可以满足用户不同场景的需求。关于crush safe的问题,分为master crush safe和slave crush safe。MySQL 5.6版本之前存在一个bug,即当sync_binlog=1/innodb-flush-log-at-trx-commit=1时,会使得InnoDB存储引擎的group commit失效,导致性能急剧下降,crash-safe slave的问题更复杂些,主要replication中的SQL thread和IO thread 原子性问题,这里不再累述,MySQL 5.6版本通过将relay-info.log的信息保存在InnoDB的事务表中解决了这个问题。因此,华云RDS目前只在MySQL 5.6版本中启用复制功能。
市场上主流RDS HA 采用双机热备架构,一台主机宕机另一台快速接管服务,并保持对外IP不变。这种架构最为传统,也被生产环境证明可以解决部分高可用的问题。只是那令人头疼的脑裂问题如何解决或者有效缓解,脑裂情况下数据可靠性是否有保证?从公开的资料看,目前市场上RDS HA产品并没有回答这一问题。
传统方案通过部署proxy节点来接管数据库的访问,自然的,proxy节点的性能很容易成为整个集群的瓶颈,
并且重新引入了单点故障的问题,不可避免又需要引入proxy HA架构,此时脑裂问题又无法完全避免。有没有一种方案可以有效解决这些问题?
敬请关注华云RDS后续版本。
希望试用华云关系型数据库服务(RDS)?欢迎进入页面:
https://www.chinac.com/Product/rdsProductFeature.html
好文章,需要你的鼓励
英特尔携手戴尔以及零克云,通过打造“工作站-AI PC-云端”的协同生态,大幅缩短AI部署流程,助力企业快速实现从想法验证到规模化落地。
意大利ISTI研究院推出Patch-ioner零样本图像描述框架,突破传统局限实现任意区域精确描述。系统将图像拆分为小块,通过智能组合生成从单块到整图的统一描述,无需区域标注数据。创新引入轨迹描述任务,用户可用鼠标画线获得对应区域描述。在四大评测任务中全面超越现有方法,为人机交互开辟新模式。
阿联酋阿布扎比人工智能大学发布全新PAN世界模型,超越传统大语言模型局限。该模型具备通用性、交互性和长期一致性,能深度理解几何和物理规律,通过"物理推理"学习真实世界材料行为。PAN采用生成潜在预测架构,可模拟数千个因果一致步骤,支持分支操作模拟多种可能未来。预计12月初公开发布,有望为机器人、自动驾驶等领域提供低成本合成数据生成。
MIT研究团队发现,AI系统无需严格配对的多模态数据也能显著提升性能。他们开发的UML框架通过参数共享让AI从图像、文本、音频等不同类型数据中学习,即使这些数据间没有直接对应关系。实验显示这种方法在图像分类、音频识别等任务上都超越了单模态系统,并能自发发展出跨模态理解能力,为未来AI应用开辟了新路径。