【nosql】有哪些非关系型数据库?

非关系型数据库Nosql

分类

  1. 键值存储 (Key-Value Store):

    • 代表: Redis, DynamoDB, RocksDB, etcd
    • 核心优势: 极致简单、超高读写性能(尤其内存型)、高吞吐。
    • 场景: 缓存、会话存储、配置、计数器、分布式协调、简单消息队列。
  2. 列式 / 宽列存储 (Wide-Column / Column-Family Store):

    • 代表: HBase, Cassandra, ScyllaDB
    • 核心优势: 极高的可扩展性、适合海量稀疏数据、按列族高效读写(尤其写吞吐)、良好的分区能力。
    • 场景: 大规模时序数据(IoT, 监控)、消息/事件流存储、用户画像属性存储、内容元数据。
  3. 文档数据库 (Document Database):

    • 代表: MongoDB, Couchbase, CouchDB
    • 核心优势: 灵活的文档模型(Schema-flexible)、支持嵌套数据结构、开发自然(映射对象)、横向扩展。
    • 场景: 内容管理(CMS)、产品目录、用户配置/档案、评论/博客、实时分析(部分)、复杂对象存储。
  4. 搜索引擎 (Search Engine):

    • 代表: Elasticsearch, Solr, OpenSearch
    • 核心优势: 强大的全文检索、复杂相关性排序、模糊查询、聚合分析能力、分布式搜索。
    • 场景: 应用/产品内搜索、日志分析(ELK)、应用性能监控(APM)、安全信息与事件管理(SIEM)、商业智能探索。
  5. 图数据库 (Graph Database): (补充项)

    • 代表: Neo4j, Amazon Neptune, JanusGraph
    • 核心优势: 高效存储和处理实体间复杂关系、擅长深度关联查询(路径、社区、模式匹配)。
    • 场景: 社交网络、欺诈检测、知识图谱、推荐引擎、网络/IT基础设施管理。

📌 重要提示

  • 界限模糊: 很多现代数据库是多模型 的。例如:
    • Redis不仅仅是简单的字符串KV,它支持多种数据结构。
    • DynamoDB核心是KV,但文档是其主要支持的数据格式。
    • ArangoDB自称是原生多模型数据库(支持文档、图、KV)。
    • Elasticsearch底层是文档存储,但功能聚焦在搜索。
    • Cassandra常被归为宽列存储,但其数据模型和查询方式与HBase有差异。
  • 选择依据: 最终选择哪个数据库(甚至组合使用多个)取决于应用的具体需求(数据模型、访问模式、一致性要求、规模、延迟、成本等),而不是简单地套用分类。
  • 时序数据库 (Time-Series Database - TSDB): 这是一个越来越重要的细分领域(如 InfluxDB, TimescaleDB, Prometheus)。虽然其底层存储引擎可能基于KV、列式或LSM-Tree,但其高度优化的时间序列数据处理能力(时间窗口聚合、降采样、高效处理时间戳索引) 使它值得单独关注。你可以把它看作是基于特定场景优化的KV或列式数据库的一个高度特化子集。如果你的场景主要是处理带时间戳的指标或事件,时序数据库通常是更优的选择。
相关推荐
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader4 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客5 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法5 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局8 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术8 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
m0_6239556610 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
阿蒙Amon11 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#