Quantcast
Channel: CodeSection,代码区,数据库(综合) - CodeSec
Viewing all articles
Browse latest Browse all 6262

笔记-临时-20140112

$
0
0

http://code.taobao.org/svn/tair/tags/rdb_release_20121009

http://code.taobao.org/p/tair/wiki/guide/

Tair是一个分布式的key/value存储系统,数据往往存储在多个数据节点上。客户端需要决定数据存储的具体节点,然后才能完成具体的操作。
Tair的客户端通过和configserver交互获取这部分信息。configserver会维护一张表,这张表包含hash值与存储其对应数据的节点的对照关系。客户端在启动时,需要先和configserver通信,获取这张对照表。
在获取到对照表后,客户端便可以开始提供服务。客户端会根据请求的key的hash值,查找对照表中负责该数据的数据节点,然后通过和数据节点通信完成用户的请求。
RDB_UNIT_NUM 一个命名空间下的单元划分,默认值是16,决定了并发粒度,下边会有介绍;

RDB_AREA_GROUP_NUM 单机存储引擎的命名空间范围,默认值是512,这个值决定了单机上最多可以有多少个命名空间同时存在(命名空间类似于db name,使用中可以映射到项目,比如可以在area 0中保存项目名到命名空间id的映射,后续就可以在特定的项目内查找key-value);

RDB_MAXMEMORY 单机上rdb存储引擎占用内存的上限值,达到上限后将依据maxmemory_policy的不同采取不同的行为;

RDB_MAXMEMORY_POLICY 达到内存上限后进行的操作,可以直接返回错误,也可以进行LRU,可以参考redis的设置;

RDB_MAXMEMORY_SAMPLES 与LRU实现相关的一个配置参数,可以参考redis的配置;

RDB_LIST(/HASH/ZSET/SET)_MAX_SIZE list、hash、sorted set、set数据结构value最大占用空间的大小,默认均是8k(感觉偏小了);

1.配置修改

为了达到配置统一管理的目的,tair rdb去掉了redis自带的配置文件。它将redis所需的配置统一放在tair配置文件的TAIRRDB_SECTION下边。当前保留的配置文件项有:

RDB_UNIT_NUM 一个命名空间下的单元划分,默认值是16,决定了并发粒度,下边会有介绍;

RDB_AREA_GROUP_NUM 单机存储引擎的命名空间范围,默认值是512,这个值决定了单机上最多可以有多少个命名空间同时存在(命名空间类似于db name,使用中可以映射到项目,比如可以在area 0中保存项目名到命名空间id的映射,后续就可以在特定的项目内查找key-value);

RDB_MAXMEMORY 单机上rdb存储引擎占用内存的上限值,达到上限后将依据maxmemory_policy的不同采取不同的行为;

RDB_MAXMEMORY_POLICY 达到内存上限后进行的操作,可以直接返回错误,也可以进行LRU,可以参考redis的设置;

RDB_MAXMEMORY_SAMPLES 与LRU实现相关的一个配置参数,可以参考redis的配置;

RDB_LIST(/HASH/ZSET/SET)_MAX_SIZE list、hash、sorted set、set数据结构value最大占用空间的大小,默认均是8k(感觉偏小了);

/root/tair_bin/sbin/tair_server -f /root/tair_bin/etc/dataserver.conf

/root/tair_bin/sbin/tair_cfg_svr -f /root/tair_bin/etc/configserver.conf
cat /usr/share/aclocal/libtool.m4 >> aclocal.m4
export TBLIB_ROOT=/usr/local/tb/lib
./bootstrap.sh
./configure with-release=yes /root/tair_bin/sbin/tairclient -s 127.0.0.1:5198 -g group_1
/root/tair_bin/sbin/tairclient 127.0.0.1
memaslap memcached的压力测试工具
mysqlslap是mysql的压力测试工具
socktop是systemtap的工具
tcpstat,nmon,mysql sandbox rethinkdb设计思想:
1)B树会产生大量的随机写操作,对闪存寿命影响较大
2)闪存具有较好的随机读性能,所以B树和cluster index变的不再重要
3)rethinkdb采用append-only方式管理数据和索引,消除闪存上的随机写操作

Viewing all articles
Browse latest Browse all 6262

Trending Articles