开发者关注的数据库技术与创新
- 最近关注的数据库技术与创新有哪些
- 对于未来数据库的演进有哪些思考
- 开发者心目中最理想的数据库是什么样的
在引起对数据库话题的相关讨论之前,先来定位一下什么是数据库服务。那么什么是数据库服务呢?简单来说数据库服务的核心能力就是数据的存储和查询,就是说数据库服务需要具备数据存储能力,同时提供数据查询检索服务,这可以说是数据库服务的基本能力。下面来说说作为开发者,最近关注的数据库技术与创新有哪些。
最近关注的数据库技术与创新有哪些
说到这个问题的话,那么从PolarDB入手来说,作为开发者关注的数据库技术与创新基本就在里面了。
PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。可以说关于数据库技术和创新,云原生数据库PolarDB 体现的很全面了,下面看一下云原生数据库PolarDB的产品架构图
对于数据库技术,经常谈及的就是高可用、高可靠、高弹性、高性价比,那么经常谈及的往往也是开发者一直比较关注的数据库技术,那么与之相关的云原生数据库PolarDB在这方面的技术创新,也是实实在在的摆在了开发者面前。
比如PolarDB MySQL版,为了实现高可用,PolarDB采用分布式集群架构,一个集群版集群包含一个主节点和最多15个只读节点(至少一个,用于保障高可用);
为了保证高可靠,数据库存储节点的数据采用多副本形式,确保数据的可靠性,并通过Parallel-Raft协议保证数据的一致性;为了保证高弹性,PolarDB采用计算与存储分离的设计理念,满足公共云计算环境下根据业务发展弹性扩展集群的刚性需求;
同时还采用读写分离、高速链路互联,来实现数据库的计算节点和存储节点之间采用高速网络互联,并通过RDMA协议进行数据传输,使I/O性能不再成为瓶颈。
可以说云原生数据库PolarDB中想到的用到的技术都是创新,每一项都是传统数据库所不具备的特点。
对于未来数据库的演进有哪些思考
对于未来数据库的演进,可以从两个方面来考虑。一个是开发者方向,另一个是DBA方向。
**开发者:**对于开发者来说,未来不管使用什么样的数据库,比如关系型数据库或者非关系型数据库等,都可以沿用现在使用对应数据库的习惯继续用下去,比如你现在使用的开源Mysql,那么你以后切换到其他数据库,比如云数据库、云原生数据库等,SQL语法依然不变,对开发者来说,无感无缝切入。也就是说,作为开发者,其实核心关注点是业务层面,并不是太关心数据库技术实现,而是希望数据库可以提供高可用、高可靠、高弹性、高性价比的服务。甚至数据库服务可以引入AI技术辅助开发者进行SQL开发,提高开发者效率,同时也可以基于AI技术自主检测SQL语法问题以及SQL性能问题,提前给出优化方案供开发者选择。
**DBA:**那么从DBA角度来说,希望数据库的维护工作是可以自动化、弹性化、免运维的。也就是说作为DBA,只需要设计好数据库架构,选好数据库产品,做好数据库检测以及数据库告警,而一些数据库的硬件检测、服务优化、任务优化等都可以通过AI辅助智能完成,从而可以让DBA在数据库服务的维护上免运维,在整个数据库管理上实现自动化管理。
开发者心目中最理想的数据库是什么样的
作为开发者,不管是使用开源数据库还是使用云数据库、云原生数据库,最终都是要回归数据库本身的作用,存储数据、查询数据。那么对于开发者或者说对于我目前来说,最需要的当然是一款在操作习惯上和现在使用的开源Mysql数据库没有差异,而性能上却要高过开源Mysql很多,并且不用维护,只需要用就可以了,开发者只要专心业务实现就可以,而不用去考虑这样操作数据库性能是否可以跟上。
总结起来说的话,作为开发者的我想要这样一款数据库:
首先数据库性能要很高,不管什么样的sql都可以像主键查询那样快,同样不管这个表存储几百万、几千万、上亿数据,查询效率仍然可以毫秒级返回数据;
其次就是数据库的稳定性要好,不管什么样的业务波动,都可以平稳运行,准确提供查询数据,数据库服务本身是横向扩展或者纵向扩展,开发者并不关注,开发者只关注当前的数据库能不能以最少得时间返回其想要的数据;
然后就是数据的一致性,对于集群数据库来说,数据的一致性总是不太好保证,那么不管何时何种业务波动情况下,保证返回的数据准确无误也是极重要的;
最后就是这款数据库的性价比要高,不能为了用的舒服而不去考虑成本因素,运维要智能化,尽可能的让开发者少去关注数据库的事,而把主要时间放在业务上。