Nosql初探(voldemort)

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

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

2.压缩测试

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

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


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




压缩策略
  • 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

你可能感兴趣的:(数据结构,xml,json,Google,NoSQL)