Nosql初探(voldemort)
在这个充斥着无数的nosql的世界,voldemort作为Nosql的一员.简单测试了下'健康状态'background:目前被LinkIn使用,与Dynamo思想类似
1.读写性能.
read 10s100000 writer 15s1000000
测试机的性能一般,自己开发机器.
2.压缩测试
压缩参考数据:10000条真实数据
数据量压缩格式时间(毫秒)大小(k)10000Null50013 1640410000Lzf49451 821210000Gzip47764 7184
由于资料很少,对于xml的配置,幸亏存在xrd文件,debug发现可对数据进行压缩,尤其是针对字符串的处理,这个压缩效果是很显著的.通过上面简单的测试结构就可得知.
voldemort.store.compress.StreamCompressionStrategy
http://project-voldemort.com/images/logical_arch.png
压缩策略
[*]routing-strategy,
[*] preferred-reads,
[*] preferred-writes,
[*] retention-days,
[*] retention-scan-throttle-rate
自己使用的preferred-writes.
压缩类型
[*]gzip
[*]lzf
配置文件特别的少,只得通过xsd文件来写xml文件,存储的类型支持json,string,序列化,protobuf,identity.只要还是数据是字符串形式的,则压缩效果很明显.
压缩可针对key,也可针对value压缩。压缩的比率较大
本次压缩采用的是单机模型.
需要注意的就是配置本机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
页:
[1]