什么是NoSQL?

什么是NoSQL?

NoSQL = Not Only SQL(不仅仅是SQL)

基本概念

SQL vs NoSQL

特性 SQL NoSQL
数据结构 表格(行和列) 灵活(文档、键值、图等)
数据关系 强关系 弱关系或无关系
扩展性 垂直扩展 水平扩展
一致性 强一致性 最终一致性

生活中的例子

SQL = 图书馆

  • 每本书都有固定位置

  • 按分类整齐排列

  • 借书需要登记表格

  • 结构严格,不能随意放书

NoSQL = 家里的杂物箱

  • 东西随便放

  • 不需要固定格式

  • 找东西靠记忆

  • 灵活,想放什么放什么

主要类型

1. 键值存储(Redis)

复制代码
// 像字典一样
name -> "张三"
age -> 25

2. 文档存储(MongoDB)

java 复制代码
// 像JSON文件
{
  "name": "张三",
  "age": 25,
  "hobbies": ["读书", "游泳"]
}

3. 列族存储(HBase)

java 复制代码
// 像Excel表格,但列可以动态增加
姓名 | 年龄 | 爱好1 | 爱好2
张三 | 25  | 读书  | 游泳

4. 图数据库(Neo4j)

java 复制代码
// 像社交网络
张三 -> 认识 -> 李四
李四 -> 认识 -> 王五

使用场景

SQL适合:

  • 银行系统(需要强一致性)
  • 电商订单(需要事务)
  • 财务报表(需要精确计算)

NoSQL适合:

  • 社交网络(用户关系复杂)
  • 内容管理(文章、评论)
  • 实时数据(日志、监控)

总结

方面 SQL NoSQL
学习难度 中等 简单
开发速度
数据安全 中等
扩展成本

选择原则:

  • 需要强一致性 → SQL
  • 需要快速开发 → NoSQL
  • 数据关系复杂 → SQL
  • 数据量大 → NoSQL
相关推荐
小小龙学IT19 小时前
Go 泛型深度解析:从设计哲学到工程实践
服务器·数据库·golang
天行健,君子而铎19 小时前
2026年通用行业数据分类分级产品排名——聚焦成本低、全链路覆盖与高性能计算的优质选型
大数据·数据库·人工智能
Tong Z19 小时前
Mysql DDL中的ALGORITHM
数据库·mysql
电商API_1800790524720 小时前
Python 实现闲鱼商品列表批量采集,接口异常重试机制搭建
大数据·开发语言·数据库·爬虫·python
焦虑的说说21 小时前
redis和数据库的一致性如何保证
数据库·redis·缓存
阿狸猿21 小时前
论基于云原生数据库的企业信息系统架构设计
数据库·云原生
MXsoft6181 天前
**配置自动备份与变更告警:杜绝“黑变更”风险**
网络·数据库
骑士雄师1 天前
19.3 langgraph的工作节点和路由函数
java·前端·数据库
梓䈑1 天前
C++ 接入 SQLite 数据库:环境搭建、API 详解 与 两种执行方式对比
数据库·c++·sqlite