LIMIMGJIE 发表于 2013-1-30 01:55:37

Cassandra(一)---搭建基于Windows的分布式数据库

分布式数据库的应用---cassandra

    Cassandra项目的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra的一个写操作,会被复制到其它节点上,对Cassandra的读操作,也会被路由到某个节点上面去读取.对于一个Cassandra集群来说,扩展性能比较简单,直管在集群里面添加节点就可以了.有文章说Facebook的Cassandra集群有超过100台服务器构成的数据库集群.
    Cassandra也支持比较丰富的数据结构和功能强大的查询语言,和MongoDB比较类似,查询功能比MongoDB稍弱一些.Cassandra以单个节点来衡量,其节点的并发读写性能不是特别好,有文章评测下来Cassandra每秒大约不到1万次读写请求,真实的风不是数据库访问系统必然是N多个节点构成的系统,其并发性能取决于整个系统的节点数量,路由效率,而不仅仅是但节点的并发负载能力.


    cassandra是高可扩展性的第二代分布式数据库,如果想充分掌握和了解cassandra背后的理论,需要掌握amazon的dynamo和google bigtable.
    学习一个陌生的技术,最重要的一步就是将其运行起来,运行之后再根据sample来分析其数据模型,然后再逐一研究整个系统模型的实现.

1)下载cassandra:
    下载地址:http://incubator.apache.org/cassandra/,目前最新的beta版本是0.6.3
2)解压并安装cassandra:
    将下载的压缩包解压,我本机解压的位置是E:\tools\数据库\apache-cassandra-0.6.3;
    修改conf目录下的配置文件log4j.properties;
      log4j.appender.R.File=d:\\temp\\cassandra\\system.log
    修改conf目录下的配置文件storage-conf.xml;
    <CommitLogDirectory>d:\\temp\\cassandra\\commitlog</CommitLogDirectory>
    <DataFileDirectories>
          <DataFileDirectory>d:\\temp\\cassandra\\data</DataFileDirectory>
    </DataFileDirectories>
   
    设置系统的环境变量:
      JAVA_HOME=D:\server\jdk1.6
      CASSANDRA_HOME=E:\tools\数据库\apache-cassandra-0.6.3
    启动Cassandra服务:
      进入命令行模式下Cassandra的安装目录,执行bin目录下的cassandra.bat,待界面进入到 "INFO 14:28:41,343 Starting up server gossip",那么恭喜你,启动成功了!

3)进入到Cassandra命令模式,进行一下交互测试:
    在命令行模式下执行bin目录下的Cassandra-cli.bat,将会进入到Cassandra交互模式;
   cassandra> connect localhost/9160
   Connected to: "Test Cluster" on localhost/9160
   
    参考随压缩包附带的readme文档,参照范例提供测试如下:
    cassandra>set Keyspace1.Standard2['employee']['name']='li'
    Value inserted.
    cassandra>set Keyspace1.Standard2['employee']['job']='programmer'
    Value inserted.
    cassandra>set Keyspace1.Standard2['employee']['age']='31'
    Value inserted.
    cassandra> get Keyspace1.Standard2['employee']
    => (column=name, value=li, timestamp=1280042422312000)
    => (column=job, value=programmer, timestamp=1280042539578000)
    => (column=age, value=31, timestamp=1280042724312000)
    Returned 3 results.



小结一下:
    cassandra的配置还是比较简单的,配置文件storage-conf.xml中描述当前分布式数据系统所需的一些配置关系,结合上面的语句我们可以理解这种对应关系:
set Keyspace1.Standard2['employee']['name'] = 'li'
                \                      \               \                   \            \
                \                      \               \_ key          \            \_ value
                \                      \                                    \_ column
                \_ keyspace\_ column family

    :此节点可以认为是数据库名称,我们称为"空间"名称.
    Standard2表示为列式存贮的结构名称.
    对Cassandra的理解和分析暂时只能达到这个层次,稍后会通过代码继续带给大家更多的细节和代码结构,我们会持续揭开Cassandra神秘的面纱.
页: [1]
查看完整版本: Cassandra(一)---搭建基于Windows的分布式数据库