什么是数据库即服务?
数据库即服务(DBaaS)是一种为用户提供管理数据库的云服务。这些服务使你能够部署、操作和扩展云数据库,而不需要管理主机或确切的配置。这是因为DBaaS使你能够使用管理的基元,抽象出数据库使用的更复杂的方面。这些服务使用户能够通过网络用户界面(UI)或API来管理数据库。供应商通常处理备份、维护和升级的责任,让用户只对他们的数据和访问控制负责。
Azure数据库服务
Azure提供三种主要的管理服务,使你的数据库迁移更容易。这些服务是SQL数据库、Cosmos DB和PostgreSQL的数据库。
Azure SQL数据库
Azure SQL数据库是一种模拟SQL Server的DBaaS。它包括数据发现、管理迁移、安全、机器学习和混合部署的功能。在使用SQL数据库时,你可以选择部署单个数据库、共享资源的集群数据库,或者重新创建整个SQL Server部署。
Azure SQL数据库的使用情况包括。
- 软件即服务(SaaS)--你可以使用超扩展和弹性池来创建多租户数据库,存储量高达100TB
- 业务连续性--为关键任务工作负载授予99.995%的服务可用性
Azure Cosmos DB
Azure Cosmos DB是一个多模式的DBaaS,支持一系列的API,包括SQL、Cassandra、Spark和etcd。它允许用户访问具有多主机复制、自动缩放和低延时操作的全球分布式数据库。当你使用Cosmos DB时,你可以选择五个一致性级别。
Cosmos DB的使用情况包括。
- 网络和移动应用- 您可以使用灵活的模式和复杂的数据类型
- 游戏- 可以管理大量的突发请求,满足低延迟要求,并启用社交图谱
用于PostgreSQL的Azure数据库
Azure Database for PostgreSQL是一种DBaaS,旨在与PostgreSQL一起使用。它包括性能分析、水平可扩展性和内置安全等功能。你还可以将这项服务与各种工具整合,包括Timescale、PostGIS和Visual Studio Code。它支持与Java、Ruby、Python、Node.js和PHP一起使用。
用于PostgreSQL的Azure数据库的使用案例包括。
- 数字营销--实现了个性化数据的存储和与客户管理系统的集成
- 金融管理--包括金融应用的内置安全
AWS数据库服务
当涉及到DBaaS产品时,AWS提供最广泛的服务。下面是三种最常用的服务,你可以选择。通常情况下,用户在他们的AWS实施中会采用这些服务中的几个。
亚马逊RDS
亚马逊RDS是一个关系型数据库服务,你可以把它作为Oracle、PostgreSQL、MariaDB、SQL Server和Amazon Aurora数据的主机。亚马逊Aurora是一个关系型数据库服务,是AWS的专利。它与MySQL和PostgreSQL兼容,并且是完全管理的。RDS包括一个集中的管理控制台,也可以通过CLI和API进行管理。RDS包括自动配置、设置、备份和更新等功能。
亚马逊RDS的用例包括。
- 电子商务应用- 支持金融工作负载所需的安全性、灵活性和PCI合规性
- 移动和在线游戏--为大量的分布式同步连接提供高可用性和吞吐量
亚马逊DynamoDB
亚马逊DynamoDB是一个DBaaS,你可以作为键值和文档存储数据库使用。它包括自动备份和恢复、多主机、内存缓存和多区域使用等功能。
亚马逊DynamoDB的用例包括。
- 银行和金融--支持偶发交易处理、变化数据捕获和欺诈检测的工作负载
- 软件即服务(SaaS)--您可以将其用于内容元数据存储、关系图数据存储和元数据缓存
亚马逊DocumentDB
Amazon DocumentDB是一个文档数据库服务。它提供了对可扩展、高可用性数据库的访问,与MongoDB兼容。DocumentDB使您能够存储、索引和查询JSON文件。它还支持存储和计算资源的独立扩展。
亚马逊DocumentDB的用例包括。
- 移动和网络应用- 提供低延迟和高性能,支持每秒数百万次的请求
- 档案管理--使您能够存储用户的偏好、在线交易和认证档案
谷歌云数据库服务
谷歌云提供一些最容易使用的DBaaS产品。下面是三个流行的选项,你可以选择。
云SQL
云SQL是一个DBaaS,你可以用于基于MySQL、PostgreSQL和SQL Server的应用程序。它包括自动备份、复制和故障转移等功能。你还可以将它与其他谷歌云服务整合,包括谷歌Kubernetes引擎和BigQuery。
云SQL的用例包括。
- 微服务的持久性存储- 为容器化工作负载提供可扩展的数据库。
- 应用开发和部署--使你能够为基于Kubernetes的应用的开发和测试建立、复制和扩展数据库。
云端扳手
Cloud Spanner是一个专有的全球分布式的企业级DBaaS。它旨在实现关系型数据库结构与非关系型数据库的典型水平扩展。它支持跨行和分布式资源的强一致性,99.999%的可用性SLA,以及内置的企业级安全。
Cloud Spanner的使用案例包括。
- 电子商务应用--提供高可用性,保证最大停机时间为5分钟
- 金融交易- 支持交易的全球同步复制,以获得统一、一致的全球数据视图
云计算Bigtable
Cloud Bigtable是一个NoSQL DBaaS,您可以将其用于操作和分析工作负载。它包括一致的低于10毫秒的延迟、自动复制、自动扩展和对机器学习应用的支持等功能。你可以将其与BigQuery和Apache解决方案整合。
云计算Bigtable的使用案例包括。
- 金融分析--使您能够根据历史模式建立模型,存储和整合市场数据,并持续管理交易数据
- 物联网_应用_--支持对大量时间序列和实时数据的摄取和分析
Azure vs AWS vs Google。谁是最公平的?
选择适合你的DBaaS供应商需要仔细评估你当前的环境和需求。这包括。
- 你的工作负载有多重要,你有哪些正常运行时间要求
- 你已经在使用哪些云服务或工具
- 你是在迁移数据还是从头开始
- 你的最终环境应该是什么
根据你的需要,这三个供应商都提供了可靠的服务。然而,每个人都在特定领域有专长。如果你在类似的服务中纠结,可以考虑以下强项。
Azure
Azure为迁移提供了最大的支持,内置了迁移评估、优化和自动化的工具。它在部署和许可方面都提供了最大的灵活性。Azure还擅长支持混合资源,使其成为对隐私或合规性有强烈关注的行业的良好选择。
AWS
AWS提供最广泛的DBaaS产品和最多的云服务。它的服务是高性能的,并提供创新的解决方案,与传统引擎顺利结合。
谷歌云
谷歌云提供最友好的服务,为工作负载提供最好的性能。此外,如果你用Kubernetes操作容器,谷歌是难以超越的。它包括平台的内置工具,并通过原生支持使连接到微服务的数据库的优化更简单。
总结
数据库即服务云产品可以帮助你利用云服务,而不需要管理数据库。然而,在选择管理服务之前,你应该评估你的项目,以确保该服务适合你的项目要求。
如果你对Azure感兴趣,你可以查看SQL数据库、Cosmos DB和PostgreSQL数据库的管理产品。如果你的项目使用AWS,你可以看看Amazon RDS、Amazon DynamoDB和Amazon DocumentDB。管理的谷歌云产品包括Cloud SQL、Cloud Spanner和Cloud Bigtable。
本文评述的每一个DBaaS选项都提供了独特的价值,可以在各种各样的应用中帮助你。在评估服务时,清点你当前的基础设施,考虑你的数据隐私和安全需求,决定预算,然后检查你所评估的任何DBaaS是否能满足你的要求。
The postDatabase as a service roundup:AWS vs Azure vs Google Cloud首次出现在DevOps大会上。