构建在线和运营应用程序的开发团队越来越多地选择一种新型数据库来支持它们。它被称为“NoSQL”或“不只是 SQL”,包括 Redis、MongoDB 等选项。从可用的 NoSQL 解决方案中选择合适的数据库是在设计新应用程序时可以做出的最重要的决定之一。因此,如果您正在评估 NoSQL 数据库,请继续阅读,获取一些有助于您进行选择的建议。
选择数据库时,您应该遵循以下五个关键步骤:
NoSQL 数据库的目标可能是:为移动设备上的数千名用户提供个性化数字体验支持;为后端支付处理应用程序存储数据; 管理具有特定生存时间 (TTL) 的临时数据;或将持久数据作为记录系统存储。在特定场景下,您甚至可以在同一数据管道中涉及多种类型的数据库。
无论您的用例如何,定义 NoSQL 数据库在数据管道中的特定功能至关重要,包括数据如何收集、摄取并用于分析。
在当今时代,用户期望即时体验。通常,这要求您的应用程序具有小于 100 毫秒的稳定响应时间。否则,它将被视为缓慢,您可能会失去用户的兴趣。然而,某些应用程序,例如游戏、通信和金融交易系统,对其数据库的响应时间要求低至 13 毫秒。
除了延迟,您还需要确定吞吐量要求。例如,您的数据库能否以低至 50 毫秒或更低的延迟处理数千个并发数据流?
了解数据库将承受的需求对于确保用户体验质量至关重要。
通常,开发人员选择 NoSQL 数据库是因为它们需要具有灵活模式的半结构化或非结构化数据、简单的查询模式、高速度事务、大数据量以及通过分布式计算和存储实现快速廉价的可伸缩性。您可以通过 CAP 定理进一步缩小选择范围,该定理在维基百科上的定义如下:
根据 CAP 定理,您可以优先考虑 CA、AP 或 CP 特性。这有助于您确定哪种数据库可能适合您的应用程序。
托管服务解决方案由经验丰富的资源负责数据库的日常管理。这使您自己的资源能够专注于应用程序所需的创新和效率。如果选择此方向,请评估提供数据库即服务 (DBaaS) 选项的第三方,并选择能够处理您的吞吐量和延迟要求并保证正常运行时间 (uptime) 的提供商。
当然,外包并非总是唯一的选择,在这种情况下,您应该考虑哪些数据库提供商提供支持大规模容器配置、调度和管理的软件版本。务必检查您最需要的功能,例如可伸缩性、双活部署、吞吐量和延迟,并在概念验证 (POC) 试用期间验证它们。
理想情况下,您希望数据库提供商允许您在您选择的任何环境(无论是公共云还是私有云)中运行数据库,并完全控制您的数据和配置。您的数据库软件还应以 Docker 镜像的形式提供,这将使您的企业开发人员能够在其基于 Docker 的微服务架构中使用它。
如果您使用私有平台即服务 (PaaS),请确保您的数据库提供商支持在 Pivotal、Bluemix、Heroku 等私有 PaaS 环境中实现无缝扩展和轻松高可用性。
如果您选择托管服务提供商,请确认他们支持跨多个云提供商(包括 AWS、Azure 和 Google)的集群部署。
选择正确 NoSQL 数据库的好处
经过深思熟虑的决策的一些优势包括:
需要帮助选择合适的 NoSQL 数据库吗?
Redis 是世界上最受欢迎的内存数据库 Redis 的发源地,也是 Redis Enterprise 的商业提供商。在关于 NoSQL、内存数据库、运营数据库和数据库即服务的顶级分析报告中,Redis 始终位居领导者地位,受到超过 7,000 家企业的信任,其中包括财富 500 强前十名中的七家。
Redis Enterprise 企业版简化了高性能、可靠且无缝可扩展的实时应用程序的开发,包括电子商务、移动、社交、个性化、物联网 (IoT)、欺诈防范等许多领域。
部署 Redis Enterprise 最快的方式是作为托管式和无服务器的数据库即服务 (DBaaS) 部署在公共云或私有云中,支持双活地理分布和 Redis-on-Flash,以及搜索、图或文档数据模型。Redis Enterprise 软件可以安装在任何云或私有数据中心,也可以作为容器部署在 Pivotal CF、OpenShift 或作为 AWS AMI 部署。