Memcached, Hbase, Cassandra, Dynamo

Memcached

一个软件,存在内存里面。memcached不持久化
Redis支持持久化
cache.set("key", "value")
cache.set("foo", 1, ttl = 60) (time to leave)
LRU cache
LFU cache
cache.delete(key); 先删
database.set(user); 唯一的source of truth
eventually consistence 最终一致性

Hbase

Master slave架构
Name space, tables, column families, column qualifiers, columns, rows, data cells.
Hbase 也存好几个versions, 每个version有自己的timestamps.
每一个cell的key是 table, rowid, columnfamily, columnqualifier, timestamp
Hbase存在HDFS上,也可以存在Amazon的S3上(simple storage system)
Cassandra和Hbase都不支持真正的Transaction。Hbase可以支持lock per row, 但不鼓励。

Cassandra 三层结构 或者三元组结构。

关于Cassandra这个写的非常好
https://blog.csdn.net/doc_sgl/article/details/51068131
去中心化的
即是key value store又是column based.
继承自dynamo DB 和big table
https://www.lintcode.com/problem/mini-cassandra/description
row key 又称hash key, 无法进行range query. 是用来指定数据在哪台机器的。
column key, 可以进行range query, 可以是复合值。不是用来做hash的, 是用来做排序的。
value,
Cassandra可以对column value进行secondary index。

存 newsfeed : row_key : owner id; col_key: ; value : tweet_data

Dynamo DB

Amazon的,key value store
key可以是一个single attribute,也可以是一个pair (A, B), A用来hash, B用来order record with the same A value.
比如B可以是time stamp.

你可能感兴趣的:(Memcached, Hbase, Cassandra, Dynamo)