写点什么

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:015874

评论

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

第八周作业

Geek_4c1353

极客大学架构师训练营

CloudQuery v1.2.1 版本发布

BinTools图尔兹

数据库 开发者 运维 工具 开发工具

从应用开发角度认识K8S

LorraineLiu

容器 云原生 k8s入门

apipost如何设置断言

测试人生路

接口测试

双十一背后的技术

anyRTC开发者

大数据 AI 音视频 WebRTC RTC

详解快速开发平台与工作流通用组件的设计规范

Marilyn

敏捷开发 企业应用

快速了解阿里微服务热门开源分布式事务框架——Seata

比伯

Java 架构 微服务 seata

氪信团队再夺冠!易观数科第四届OLAP算法大赛前三甲诞生!

易观大数据

数据库 算法 OLAP

JVM真香系列:堆内存详解

田维常

Java JVM 堆栈 虚拟机

堪称完美!11月华为官方首发Spring响应式微服务,Spring+SpringBoot+SpringCloud三管齐下

Java架构追梦

Java 架构 微服务 springboot SpringCloud

携oneAPI Gold版本和服务器GPU 英特尔领先业界进入XPU时代

E科讯

堪称完美!11月华为首发Spring响应式微服务,三管齐下

小Q

Java spring 学习 架构 面试

腾讯云直播全解析,双11怎么买才不亏?

腾讯云音视频

腾讯云 阿里云 云直播 直播 视频

我终于拥有自己的独立博客了。

彭宏豪95

GitHub 写作 博客 IT

奈学教育荣获“中关村高新技术企业”认证

奈学教育

奈学教育

[译文]设计模式01 – 抽象工厂模式(附代码实例)

YoungZY

设计模式 译文

薇娅和李佳琦带货百亿奇迹背后是这些技术团队的努力

阿里云CloudImagine

深入解析 Flink 的算子链机制

Apache Flink

flink 流计算

三部门联合发言不得虚报直播销售额业绩:双十一何以刺激了用户的购买欲

石头IT视角

实时音视频面视必备:快速掌握11个视频技术相关的基础概念

JackJiang

音视频 即时通讯 视频

科技助力餐饮,普渡送餐机器人在餐博会上被众人围观!

DT极客

《分布式Java应用基础与实践》.pdf

田维常

分布式 电子书

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java~~~

MySQL 阿里 sql查询 SQL优化 SQL光标

【活动回顾】Flutter实时音视频应用场景实践

ZEGO即构

flutter RTC

十年资深架构师分享:如果这么做还收不到一线互联网大厂面试,请来找我。

Java架构师迁哥

奈学教育荣获“中关村高新技术企业”认证

古月木易

教育 IT

与第三方系统打通的N种进阶方式

棒锤🐮

架构

【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器

IoT云工坊

人工智能 云计算 物联网 API 红外遥控器

深入浅出node中间件原理

徐小夕

Java node.js 大前端 中间件 数据可视化

当代程序员必备技能(算法)之:递归详解

Java架构师迁哥

Linux一切皆文件,如果你没做到这一步,那这就是句话而已

小Q

Java Linux 学习 架构 面试

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