- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式Key-Value
分布式Key-Value存储系统——Cassandra 入门
Type of Submission: FORMDROPDOWN
Title: 分布式Key-Value存储系统—— Cassandra 入门
Subtitle: subtitle
Keywords: Cassandra , NoSQL, 集群,
Prefix:
Given: 黄俊平
Middle: authormiddle
Family: authorfamily
Suffix:
Job Title: authorjobtitle高级软件工程师authorjobtitle
Email: authoremailideajava@
Bio: authorbio擅长Java应用程序的架构、设计和实现,热衷开源软件的开发和应用,活跃在开源中国社区 (),您可以通过博客()或者邮件(ideajava@)来联系他。
Company: companyname华腾信息科技有限公司companyname
Photo filename: photofilename
Abstract: abstractApache Cassandra是一套开源分布式Key-Value存储系统。它最初由 Facebook开发,用于储存特别大的数据。 Cassandra不是一个数据库,它是一个混合型的非关系的数据库,类似于Google的BigTable。本文主要从以下五个方面来介绍 Cassandra:1.Cassandra 的数据模型2.安装和配制 Cassandra3.常用编程语言使用Cassandra来存储数据4.Cassandra 集群搭建
Cassandra 的数据存储结构
Cassandra的数据模型是基于列族(Column Family)的四维或五维模型。它借鉴了 Amazon 的 Dynamo和Googles BigTable的数据结构和功能特点,采用 Memtable 和 SSTable 的方式进行存储。在Cassandra写入数据之前,需要先记录日志( CommitLog ),然后数据开始写入到Column Family对应的 Memtable 中,Memtable 是一种按照key排序数据的内存结构,在满足一定条件时,再把 Memtable 的数据批量的刷新到磁盘上,存储为 SSTable 。
下图是Cassandra的数据模型图:
Cassandra的数据模型的基本概念:
1. Cluster : Cassandra的节点实例,它可以包含多个 Keyspace2. Keyspace : 用于存放 ColumnFamily 的容器,相当于关系数据库中的Schema或database3. ColumnFamily : 用于存放Column的容器,类似关系数据库中的table的概念4. SuperColumn :它是一个特列殊的Column,它的Value值可以包函多个Column5. Columns:Cassandra的最基本单位。由name , value , timestamp组成
下面是关于数据模型实例分析:
写入一个studentA的信息:
set Keyspace1.Standard2[studentA][age] = 18
\ \ \ \ \
\ \ \_ key \ \_ value
\ \ \_ column
\_ keyspace \_ column family
读取studentA列信息:
get Keyspace1.Standard2[studentA]
返回的结果:
(column=age, value=18, timestamp=1270694041669000)
Cassandra 节点的安装和配置
获取Cassandra
# wget HYPERLINK /apache-mirror/cassandra/0.6.0/apache-cassandra-0.6.0-rc1-bin.tar.gz /apache-mirror/cassandra/0.6.0/apache-cassandra-0.6.0-rc1-bin.tar.gz# tar -zxvf apache-cassandra-0.6.0-rc1-bin.tar.gz# mv apache-cassandra-0.6.0-rc1 cassandra
# ls Cassandra
Ca
文档评论(0)