云原生数据库这几年一直是云服务厂商重点发力的对象,例如阿里云的PolarDB。从历史上看每一次的数据库的升级都带来了极大的经济效益,例如Oracle的出现,MySQL的出现,以及后来的NoSQL系列。
现在市场上一致的声音是,未来数据库的方向将是云原生数据库!
那么云原生数据库应该有哪些能力呢?我认为至少具备以下能力:
1、针对专门的场景而设计,不同的场景可以有不同的数据库支持,以提供特定场景的更优的特性。
2、很强的弹性,支持无服务器的架构,按实际的业务流量感知进行自动的扩缩容
3、支持全球部署,一方面全球各地可以就近访问,速度更快,另外一方面可以做成异地容灾,安全程度高
4、可以无缝与其他的大数据组件进行集成,方便大数据处理架构的搭建。
5、对用户来说API保持稳定,底层的升级以及提供的能力,不需要用户端进行过多的适配
6、按使用量进行收费
这其中弹性调度我认为是最重要的核心能力,为什么这么说呢?我们看以下这些场景:
1、某网站每月10号搞大型活动,峰值流量是平常的10倍,需要的数据库资源在10号当天特别高,为了应对流量以峰值为参考值增加了数据库资源,但平时低流量造成了极大的浪费。
2、数据冷热不均,但为了提高性能,全部使用了SSD,但是实际发现高频率的查询只占其中很小的一部分,其余时候普通磁盘就可以支撑;
3、为了就近提供服务,在不同的区域部署了数据库,为了就近访问,前端应用架构改造支持转发到不同的区域数据库,这使得架构变得复杂。
以上这些场景都是实实在在的生产问题,我们想象一下,这些能力能不能下沉到数据库本身,而让上层应用架构更加简单,成本更低?
例如,数据库自行根据流量的大小进行无感知地扩容和缩容,数据库自行根据数据的冷热特性选择不同的存储介质,数据库自行根据就近情况选择数据存储位置。
而这些能力就是现代云原生数据库所瞄准的能力,例如亚马逊提供的Amazon Aurora、Amazon DynamoDB这些云原生的数据库能力,已经有很多的互联网企业乃至金融机构都在使用了,我相信云原生数据库一定是数据库的未来
网友评论