22
#JCConf #JCConf #JCConf Cassandra 2.1 簡介 Cloud Tu

Cassandra 2.1 簡介

Embed Size (px)

Citation preview

#JCConf#JCConf#JCConf

Cassandra 2.1 簡介

Cloud Tu

#JCConf2

About Me

• TWJUG 成員– ID:Cloud Tu

– Icon :

• Blog– http://cloudtu.blogspot.tw

– Cassandra 相關心得• http://cloudtu.blogspot.tw/search/label/Cassandra

#JCConf3

聽完後…

• 新手–知道如何入門

• 新手 & 熟手–能夠自力找到合適的參考文件

#JCConf4

發展簡史

• Logo 是一隻眼睛• Wiki

– 中文 : http://zh.wikipedia.org/wiki/Cassandra– 英文 : http://en.wikipedia.org/wiki/Apache_Cassandra

• Cassandra 簡稱 C*

#JCConf5

版本血淚史演進

v0.8 v2.0

v1.2

v1.0

v2.1(目前)

Dark Age

#JCConf6

版本血淚史演進

• C* < v1.2 用戶體驗

#JCConf7

版本血淚史演進

• 個人建議–如果 PRD < v1.2,請升級至 v1.2

–新使用者直接用 v2.x

#JCConf8

C* 優缺點

• 優點

– scale out 能力超強–資料寫入飛快

• 缺點

–查詢資料的語法很陽春、限制很多

我要打千個 !

#JCConf9

C* 優缺點• 等價交換

–用資料查詢能力換取系統延展性

#JCConf10

開源 & 商業服務• 開源

– Apache Cassandra (cassandra.apache.org)

• 商業服務 & 技術支援– (www.datastax.com)

• 軟體分支–開源版:Apache Cassandra 2.x

http://cassandra.apache.org/download– DataStax 版 : DataStax Enterprise(簡稱 DSE) 4.x

http://www.datastax.com/download

#JCConf11

支援作業系統平台

• Linux–主要支援平台,功能最完整

• Windows– C* 2.1 正式支援

• MacOS–可以運作但未正式支援

• 不想爆肝的話,PRD 請在 Linux 上運作!!!

#JCConf12

功能簡介

• NoSQL 的一種,資料格式為 ColumnFamily• RDBMS vs. C* Mapping

RDBMS Cassandra

Database Keyspace

Table ColumnFamily

#JCConf13

功能簡介• ColumnFamily 概念

HashMap<RowKey,SortedMap<ColumnName,ColumnValue>>簡稱

Map<K,Map<N,V>>

UScountryduke

20ColumnValue

name

ageColumnName

SortedMap

1

RowKey

ColumnName 依名稱排序

#JCConf14

功能簡介• Cassandra Query Language (CQL)

CREATE TABLE user (id int PRIMARY KEY,name text,age int,country text

);

INSERT INTO user (id, name , age , country) VALUES ( 1, 'duke', 20, 'US');

SELECT * FROM user;

id | age | country | name----+-----+---------+------

1 | 20 | US | duke

#JCConf15

功能簡介• CQL vs. Map<K,Map<N,V>> Mapping

UScountryduke

20ColumnValue

name

ageColumnName

SortedMap

1

RowKey

id | age | country | name----+-----+---------+------

1 | 20 | US | duke

RowKey

#JCConf16

功能簡介• CQL vs. Map<K,Map<N,V>> Mapping

UScountryduke

20ColumnValue

name

ageColumnName

SortedMap

1

RowKey

id | age | country | name----+-----+---------+------

1 | 20 | US | duke ColumnName 依名稱排序

#JCConf17

功能簡介• CQL vs. Map<K,Map<N,V>> Mapping

UScountryduke

20ColumnValue

name

ageColumnName

SortedMap

1

RowKey

id | age | country | name----+-----+---------+------

1 | 20 | US | duke ColumnValue

#JCConf18

可供參考的資料

• C* 官網– http://wiki.apache.org/cassandra/GettingStarted– 超貧乏!

#JCConf19

可供參考的資料

• DataStax 官網– http://www.datastax.com/docs

新手指南

系統管理員指南

開發人員指南

#JCConf20

可供參考的資料

• DataStax 官網– http://www.datastax.com/docs

各類使用手冊

#JCConf21

可供參考的資料• 線上教學課程

– https://academy.datastax.com/

• 經驗談資料– http://planetcassandra.org/summit-presentations/

– Cassandra Summit 2014• 投影片

– http://www.slideshare.net/planetcassandra/tag/cassandra-summit-2014

• 視訊影片– https://www.youtube.com/playlist?list=PLqcm6qE9lgKJkxYZUOIykswDndrOItnn2

• 我的心得

– http://cloudtu.blogspot.tw/2014/10/cassandra-summit-2014.html

#JCConf22

最後…

• 下台一鞠躬