NoSQL数据库根据数据模型和架构的不同,大致可以分为轻量级NoSQL和重量级NoSQL两类。
轻量级NoSQL数据库代表产品为Redis和Memcached。它们采用键值对的简单数据模型,不支持复杂的查询语言。但它们支持单条数据的高性能读写,通常用于缓存或实时热点数据访问。
代表产品有Redis,它支持数据类型丰富,包括字符串、哈希、列表、集合等。读写性能高,单机最高可达10w+的QPS。但不支持Join操作,不适合存储结构化数据。
Memcached类似于内存数据库,仅支持简单的键值对,读写性能超过Redis。但不支持持久化,只能作为缓存使用。
重量级NoSQL数据库代表产品为MongoDB、Cassandra等。它们支持更复杂的查询语言,数据模型相对复杂,支持结构化或半结构化数据的存储和查询。
MongoDB支持文档数据模型,类似JSON格式,支持丰富的查询操作。但不支持分布式,不适合大规模数据集群。
Cassandra支持列式存储,强调线性可扩展性。通过主键查询性能高,适合用于大数据量的实时读取。但不支持复杂的JOIN和聚合操作。
总之,轻量级NoSQL适用于简单的KV级别数据与低延迟访问场景。重量级NoSQL适用于存储和查询结构化数据,对规模和并发要求较高的场景。两者在功能与性能上存在明显差异。选择需要根据实际业务和数据特征进行权衡。