欢迎投稿

今日深度:

第11周 海量数据与列式数据库Cassandra,第11周cassandra

第11周 海量数据与列式数据库Cassandra,第11周cassandra


Cassandra

Cassandra的含义 由Facebook开发,后被捐献给Apache基金会,成为开源软件 以Amazon Dynamo为最初的模仿对象,结合Google Big Table基于列族的数据模型,可以称为Dynamo 2.0 支持无中心的分布式设计,不存在单点问题,所有节点功能完全一样 在不间断服务的情况下可弹性扩展或收缩规模 高可用,支持热替换故障节点,支持多数据中心 可调节的一致性 面向行?还是面向列? 官网:http://cassandra.apache.org 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html?pagename=docs&version=1.2&file=index#cassandra/cli_using/use_index_col_t.html

cassandra安装

#安装jdk # tar zxf jdk-7u9-linux-i586.tar.gz # mv ./jdk1.7.0_09/ /usr/ [root@linux cassandra]# cd [root@linux ~]# vi .bash_profile JAVA_HOME=/usr/jdk1.7.0_09 CLASSPATH=.:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH  # java -version # java # javac
#安装cassandra # tar zxf apache-cassandra-2.0.3-bin.tar.gz # mv apache-cassandra-2.0.3 cassandra # cd cassandra/ # mkdir -p data commitlog saved_caches #cd conf/ 修改cassandra.yaml配置文件 data_file_directories:     - /nosql/cassandra/cassandra/data commitlog_directory: /nosql/cassandra/cassandra/commitlog saved_caches_directory: /nosql/cassandra/cassandra/saved_caches 修改log4j-server.properties log4j.appender.R.File= /nosql/cassandra/cassandra/commitlog/system.log
#启动cassandra [root@linux bin]# pwd /nosql/cassandra/cassandra/bin [root@linux bin]# ./cassandra -f #-f :是不放到后台去运行,方便做实验看日志输出。
#测试cassandra [root@linux bin]# pwd /nosql/cassandra/cassandra/bin [root@linux bin]# ./cassandra-cli Connected to: "Test Cluster" on 127.0.0.1/9160 Welcome to Cassandra CLI version 2.0.3 The CLI is deprecated and will be removed in Cassandra 3.0. Consider migrating to cqlsh. CQL is fully backwards compatible with Thrift data; see http://www.datastax.com/dev/blog/thrift-to-cql3 Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit. [default@unknown] ?

数据模型

集群(cluster) Keyspaces ——集群是keyspace的容器,Keyspace是数据的最外层容器(类似Oracle的表空间概念)。 列族 ——Keyspace是列族的容器,列族类似于Oracle中的表,列族需要在keyspace中预先定义。 列 ——列是最基本的数据结构单元,列不需要预先定义。
[default@unknown] create keyspace zhang_sp;                    ##创建keyspace 29ac08c0-a3b5-3d95-bfc2-14c86a3d5263 [default@unknown] show keyspaces; Keyspace: zhang_sp:   Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy   Durable Writes: true     Options: [datacenter1:1]   Column Families: [default@unknown] use zhang_sp; Authenticated to keyspace: zhang_sp [default@zhang_sp] create column family test_clu ;              ##创建列族 1c418137-d55d-395f-bb92-89a1b8885ad3 [default@zhang_sp] show schema; [default@zhang_sp] drop column family test_clu; 29ac08c0-a3b5-3d95-bfc2-14c86a3d5263 [default@zhang_sp] create column family test_clu               ##修改字符集 ... with column_type = 'Standard' ... and comparator = 'UTF8Type' ... and default_validation_class = 'UTF8Type' ... and key_validation_class = 'UTF8Type'; e23dcea5-1be9-335a-a695-cc5e3ad16bc9 [default@zhang_sp] set test_clu['zhangsan'][age]=28;            ##插入行 Value inserted. Elapsed time: 79 msec(s). [default@zhang_sp] set test_clu['zhangsan'][phone]=34567; Value inserted. Elapsed time: 3.6 msec(s). [default@zhang_sp] get test_clu['zhangsan'];                   ##查询 => (name=age, value=28, timestamp=1388069357905000) => (name=phone, value=34567, timestamp=1388069563742000) Returned 2 results. Elapsed time: 5.51 msec(s). [default@zhang_sp] list test_clu;                               ##列出所有行 Using default limit of 100 Using default cell limit of 100 ------------------- RowKey: zhangsan => (name=age, value=28, timestamp=1388069357905000) => (name=phone, value=34567, timestamp=1388069563742000) 1 Row Returned. Elapsed time: 333 msec(s).

www.htsjk.Com true http://www.htsjk.com/cassandra/29861.html NewsArticle 第11周 海量数据与列式数据库Cassandra,第11周cassandra Cassandra Cassandra的含义由Facebook开发,后被捐献给Apache基金会,成为开源软件以Amazon Dynamo为最初的模仿对象,结合Google Big Tab...
相关文章
    暂无相关文章
评论暂时关闭