Cassandra的安装配置及简单操作
来源:互联网 发布:apache poi api 编辑:程序博客网 时间:2024/06/05 22:33
介绍
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
它是一个开源的、分布式、无中心、支持水平扩展、高可用的KEY-VALUE类型的NOSQL数据库。
官网文档地址http://cassandra.apache.org/doc/latest/
版本
Apache Cassandra,目前最新版3.0.13
DataStax Community Edition(基于Apache Cassandra,推荐使用)
- 支持yum、rpm快速安装
- yum安装升级方便
- 目录环境自动配置
- 方便与OpsCenter结合
CQL开发工具-DevCenter
运维工具-OpsCenter
DataStax是针对Cassandra进行商业化运作的公司。
系统架构
由亚马逊的Dynamo与Google 的BigTable两部分组成。
一致性
什么叫数据库的一致性?读操作一定会返回最新写入的结果。
Cassandra是最终一致性(弱一致性):成功写入后,读取的并不一定是最新数据,但过一段时间(毫秒级别,跨机房时间会更长)所有副本才会达成一致。
Cassandra是最终一致性原因:优化写入性能,支持ONE、Qurum、ALL等。
Cassandra支持致性调节:当要求成功写入节点数与副本数一致时,即ALL时,认为是强一致性的。
CAP理论
CAP理论指出在一个分布式系统中,你只能强化其中两个方面
- Consistent:一致性,每次读取都是最新的数据
- Available:可用性,客户端总是可以读写数据
- Partition Tolerant:分区耐受性,数据库分散到多台机器,即使某台机器故障,也可以提供服务
编程驱动
DataStax Java Driver for Apache Cassandra是Apache Cassandra的一个Java驱动。它支持Cassandra Query Language version 3(CQL3)和Cassandra的二进制协议。它主要包括以下模块。
- driver-core:核心层
- driver-mapping:对象映射
- driver-extras:JAVA驱动的可选特性
- driver-examples
- driver-tests
驱动文档地址http://docs.datastax.com/en/developer/java-driver/3.0/
关系数据库对比
Cassandra概述与数据模型设计https://wenku.baidu.com/view/8eaabe6987c24028915fc386.html
DB-Engine数据库排名https://db-engines.com/en/ranking
HBase位于15名。
数据类型
查询语言(CQL)
如果有不熟悉命令的,进行cqlsh
命令行模式后,输入help
进行查看支持的命令。
数据类型
CQL是一种类似SQL的查询语言,它支持相当丰富的数据类型,如下。 cql_type ::= native_type | collection_type | user_defined_type | tuple_type | custom_type
native_type
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
数据库数据类型与JAVA数据类型的映射关系。
创建keyspace
Cassandra的存储抽象结构和数据库一样,keyspace对应关系数据库的database或schema,column family对应于table。
示例如下: CREATE KEYSPACE iotstp WITH replication = {'class': 'SimpleStrategy','replication_factor': 1};
其它操作
- 1
- 2
- 3
查看当前有哪些keyspace使用命令desc keyspaces
。
创建Table
创建示例如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
修改示例:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
删除表
- 1
清空表
- 1
查看当前有哪些table使用命令desc tables
。
数据操作
select查询
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
insert插入
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
- 7
update更新
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
delete 删除
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
更新与删除只支持按主键进行,意思是where关键字后面必须携带主键字段。
物化视图(Materialized Views)
安装
datastax社区版
如果采用datastax社区免费版本,则下载地址https://academy.datastax.com/planet-cassandra//cassandra/,我下载的为windows 3.0.9版本。
配置
当cassandra安装好后,配置文件放在安装目录的conf目录下,如我的机器中F:\Program Files\DataStax Community\apache-cassandra\conf
,配置文件名为cassandra.yaml
,主要关注以下两部分。
- Main runtime properties(主要的cassandra运行时属性)
a) cluster_name:集群名,同一集群的多个节点,集群名要一致
b) seeds: 种子节点,集群中的全部机器的ip,以逗号隔开
c) storage_port: Cassandra服务器与服务器之间连接的端口号,一般不需要修改,但要保证此端口上没有防火墙
d) listen_address: Cassandra集群中服务器与服务器之间相互通信的地址。如果留空,将默认使用服务器的机器名
e) native_transport_port: 默认的CQL本地服务端口,本地的cql客户端与服务器交互的端口
- Changing the location of directories(相关的文件目录)
a) data_file_directories: 数据文件存放的目录,一个或多个
b) commitlog_directory: 提交信息的日志文件存放的目录
c) saved_caches_directory: 缓存存放的目录
apache
下载地址http://cassandra.apache.org/download/
- Cassandra的安装配置及简单操作
- Cassandra的安装及配置
- Cassandra入门指南--安装及配置
- Cassandra<一>安装配置及常用命令
- 简单的cassandra安装和测试
- Cassandra_教程一_Cassandra的简单操作_基于(cassandra-cli) 需要 2.2 及以下版本
- 安装 Cassandra 服务,使用命令行进行key操作,很简单
- Cassandra安装与配置
- cassandra的简单使用
- cassandra的简单应用
- Mongodb安装及简单的CURD操作
- java操作cassandra(安装)
- redhat5.5下MySql数据库的安装配置及简单操作
- cassandra的配置说明
- cassandra入门二- Cassandra的配置
- Apache的基本安装及简单配置
- Yii2的安装及简单配置
- flume安装及简单的配置
- tensorflow 求两个序列dot co-attention矩阵的另一种写法
- Java IM环信服务端集成之创建应用(一)
- lua + libuv 实现tcp echo
- 服务器安装到同步流程一览
- Map的有序实现类和无序实现类
- Cassandra的安装配置及简单操作
- oracle 添加索引
- volley请求搭配图片请求
- [数位DP][线性基]Codeforces 388D. Fox and Perfect Sets
- Struts2 架构 拦截器
- HttpClient请求网络
- Java语言发展史
- 20171025
- 罗技g502鼠标使用感受,以及与g402的对比体验