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