facebook的消息(messages)与hbase

facebook的message与hbase

(一)facebook的消息
messages:14T/month
chats:11T/month
emails
sms

特点:
(1)小数据量;
(2)有查询需求;

(二)现有成果
memcached -> cache
zookeeper -> 协同服务
hbse -> 存储引擎
hdfs -> 分布式文件系统
hadoop -> map-reduce任务处理

(三)hbase
分布式、大数据量数据存储系统;
高效随机读写;
bigtable的山寨版本;
开源(apache);
非RDMS(跨表事务,联合查询都不支持);

(四)hbase数据模型
table -> 三维稀疏表格
三维索引:rowkey/columnkey/timestamp
以rowkey分片至多个区域(regions)

region ->
数据以“列族(column families)”的方式组织;
rowkey(asc)/columnkey(asc)/timestamp(desc)

(五)hbase系统概览
数据库层hbase
master/backup
region-server…

存储层hdfs
name-node/secondary-name-node
data-node…

仲裁层zookeeper quorum
zk-peer…

(六)why hbase
水平扩展:
hbase和hdfs配合灵活性好;
多表自动分片;
添加节点容易;
region可动态分隔与迁移;

当机容错:
master自动检测节点失效;
失效节点上的region自动复制迁移;
master当机失效自动备机;

一致性:
强一致性模型(客户端无论从哪个副本都会读到相同的数据);
最终一致性(当机时短暂不一致,但会自动治愈);

(七)hbase的提升
零数据丢失(zero data loss):
write ahead log的同步支持保障事务的持久性;
遵从行级acid特性;
灵活的分块放置策略;

可用性/可靠性提升:
master备份;
rolling restart=>优雅升级;
客户端-服务器超时rpc;

性能优化:
压缩;
读优化(bloom filter);

操作经验
数据迁移

评论关闭。