03-NoSQL数据库选型
数据库名称 | 官网 | 开源时间 | 存储结构 | 功能特性 | 使用场景 | 开发难易度 | 优点 | 缺点 |
---|---|---|---|---|---|---|---|---|
Redis |
https://redis.io | 2009年 | 键值对 | 内存缓存、分布式锁、发布/订阅 | 缓存、队列、计数器、限流 | 简单易用 | 高并发读写、支持事务、丰富的数据类型 | 持久化需要额外配置、单机内存有限 |
MongoDB |
https://www.mongodb.com/ | 2007年 | 文档存储 | 分布式存储、复制、自动分片 | 日志、社交、物联网 | 相对简单 | 数据模型灵活、扩展性好、支持地理位置查询 | 不适合高并发写入、存储文件能力较弱 |
Elasticsearch |
https://www.elastic.co/cn/elasticsearch/ | 2010年 | 文档存储 | 全文搜索、近实时搜索、分布式 | 日志、商品搜索、监控 | 灵活可扩展 | 全文搜索效率高、支持复杂聚合查询 | 不支持事务、数据一致性差 |
HBase | https://hbase.apache.org/ | 2007年 | 列族存储 | 分布式、高可靠、高可扩展 | 物联网、日志分析、金融行业 | 较难 | 高并发读写、海量数据存储、强一致性 | 不支持全文搜索、不适合频繁的更新操作 |
Neo4j | https://neo4j.com/ | 2007年 | 图数据库 | 基于图论的查询、高级索引 | 社交网络、推荐系统、知识图谱 | 相对简单 | 数据模型灵活、复杂关系处理能力强 | 存储结构相对复杂、不适合大规模数据存储 |
Couchbase | https://www.couchbase.com/ | 2011年 | 键值对、文档存储 | 分布式、高可靠、高可扩展 | 社交、游戏、物联网 | 相对简单 | 缓存效率高、支持事务、自动数据分片 | 存储成本较高、更新操作较慢 |
Cassandra | https://cassandra.apache.org/ | 2008年 | 列族存储 | 分布式、高可靠、高可扩展 | 日志、社交、金融行业 | 较难 | 支持大规模数据存储、高性能读写 | 写入性能高,但读取性能较差 |
CouchDB | https://couchdb.apache.org/ | 2005年 | 文档存储 | 分布式、支持离线数据同步 | 社交、物联网、日志 | 相对简单 | 数据模型灵活、支持离线同步 | 不支持事务、更新操作较慢 |
- 持久化需求高数据量大,作为核心数据源,或者有轻度计算需求的:
MongoDB
- 对性能要求极致,不担心数据丢失的选择:
Memcache
- 数据生命周期短,数据量相对小,性能要求高:
Redis
- 分布式、实时搜索、全文检索、高可用如搜索引擎、日志、数据分析、安全审计:
ElasticSearch
03-NoSQL数据库选型
https://janycode.github.io/2020/06/13/19_技术选型/03-NoSQL数据库选型/