引言:本文将介绍无服务器数据库的基本概念,其知名的产品,以及各自的优缺点。 了解无服务器架构无服务器计算是云计算的一种执行模式,即:云服务提供商能做到对计算机资源分配的动态管理。由于服务功能的执行会占用宝贵的计算资源,因此如果您的应用既涉及到内存的分配、又与服务功能的执行时间有关的话,那么AWS和Azure都会以100毫秒为单位向您收取费用。AWS Lambda当前的计价标准为0.00001667美元每GB每秒,而Azure的功能费用则为0.000016美元每GB每秒。您可以籍此来细粒度地掌握成本的上涨速度。考虑到一般应用所能够被分配到的内存量大约在128MB到1.5GB之间,则对应的功能执行的价格也会根据您的设置不同而有所变化。当然,无服务器计算仍然需要用到真实的服务器来安放其对应的无服务器数据库。所以,只有了解了自己的需求,您才能轻松地去选择合适的数据库服务,并使用那些当今最为先进的技术解决方案。不同的无服务器数据库当前,市面上有几款知名的数据库产品可供选择,例如:Azure Data Lake(Azure是微软的公有云服务,Data Lake是其中一种类型的服务主机)。Google云端商店Google云端商店是一个面向文档的商店,它将Google App Engine的数据库组件列为了独立的服务。同样隶属于Google的Firebase,则可以为客户提供两种不同的支付方案选项:固定费用的套餐和按使用支付的方案。同时,Firebase也包含了一个分层式的数据库。FaunaDBFaunaDB分布于世界各地,它是一种最重要的交易型数据库服务,其技术主要是基于Twitter。亚马逊Aurora Serverless亚马逊Aurora Serverless的预览版已于2017年第四季度推出。它有两种不同的版本:· 兼容MySQL与PostgreSQL的版本
· 兼容MariaDB与Oracle等其他已知系统的版本
Amazon Aurora Serverless数据库可以被完全托管,并且能够自动将数据库的存储容量扩展到64TB。DynamoDB它是亚马逊的另一项服务。DynamoDB是一种完全托管的NoSQL数据库服务。它的无缝可伸缩性能够提供可预测的高速性能。您可以直接使用DynamoDB来创建数据库的表项,也可以存储和检索任意数量的数据。它还能为任何级别的流量请求提供服务。MongoDB尽管不属于无服务器数据库,但是MongoDB仍然值得一提。因为它提供了一款数据库即服务(Database as a Service,DBaaS)的产品--MongoDB Atlas。MongoDB是免费且开源的,它由GNU的Affero通用公共许可证(GeneralPublic License)所发布。它在数据存储和JSON的相关文档方面非常灵活,因此文档之间的字段可以有所不同,而数据结构也随着应用场景而发生改变。
如上所述,作为一款DBaaS工具,MongoDB Atlas具有强大的功能。它能够进行各种自动化操作,包括在几分钟之内创建和部署群集,并避免您的群集出现宕机。其基于角色的访问控制服务可以保护您的各种数据。同时它也具有加密、网络隔离、和身份验证等保护功能。MongoDB Atlas的另一个强大功能是:您只需要按下一个按钮,便可轻松实现应用的横向与纵向扩展。为了获得更好的读取性能和服务保证,您还可以在多个地区内部署集群。这些集群虽然在地理上是分布的,但是它们能够自我修复,并且具有出色的容错性。MongoDB Atlas所带来的连续备份解决方案,能够提供可查询的时间点与快照恢复的选项。您可以方便地查找到任何细节,并能实时获取与性能相关的视图。同时,通过自定义的各种警报参数,您还能通过优化其仪表板,来突出显示各种关键的历史指标。