Skip to content

非关系型数据库服务

非关系型数据库是为了应对高并发、海量数据和非结构化数据存储而产生的数据库体系。它们突破了关系数据库的 ACID 限制,以 CAP 定理为指导,在一致性、可用性和分区容错性之间做出不同的权衡。

内容概览

本章节从实现者的角度深入剖析各类 NoSQL 数据库的底层原理,内容包括:

  • Redis 实现:单线程模型、数据结构实现、RDB/AOF 持久化、主从复制、集群架构
  • MongoDB 实现:文档模型、WiredTiger 存储引擎、复制集、分片集群、聚合管道
  • Elasticsearch 实现:倒排索引、FST 压缩、分片架构、分布式协调、查询处理
  • Neo4j 实现:标签属性图、存储引擎、Schema 索引、Cypher 查询语言
  • Milvus 实现:向量检索基础、IVF/HNSW 索引、存算分离架构
  • 消息队列实现:Kafka 存储机制、RabbitMQ 交换机、可靠性保证、消费语义

数据库分类

类型代表产品特点适用场景
键值存储Redis高性能、简单结构缓存、会话存储
文档存储MongoDB灵活 Schema、嵌套文档内容管理、产品目录
搜索引擎Elasticsearch全文检索、复杂查询日志分析、站内搜索
图数据库Neo4j关系遍历、图算法社交网络、知识图谱
向量数据库Milvus相似度搜索、高维索引图像检索、推荐系统
消息队列Kafka/RabbitMQ异步处理、解耦日志收集、事件驱动

学习路径

建议按照以下顺序学习:

  1. 先理解 NoSQL 与关系数据库的区别和权衡
  2. 学习 Redis 的内存数据结构和持久化机制
  3. 深入 MongoDB 的文档模型和分片架构
  4. 掌握 Elasticsearch 的倒排索引和分布式协调
  5. 了解图数据库和向量数据库的专用场景
  6. 研究消息队列的可靠性和消费语义