写点什么

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

评论

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

剂方辩证系统(源码 + 文档 + 讲解 + 演示)

深圳亥时科技

见证语音领域 GPT-3 时刻!小米开源端到端语音模型 MiMo Audio;Xbox上线游戏助手,实时游戏理解+语音交互丨日报

RTE开发者社区

稳定性与性能并重:YashanDB数据库的设计哲学

数据库砖家

大数据-102 Spark Streaming 与 Kafka 集成全解析:Receiver 与 Direct 两种方式详解 附代码案例

武子康

Java 大数据 flink spark 分布式

美国国民警卫队军械库遭神秘连环盗窃,内部安全漏洞引担忧

qife122

网络安全 内部威胁

跳出 AI 编程的“兔子洞”:4 个实战策略帮你解决90%的死循环

hepingfly【gzh:和平本记】

AI 编程

使用XState测试分布式微服务的完整指南

qife122

状态机 微服务测试

工业设计 自控设计经验总结(4)

万里无云万里天

设计师 工厂运维 工业设计

挖掘数据潜力:选择YashanDB数据库的理由

数据库砖家

系统管理员必备的YashanDB数据库维护手册

数据库砖家

详解YashanDB权限管理最佳实践,保障企业信息安全

数据库砖家

新手必看:YashanDB数据库安装与配置全流程

数据库砖家

为您的项目选择YashanDB数据库的原因

数据库砖家

为什么选择YashanDB数据库?深入分析其独特优势

数据库砖家

未来展望:YashanDB数据库在技术变革中的角色与潜力

数据库砖家

工业管理 项目管理经验总结(11)

万里无云万里天

项目管理 工业 工厂运维

企业AI跑得快,必靠专业开发者“带”——UniverAI通过全代码模式为企业AI开发者保驾护航

UniverAI智宇苍穹

企业级代码架构 AI Agent 企业级AI工程化 企业级AI基础设施 AI平台

StarRocks Connect 2025 圆满落幕:AI Native 时代,数据分析未来已来

StarRocks

大数据 StarRocks AI Agent 镜舟科技 湖仓引擎

详解YashanDB数据库的SQL支持与扩展功能

数据库砖家

YashanDB数据库索引优化与重建方法详解

数据库砖家

为什么选择YashanDB数据库来支持你的业务增长

数据库砖家

预制菜不便宜,AI缓存却能真省钱:UniverAI企业级AI平台确保企业AI越做越便宜。

UniverAI智宇苍穹

缓存 AI开发平台 AI Agent 企业级AI工程化 企业级AI基础设施

推动业务持续增长的YashanDB数据库成功实践

数据库砖家

线下活动丨RTE 开发者社区×S 创上海 2025:9 家社区项目、3 场圆桌、1 场演讲、1 场派对、1 个彩蛋

RTE开发者社区

org.springframework.web.multipart.MultipartException: Current request is not a multipart request

刘大猫

人工智能 云计算 算法 物联网 大模型

工业设计 自控设计经验总结(5)

万里无云万里天

设计师 工厂运维 工业设计

工业数字化 信息化经验总结(9)

万里无云万里天

数字化转型 信息化 工厂运维

鲲鹏基础软件:全面使能灵衢,通算智算场景能力全面提升

新消费日报

爱奇艺技术实践:基于StarRocks释放天玑买量数据价值

StarRocks

MySQL Clickhouse 爱奇艺 StarRocks ug

为YashanDB数据库寻找合适的运行环境的考虑因素

数据库砖家

智能革命:企业AI转型的挑战与曙光

UniverAI智宇苍穹

企业 AI 应用 企业级AI工程化 企业级AI基础设施

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