【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或列式数据库的一个高度特化子集。如果你的场景主要是处理带时间戳的指标或事件,时序数据库通常是更优的选择。
相关推荐
陈天伟教授11 小时前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
Elastic 中国社区官方博客12 小时前
Elasticsearch:在分析过程中对数字进行标准化
大数据·数据库·elasticsearch·搜索引擎·全文检索
聪明努力的积极向上12 小时前
【MYSQL】字符串拼接和参数化sql语句区别
数据库·sql·mysql
代码or搬砖12 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
神仙别闹12 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
2301_7683502312 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
上海蓝色星球12 小时前
迈向智慧电网新纪元:上海蓝色星球数字孪生变电主子站系统
运维·数据库
是大芒果13 小时前
数据库表设计
数据库
哥哥还在IT中13 小时前
MySQL order by 如何优化
数据库·mysql
积跬步,慕至千里13 小时前
postgre数据库大批量快速导出方法总结
数据库·postgres