这里推荐的这篇文章,从CAP原理讲起,然后将目前的各大 NoSQL 产品进行了分类,如下:
按功能分类:
- Relational 关系性数据库,这里就不多说了,像我们常用的 MySQL 就是杰了代表。
- Key-value 键值存储,支持简单的get ,set,delete等协议。
- Column-oriented 列式存储,通常不支持join操作,与传统关系型数据库的行式存储相比他的存储是列式的,这样会让很多统计聚合操作更简单方便。
- Document-oriented 文档型存储,通常是将数据存在Json或者Xml,同样不支持join操作。这种存储方式可以很容易地被面向对象的语言所使用。
满足一致性,可用性的系统,通常在可扩展性上不太强大:
- Traditional RDBMSs like Postgres,MySQL,etc (relational)
- Vertica (column-oriented)
- Aster Data (relational)
- Greenplum (relational)
满足一致性,分区容忍性的系统,通常性能不是特别高:
- BigTable (column-oriented/tabular)
- Hypertable (column-oriented/tabular)
- HBase (column-oriented/tabular)
- MongoDB (document-oriented)
- Terrastore (document-oriented)
- Redis (key-value)
- Scalaris (key-value)
- MemcacheDB (key-value)
- Berkeley DB (key-value)
满足可用性,分区容忍性的系统,通常可能对一致性要求低一些:
- Dynamo (key-value)
- Voldemort (key-value)
- Tokyo Cabinet (key-value)
- KAI (key-value)
- Cassandra (column-oriented/tabular)
- CouchDB (document-oriented)
- SimpleDB (document-oriented)
- Riak (document-oriented)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。