QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

NoSQL 数据库如何选型

作者:Arslan Ahmad

  • 2023-02-28
    北京
  • 本文字数:1360 字

    阅读完需:约 4 分钟

NoSQL数据库如何选型

什么是 NoSQL 数据库?


通常,“NoSQL 数据库”是指非关系型数据库。不管它是“non SQL”的缩写,还是“not only SQL”的缩写,大多数人都同意,NoSQL 数据库是以关系表之外的格式存储数据的。

 

NoSQL 数据库之所以如此大受欢迎,是因为它们为用户提供了灵活的数据存储模式。


为什么要使用 NoSQL 数据库?


NoSQL 数据库性能优异、可扩展,而且很灵活,非常适合移动、Web 和游戏应用程序。

  • 可扩展性:NoSQL 数据库通常使用分布式硬件集群进行横向扩展,而不是通过增加昂贵、健壮的服务器进行纵向扩展。在全托管服务中,有些云提供商在后台帮用户完成了所有这些操作。

  • 灵活性:NoSQL 数据库通常都提供了灵活的模式,支持快速迭代开发。NoSQL 数据库有灵活的数据模型,非常适合半结构和非结构化数据。

  • 高性能:与关系型数据库相比,NoSQL 数据库针对特定的数据模型和访问模式做了优化,进一步提升了性能。

 

以下是一些知名的 NoSQL 数据库类

键值数据库


键值数据库成对存储数据,每个记录包含一个唯一 id 和一个值。这类数据库提供了灵活的存储结构,因为值中可以存储任意数量的非结构化数据。

应用场景


会话管理、用户偏好设置和产品推荐。

典型产品


Amazon DynamoDB、Azure Cosmos DB、Riak。

内存键值数据库


不同于基于磁盘的数据库,这类数据库的数据主要保存在内存中。通过减少磁盘访问实现最小响应时间。由于所有数据都存储在内存中,在进程或服务器出现故障时,内存数据库有丢失数据的风险。内存数据库可以通过在日志中记录每个操作或生成数据快照的方式将数据持久化到磁盘上。

典型产品


Redis、Memcached、Amazon Elasticache。

文档数据库


文档数据的结构和键值数据库类似,只是键和值的形式是用标记语言(如 JSON、XML 或 YAML)编写的文档。

应用场景


用户资料、产品目录和内容管理。

典型产品


MongoDB、Amazon DocumentDB、CouchDB。 

列式数据库


列式数据库基于表存储,但没有严格的列格式。列式数据库不要求每一列都有值,而且可以组合包含不同数据格式的行段和列段。

应用场景


遥测数据、分析数据、消息传递和时序数据。

典型产品


Cassandra、Accumulo、Azure Table Storage、HBase。



NoSQL 数据库的类型

图数据库


图数据库使用节点和边来映射数据之间的关系。节点是单个的数据值,边是这些值之间的关系 

应用场景


社交图谱、推荐引擎和欺诈检测。

典型产品


Neo4j、Amazon Neptune、Azure Cosmos DB Gremlin。

时序数据库


这类数据库存储有时间顺序的流式数据。数据不是按值或 id 排序,而是按收集、摄入时间或元数据中包含的其他时间戳排序。

应用场景


工业遥测数据、DevOps 和物联网(IOT)应用程序。

典型产品


Graphite、Prometheus、Amazon Timestream。

分类账数据库


分类账数据库以日志为基础,日志中记录了与数据值相关的事件。这类数据库存储用于验证数据完整性的数据更改操作。

应用场景


银行系统、注册、供应链、记录系统(systems of record)。

典型产品


Amazon Quantum Ledger Database(QLDB)。

小结

为了选出最合适自己的 NoSQL 数据库,你应该了解各种 NoSQL 数据库之间的差异。

原文链接:

https://levelup.gitconnected.com/system-design-interviews-nosql-databases-and-when-to-use-them-780021f4063

相关阅读:

为什么 NoSQL 数据库这么受欢迎?

SQL 与 NoSQL 最终会走向融合吗?

腾讯云 NoSQL 数据库产品 2022 再迎升级,多项技术细节首次公开

最全 SQL 与 NoSQL 优缺点对比

2023-02-28 17:015613

评论

发布
暂无评论
发现更多内容

云渲染时可以关机吗_云渲染电脑可以关闭吗?

Renderbus瑞云渲染农场

云渲染

Syscoin宣布与Web3孵化器WEconomy建立长期合作伙伴关系

100DAO 加速计划

DAO #Syscoin #区块链 #Web3

站在2023起跑线,政企数字化如何深入“核心地带”?

脑极体

数字先锋| 药品信息何处有?尽在标识编码处

天翼云开发者社区

软件测试面试真题 | web自动化关闭浏览器,quit()和close()的区别

测试人

软件测试 面试题 自动化测试 测试开发 web测试

作为一个研发凭什么花大量时间修安全漏洞?

墨菲安全

安全 开发

PM&PMO汇报工作的5大技巧,学会了让老板眼前一亮!

PMO实践

PMO 年终报告 年终总结 项目经理

软件测试面试真题 | 需求评审中从几个方面发现问题

测试人

软件测试 面试题 自动化测试 测试开发 需求评审

华为云发布CodeArts Req需求管理工具,让需求管理化繁为简

IT科技苏辞

90%的Java开发人员都会犯的5个错误

JAVA旭阳

Java

【MySQL】数据库索引 - 浅谈索引类型

非晓为骁

Go 数据库 索引 MySQL 数据库

Tapdata Cloud 场景通关系列: Oracle → MySQL 异构实时同步

tapdata

oracle 异构数据 MySQL 数据库 实时数据 数据同步工具

TSDB在油气田勘探开发领域的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

案例 | 九科信息为某大型科研单位设计财务系统科目预警RPA

九科Ninetech

功能上新|使用 Excel 低门槛进行指标分析!

Kyligence

数据分析 指标管理

HTTP其他首部字段

穿过生命散发芬芳

HTTP 12月月更

一图了解人造石墨负极材料上中下游全产业链

PreMaint

新能源 锂电池

远程办公成趋势,华为云桌面为何连续7年领跑?

秃头也爱科技

华为云助推武水集团项目成功入选住建部“智慧水务”典型案例!

秃头也爱科技

云上办公,华为云桌面为何能连续7年第一?

秃头也爱科技

案例 | 九科信息久其报表RPA项目助力某大型央企财务部门提质增效

九科Ninetech

直播倒计时1天!“基于AIOps的全面可观测性网络研讨会”与你不见不散

博睿数据

根因分析 直播 智能运维 博睿数据

华为时习知,让企业培训更简单!

IT科技苏辞

华为云HECS云耀云服务器:全民上云的开拓者

秃头也爱科技

安全可信| 安全与高效兼得?天翼云EasyCoding敏捷开发平台来了!

天翼云开发者社区

阿里云对话 Tapdata:以秒级响应速度,为企业提供实时数据服务

tapdata

ETL 实时数据 DaaS 现代数据栈

Git之使用GitHub搭建远程仓库

芯动大师

GitHub、 git 学习 代码托管 分支管理 clone代码

数字先锋| 活起来、动起来、用起来!“海南模式”让数据要素发挥更大价值

天翼云开发者社区

重磅 | 九科信息成功入选中国交通建设集团财务云(RPA)项目

九科Ninetech

小数据治理靠“人工”,大数据治理靠“智能”

用友BIP

移动办公时代,就看华为云桌面

秃头也爱科技

NoSQL数据库如何选型_数据库_InfoQ精选文章