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