什么是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
相关推荐
百结2143 小时前
Mysql数据库操作
数据库·mysql·oracle
keep one's resolveY4 小时前
时区问题解决
数据库
Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
qq_417695054 小时前
机器学习与人工智能
jvm·数据库·python
漫随流水4 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
ego.iblacat4 小时前
MySQL 服务基础
数据库·mysql
Maverick066 小时前
Oracle Redo 日志操作手册
数据库·oracle
攒了一袋星辰6 小时前
高并发强一致性顺序号生成系统 -- SequenceGenerator
java·数据库·mysql
W.D.小糊涂6 小时前
gpu服务器安装windows+ubuntu24.04双系统
c语言·开发语言·数据库
云贝教育-郑老师7 小时前
【OceanBase 的多租户架构是怎样的?有什么优势?】
数据库·oceanbase