NoSQL 介绍

NoSQL 介绍

1. 什么是 NoSQL?

NoSQL(Not Only SQL) 是一种非关系型数据库的统称,旨在解决传统关系型数据库(如 MySQL、Oracle)在大数据、高并发和灵活数据模型场景下的局限性。

  • 核心特点
    • 无固定表结构(Schema-less),支持灵活的数据格式(如 JSON、键值对、文档、图结构等)。
    • 分布式架构,易于横向扩展(Scale-out)。
    • 弱化事务一致性(部分支持 BASE 模型,而非严格的 ACID)。
  • 适用场景:大规模数据存储、高并发读写、动态数据结构需求(如社交网络、实时分析、物联网等)。

2. 为什么用 NoSQL?

传统关系型数据库的局限性催生了 NoSQL:

  • 扩展性瓶颈:关系型数据库垂直扩展(Scale-up)成本高,难以应对海量数据和高并发。
  • 灵活数据模型:业务需求多变时,固定的表结构修改成本高,NoSQL 允许动态调整。
  • 高性能:通过分布式架构和简化事务机制(如最终一致性),实现高吞吐和低延迟。
  • 多样化数据:支持非结构化数据(如日志、JSON、图关系),适应现代应用需求。

3. NoSQL 的优缺点

优点 缺点
✅ 高扩展性(横向扩展) ❌ 弱事务支持(部分不支持 ACID)
✅ 灵活的数据模型(无固定 Schema) ❌ 查询功能较弱(无复杂 SQL)
✅ 高性能(适合高并发读写) ❌ 数据一致性需权衡(如 CAP 定理)
✅ 低成本(开源生态成熟) ❌ 学习成本高(不同数据库差异大)

4. NoSQL 的分类

类型 特点 典型应用 代表数据库
键值存储 简单键值对,高速读写 缓存、会话管理、计数器 Redis、DynamoDB
文档型 存储 JSON/XML 文档,嵌套结构灵活 内容管理、用户配置 MongoDB、Couchbase
列族存储 按列簇存储数据,适合分析型查询 日志分析、时序数据 Cassandra、HBase
图数据库 以节点和边表示关系,高效遍历 社交网络、推荐系统 Neo4j、Amazon Neptune

5. 哪些公司在使用 NoSQL?

  • Google:Bigtable(列族存储)用于搜索引擎和 Gmail。
  • Amazon:DynamoDB(键值/文档)支持电商高并发订单。
  • Meta(Facebook):Cassandra(列族)处理社交数据。
  • Adobe:MongoDB(文档型)管理用户配置和内容。
  • 阿里巴巴:自研 OceanBase(兼容 NoSQL 和 SQL)。
  • Netflix:Cassandra 存储用户观影记录。

总结

NoSQL 是应对大数据和高并发场景的利器,但需根据业务需求选择类型:

  • 选型建议:优先考虑数据模型匹配度(如文档型选 MongoDB,图关系选 Neo4j)。
  • 趋势:云原生 NoSQL(如 AWS DynamoDB)和混合数据库(如 NewSQL)逐渐兴起。

NoSQL 介绍
https://blog.qingyi-studio.top/2025/04/08/NoSQL介绍/
作者
QingYi Studio
发布于
2025年4月8日
更新于
2025年4月21日
许可协议