原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://eric100.blog.51cto.com/2535573/1794361
前面《Cassandra基本介绍》我们已经了解了Cassandra,今天将带领大家了解下,Cassandra的基础知识。
在《Cassandra基础入门篇》的整体目录如下:
-
快速开始
-
Cassandra数据模型
-
应用交互:驱动
-
Cassandra分布式架构
-
复制/一致性
-
Cassandra内部架构
-
课程总结
那么,我们这次的学习目标为是什么?总共有四大点:
-
安装和启动Cassandra
-
创建table,插入和查询数据
-
了解Cassandra数据模型
-
了解Cassandra架构
下面我们进入快速开始,为了以下课程的进行,我们需要快速掌握下如下知识:
-
Cassandra的安装和启动
-
CQL基本用法
一、首先我们介绍下,Cassandra的安装和启动:
Cassandra有3种安装选项:
1. 社区版:
-
地址:http://planetcassandra.org/Download/DataStaxCommunityEdition
-
描述:开发和生产环境免费
2. 企业版
-
描述:开发环境免费,生产环境需要license
3. 开源版
安装方式,Cassandra有yum,tarball安装方式,我们选择tarball安装:
-
根据上面下载地址,我们下载后并解压*.tar.gz文件
-
可以看到,解压后包含bin,conf、tools等目录
-
直接在bin目录下,运行Cassandra
启动Cassandra:
1 |
|
Cassandra会在log目录下生产日记文件,查看“statejump to normal”,表示启动成功
1 |
|
二、CQL基础
主要包含以下知识点:
-
什么是CQL
-
什么是Keyspaces
-
什么是Tables
-
基本datatypes
什么是CQL呢?
CQL全称:Cassandra Query Language,就是Cassandra查询语法,类似于SQL。
1 |
|
什么是Keyspaces?
Keyspaces是Cassandra中数据最外层/顶层的容器,类似于关系型数据库的schema的概念。有属性Replication,定义了整个Keyspaces范围内的全局行为。
1 2 3 4 |
|
切换Keyspaces方法:使用USE
1 |
|
什么是Tables?
Keyspaces包含tables,tables包含数据,与关系型数据库中的表容器类似。
基本数据类型:
类型 | 描述 |
text | UTF-8编码 varchar与text相同 |
int | 有符号型 32位 |
timestamp | 64位整型 存储从1970-01-01 00:00:00的秒数 |
UUID和TIMEUUID类型
用来替代整型id(由于Cassandra是分布式数据库)
UUID全称:Universally Unique Identifier
例如:52b11d6d-16e2-4ee2-b2a9-5ef1e9589328
通过uuid()生成
TIMEUUID:将timestamp嵌入UUID值中
例如:1be43390-9fe4-11e3-8d05-425861b86ab6
可排序的,通过now()生成
INSERT语法:
类似于关系型语法
1 2 |
|
SELECT语法:
类似于关系型语法
1 2 3 4 5 |
|
其他语法:
后续数据模型课程,会介绍更多。
参考我的博客:
http://eric100.blog.51cto.com/2535573/1697169
http://eric100.blog.51cto.com/2535573/1697914
本文出自 “java架构师之路” 博客,请务必保留此出处http://eric100.blog.51cto.com/2535573/1794361