Nosql初探(voldemort)

在这个充斥着无数的nosql的世界,voldemort作为Nosql的一员.简单测试了下'健康状态'
background:目前被LinkIn使用,与Dynamo思想类似

1.读写性能.
read 10s 100000 writer 15s 1000000
测试机的性能一般,自己开发机器.

2.压缩测试

压缩参考数据:10000条真实数据

[table]
|数据量| 压缩格式 |时间(毫秒)| 大小(k)|
|10000| Null |50013 | 16404|
|10000| Lzf |49451 | 8212|
|10000| Gzip| 47764 | 7184|
[/table]

由于资料很少,对于xml的配置,幸亏存在xrd文件,debug发现可对数据进行压缩,尤其是针对字符串的处理,这个压缩效果是很显著的.通过上面简单的测试结构就可得知.

voldemort.store.compress.StreamCompressionStrategy

[img]http://project-voldemort.com/images/logical_arch.png[/img]


压缩策略
[list]
[*]routing-strategy,
[*] preferred-reads,
[*] preferred-writes,
[*] retention-days,
[*] retention-scan-throttle-rate
[/list]
自己使用的preferred-writes.

压缩类型
[list]
[*]gzip
[*]lzf
[/list]

配置文件特别的少,只得通过xsd文件来写xml文件,存储的类型支持json,string,序列化,protobuf,identity.只要还是数据是字符串形式的,则压缩效果很明显.

压缩可针对[b]key[/b],也可针对[b]value[/b]压缩。压缩的比率较大

本次压缩采用的是单机模型.

需要注意的就是配置本机IP
Cluster.xml

<cluster>
<name>mycluster</name>
<server>
<id>0</id>
<host>192.168.208.76</host>
<http-port>8081</http-port>
<socket-port>6666</socket-port>
<partitions>0, 1</partitions>
</server>
</cluster>



压缩在客户端压缩?
Stores.xml

<stores>
<store>
<name>test</name>
<persistence>bdb</persistence>
<routing>client</routing>
<replication-factor>1</replication-factor>
<required-reads>1</required-reads>
<required-writes>1</required-writes>
<key-serializer>
<type>string</type>
</key-serializer>
<value-serializer>
<type>string</type>
<compression>
<type>gzip</type>
<options>preferred-writes</options>
</compression>
</value-serializer>
</store>
<view>
<name>test-view</name>
<view-of>test</view-of>
<view-class>
voldemort.store.views.UpperCaseView
</view-class>
<value-serializer>
<type>string</type>
</value-serializer>
</view>
</stores>



参考资料
1. http://h5py.alfven.org/lzf/
2. http://code.google.com/p/hyk-proxy/issues/detail?id=10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值