ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

5步选择高性能NoSQL数据库

2021-10-14 22:32:14  阅读:220  来源: 互联网

标签:NoSQL 数据库 应用程序 选择 吞吐量 高性能 延迟


构建在线和运营应用程序的开发团队越来越多地选择一种新的数据库来支持它们。它被称为“NoSQL”或“Not Only SQL”,包括Redis,MongoDB等选项。从可用的NoSQL解决方案中选择正确的数据库是我们在设计新应用程序时可以做出的最重要决策之一。因此,如果你正在评估NoSQL数据库,本文可以作为一个参考。

选择数据库时,我们应遵循以下五个步骤:

  • 定义 NoSQL数据库的目标。
  • 确定吞吐量和延迟要求。
  • 为正确的工作选择正确的数据库。
  • 选择或做自己动手(DIY)的托管服务提供商之间。
  • 确定 适合你的情况的最佳部署模式。

 

 




 

1. 为你的数据库定义目标

NoSQL数据库的目标可能是为移动设备上的数千名用户提供个性化数字体验,为后端支付处理应用程序存储数据,管理有一定时间生活的短暂数据,或将持久数据存储为系统记录。你甚至可以在特定方案的同一数据管道中涉及多种类型的数据库。

无论用例如何,在数据管道中定义NoSQL数据库的特定功能非常重要,包括如何收集QQ号码交易平台地图,提取和提供数据以进行分析。

2. 确定吞吐量和延迟要求

在今天这个时代,用户期待即时体验。通常,这需要你的应用程序的响应时间<100毫秒。否则,它将被视为缓慢,你可能会失去用户的兴趣。但是,一些应用程序 - 例如游戏,通信和金融交易系统 - 要求其数据库的响应时间低至13毫秒。

除延迟外,我们还需要确定吞吐量要求。例如,数据库可以处理数千个同步数据流,延迟低至50毫秒或更长?

了解将对数据库提出的要求对于确保用户体验的质量非常重要。

3. 为正确的作业选择正确的数据库

通常,开发人员选择NoSQL数据库是因为它们需要半结构化或非结构化数据,具有灵活的模式,简单的查询模式,高速事务,大量数据以及通过分布式计算和存储的快速且廉价的可扩展性。你可以通过CAP定理进一步缩小选择范围,CAP定义定义如下:

  • 一致性:每次读取都会收到最近的写入或错误。
  • 可用性:每个请求都会收到(非错误)响应 - 不保证它包含最近的写入。
  • 分区容差:尽管节点之间的网络丢弃(或延迟)任意数量的消息,系统仍继续运行。

根据CAP定理,你可以优先考虑CA,AP或CP特征。这有助于确定哪个数据库最适合你的应用程序。

4. 选择托管服务提供商和自己动手(DIY)

托管服务解决方案使用经验丰富的资源处理数据库的日常管理。这使你自己的资源能够专注于应用程序所需的创新和效率。如果朝这个方向发展,请评估提供数据库即服务选项的第三方选项,并选择能够在保证正常运行时间的同时处理吞吐量和延迟要求的提供商。

当然,外包可能并不总是可选的,在这种情况下,应该考虑哪些数据库提供商提供的软件版本支持大规模配置,调度和管理容器。请务必检查你最期望的功能,例如可伸缩性,主动 - 主动部署,吞吐量和延迟 - 并在概念验证试验期间对其进行验证。

5. 确定部署模式

理想情况下,你需要一个数据库提供程序,它允许在选择的任何环境(无论是公共还是私有)中运行数据库,并完全控制你的数据和配置。数据库软件也应该作为Docker镜像提供,这将允许企业开发人员在基于Docker的微服务架构中使用它。

如果使用私有平台即服务(PaaS),请确保你的数据库提供商支持私有PaaS环境中的无缝扩展和轻松高可用性。

如果选择托管服务提供商,请确认它们支持跨多云提供商的群集部署。

做出正确的NoSQL数据库选择的好处

经过深思熟虑的决策的一些优点包括:

    • 加快开发,测试和生产环境之间的连续性,缩短产品上市时间。
    • 与Docker编排工具集成时,高可用性和更轻松的可扩展性。
    • 更快的吞吐量,最小的延迟和保证正常运行时间
    • 全球多云部署选项
    • 使用托管服务提供商可节省大量成本

标签:NoSQL,数据库,应用程序,选择,吞吐量,高性能,延迟
来源: https://www.cnblogs.com/qiucunxin/p/15408820.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有