2.NoSQL种类和特点优点

2.NoSQL种类和特点优点


2.1 知识点

常用数据库类型对比图

键值存储 (Key-Value Store)

代表性工具

  • Redis:广泛使用的内存键值存储,适用于高速缓存、会话管理等。
  • Memcached:高性能的分布式内存对象缓存系统。
  • Amazon DynamoDB:全托管的分布式键值和文档数据库服务。

优点

  • 高性能:快速数据访问,适合高读写吞吐量场景。
  • 简单高效:数据模型简单(键值对),易于理解和使用。
  • 扩展性强:支持水平扩展,适应大规模分布式环境。

缺点

  • 灵活性差:仅支持键值对存储,缺乏复杂查询能力。
  • 不支持复杂操作:如关联查询、复杂聚合等。
  • 数据一致性风险:分布式场景下可能出现一致性问题(高并发时显著)。

列式存储 (Columnar Store)

代表性工具

  • Apache HBase:基于Hadoop的分布式列式存储,适用于大规模数据存储。
  • Apache Cassandra:分布式NoSQL数据库,支持列式存储,适合高可用性和大数据处理。
  • Google Bigtable:Google开发的分布式列式存储系统,用于大规模数据处理。

优点

  • 高效读取:减少I/O操作,提升查询性能(适合分析少量列的场景)。
  • 高压缩率:同一列数据类型相似,压缩效率高,节省存储空间。
  • 适合大规模分析:支持OLAP查询,适用于数据仓库和大数据处理。

缺点

  • 写入性能低:列优化导致写入速度通常低于行式存储。
  • 不适合频繁更新:频繁写入或更新的场景性能较差。
  • 复杂查询性能下降:涉及多列或全表扫描时可能影响效率。

文档存储 (Document Store)

代表性工具

  • MongoDB:最著名的文档数据库,支持丰富查询语言,广泛用于Web应用。
  • CouchDB:支持多版本并发控制,适合高并发Web应用。
  • Couchbase:结合键值存储和文档存储优势,适用于高性能分布式场景。

优点

  • 灵活存储结构:支持结构化、半结构化或非结构化数据。
  • 易于扩展:水平扩展能力强,适合处理大规模数据。
  • 较强查询能力:支持基于文档的灵活查询。

缺点

  • 复杂查询性能有限:非常复杂的查询可能弱于关系型数据库。
  • 数据一致性较弱:事务支持和一致性低于关系型数据库。
  • 数据建模难度高:复杂数据关系需额外处理。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏