随着云计算的快速发展,越来越多的企业希望从顶层框架入手,探索整体数据架构中的更多可能性,DBaaS(亦称泛数据库类服务)就是PaaS 层的一个重要分支。那么,DBaaS到底是什么?适用于哪些应用场景?希望以下内容,可以帮助用户在云应用中做出正确选择!
对比传统的标准化数据库模式,DBaaS能带来更灵活,可扩展、按需服务的体验,用户可对云环境中的资源进行调配,因此获得广泛支持和采用。问题是,什么是DBaaS?
这一点很重要,DBaaS并不等同于在基于云的服务器(如Amazon AWS或Microsoft Azure)上运行数据库,我们要正确理解DBaaS的概念。虽然在虚拟机上运行数据库一定会带来成本和灵活性方面的优势,但是仍需要用户维护数据库,需要用户具备服务器操作和运营方面的专业知识。
而真正的DBaaS,是由云服务商提供服务,用户不需要用专业的运维团队来维护服务器的运转。一些物理和虚拟化的硬件设备,包括操作系统、网络、相关的资源配置等,都可以通过云的形式,一键完成设置,然后通过一个简单的API调用,将应用程序连接起来。比如:Amazon RDS、阿里云 RDS、Azure SQL Databases 和 Azure Database for MySQL/PostgreSQL 等,都是DBaaS的典型应用。
使用DBaaS,能让用户在部署速度和成本方面,获得显著提升。但是,DBaaS也并不是“一本万能”,什么场景都适用,还是要看具体的项目需求。
DBaaS适用于哪些应用场景?
1、没有专业的数据库团队。如果企业的技术团队没有那么多的软件开发人员,无法应对数据库的复杂性,那么就可以考虑使用DBaaS。除了更方便数据库管理以外,DBaaS服务商还能提供数据的自动备份等其他服务,让企业只专注于关键业务开发,而不用担心数据库的运行问题。
2、临时数据库。如果企业只是在短期内有需要,用于持续集成或者后端的测试,DBaaS模式可以为用户快速构建一个数据库,当测试结束时,用户可以删掉数据以及相应的数据库。这种方式,大大加快了企业测试环境下的自动化部署和更新,让数据库应用更加简单。
3、微服务设计。在企业的生产环境中,如果使用了由数据库组成的大量的微服务设计,DBaaS这种模式也会非常适用。另外,即使企业有很多专业的数据库开发人员,但如果不愿意在数据库部署方面投入大量的时间和精力,也可以通过DBaaS快速投入生产。
使用DBaaS有哪些局限性?
值得一提的是,虽然DBaaS有很多优势,但是切不可在以下场景中适用。
第一,具有复杂的数据库逻辑关系。了确保数据库在部署时的易用性,DBaaS服务商限制了数据库在复杂环境下的扩展能力,从某种程度上降低了其灵活性。比如:用于灾难恢复时,需要在一个主节点中进行集群复制,同时辅助节点也要同步复制集群,主从节点之间存在异步关系,这种相对复杂的逻辑关系,大大超出了DBaaS的应用范围。换言之,DBaaS没有办法理解企业深度定制化的个性化服务。
第二,数据库有与指定的工作负载绑定。如果数据库要绑定更重的工作负载,则需要更强大的硬件、CPU和内存以及相应的存储能力,DBaaS没有办法满足这样的需求。
如何做出正确选择?
如果您所在企业在数据库方面的需求符合DBaaS所有指标,那就多花点时间去仔细研究DBaaS主流产品。包括:Amazon RDS、谷歌云SQL和Azure SQL数据库等,他们在部署模式、性能和实例类型等方面,各有不同特征。如果企业需求不适合DBaaS,那就需要自建数据库。如果没有专业的数据库团队,也没有招聘专职人员的打算,数据库外包可能是优秀选择。