--Cassandra
文章平均质量分 80
独坐一隅
道法自然
展开
-
Cassandra3.9版本Java驱动Datastax Java Driver使用手册1-数据库连接
所需jar包:http://download.csdn.net/detail/nangongyanya/9738844package com.cassandra;import com.datastax.driver.core.Cluster;import com.datastax.driver.core.ResultSet;import com.datastax.driver.core原创 2017-01-16 15:39:22 · 4181 阅读 · 2 评论 -
CQL(Cassandra Query Language)触发器
触发器由以下定义的名称标识:trigger_name ::= identifier创建触发器创建新触发器使用CREATE TRIGGER语句:create_trigger_statement ::= CREATE TRIGGER [ IF NOT EXISTS ] trigger_name ON tabl翻译 2017-01-03 16:19:49 · 1391 阅读 · 3 评论 -
Cassandra3.9版本配置文件参数说明
cluster_name集群的名称。 这主要用于防止一个逻辑集群中的机器加入另一个逻辑集群。默认名称: ‘Test Cluster’num_tokens这定义了随机分配给环上该节点的令牌数。相对于其他节点,令牌数越多,该节点将存储的数据比例越大。您可能希望所有节点具有相同数量的令牌,假设它们具有相等的硬件能力。如果你留下这个未指定,Cassandra将使用默认的翻译 2017-01-03 16:58:34 · 4932 阅读 · 0 评论 -
操作Cassandra(1)-Snitch
Snitch在cassandra中,snitch有两个功能:它指导Cassandra识别网络拓扑以有完成效地路由请求。它允许Cassandra在您的集群周围传播副本,以避免相关的故障。它通过将机器分组到“数据中心”和“机架”来实现这一点。Cassandra将尽最大努力在同一“机架”(实际上可能不是物理位置)上拥有多个副本。动态snitching(Dynamic snitch翻译 2017-01-04 11:10:03 · 1483 阅读 · 0 评论 -
操作Cassandra(2)-添加,替换,移动和删除节点
引导(Bootstrap)添加新节点称为“引导”。 num_tokens参数将定义加载节点在引导期间将被分配的虚拟节点(令牌)的数量。令牌定义节点将负责的环(令牌范围)的部分。令牌分配(Token allocation)使用默认令牌分配算法,新节点将选择num_tokens个随机令牌来负责。由于令牌是随机分布的,负载分布随着更大量的虚拟节点而改进,但是也增加了令牌管理开销。翻译 2017-01-04 13:34:28 · 6339 阅读 · 0 评论 -
操作Cassandra(3)-合并、压实
压缩类型(Types of compaction)压缩的概念用于Cassandra中的不同类型的操作,这些操作的常见之处在于它需要一个或多个sstables并输出新的sstables。压缩的类型有:轻度压缩(Minor compaction)在Cassandra中自动触发。高度压缩(Major compaction)用户对节点上的所有sstables执行压缩。用户自定义压缩(User de翻译 2017-01-04 17:16:50 · 2679 阅读 · 0 评论 -
操作Cassandra(4)-Bloom过滤器
Bloom过滤器在读取路径中,Cassandra将磁盘(SSTables)中的数据与RAM(memtables)中的数据合并。为了避免为每个SSTable数据文件检查所请求的分区,Cassandra采用了一种称为bloom过滤器的数据结构。Bloom过滤器是一种概率数据结构,允许Cassandra确定两种可能状态之一: - 数据肯定不存在于给定文件中,或 - 数据可能存在于给定文件中。翻译 2017-01-05 10:03:20 · 1192 阅读 · 0 评论 -
操作Cassandra(5)-Compression
压缩Cassandra为操作员提供了在每个表上配置压缩的能力。通过用户可配置压缩参数chunk_length_in_kb压缩SSTable来减小磁盘上的数据大小。因为Cassandra SSTables是不可变的,压缩的CPU成本只有在写入SSTable时才是必要的,随后的数据更新将落在不同的SSTables中,因此Cassandra不需要在发布UPDATE命令时解压缩,覆盖和重新压缩数据翻译 2017-01-05 11:06:28 · 982 阅读 · 0 评论 -
操作Cassandra(6)-变更数据捕获(CDC)
变更数据捕获概述变更数据捕获(CDC)提供了一种机制来标记特定的表用于存档,一旦数据量达到配置的刷新和未刷新的CDC日志的大小之和,就拒绝对这些表的写入。然后将任何包含启用表(启用CDC)数据的CommitLogSegments移动到cassandra.yaml中指定的目录丢弃。在yaml中指定允许的总磁盘空间的阈值,此时新分配的CommitLogSegments将不允许写入CDC翻译 2017-01-05 11:47:53 · 1808 阅读 · 0 评论 -
操作Cassandra(7)-监控
监控Cassandra中的度量标准使用Dropwizard Metrics库进行管理。这些度量可以通过JMX查询,或使用一些内置和第三方记录插件推送到外部监控系统。为单个节点收集指标。由操作者使用外部监控系统来聚合它们。指标类型cassandra报告的所有指标都符合以下类型之一。测量(Gauge)值的瞬时测量。计数器(Counter)AtomicLong实例的度量。通常翻译 2017-01-05 15:45:35 · 4348 阅读 · 0 评论 -
操作Cassandra(8)-安全性
安全性Cassandra提供的安全功能有三个主要组件::用于客户端和节点间通信的TLS / SSL加密客户端身份验证授权TLS / SSL加密Cassandra在客户端机器和数据库集群之间以及集群中的节点之间提供安全通信。启用加密可确保正在运行的数据不会泄露,并且安全传输。客户端到节点和节点到节点加密的选项单独管理,可以独立配置。当启用加密时,将使用支持的协议和密码套件翻译 2017-01-06 13:32:57 · 2756 阅读 · 0 评论 -
操作Cassandra(9)-硬件选择
硬件选择与大多数数据库一样,Cassandra吞吐量随着更多的CPU内核,更多的RAM和更快的磁盘而提高。虽然Cassandra可以在测试或开发环境(包括Raspberry Pis)的小型服务器上运行,但最小生产服务器至少需要2个内核和至少8GB的RAM。典型的生产服务器有8个或更多的内核和至少32GB的RAM。中央处理器(CPU)Cassandra高度并发,使用在尽可能多的C翻译 2017-01-06 14:12:11 · 1398 阅读 · 0 评论 -
Cassandra工具:cqlsh(the cql shell)
cqlsh: the CQL shellcqlsh是通过CQL(Cassandra查询语言)与Cassandra交互的命令行shell。它随每个Cassandra软件包一起提供,可以在bin目录下的cassandra可执行文件中找到。cqlsh使用Python本机协议驱动程序,并连接到在命令行上指定的单个节点。兼容性cqlsh与Python 2.7兼容。一般来说,给定版本的翻译 2017-01-09 11:24:36 · 6228 阅读 · 0 评论 -
Cassandra工具:Nodetool
Nodetool使用用法: nodetool [(-pwf | –password-file )][(-u | –username )] [(-p | –port )][(-h | –host )] [(-pw | –password )] []最常用的nodetool命令是:assassinate -强制删除死节点,而不重新复制任何数据。如果不能翻译 2017-01-09 15:20:35 · 4427 阅读 · 0 评论 -
CQL(Cassandra Query Language)JSON支持
Cassandra 2.2引入了对SELECT和INSERT语句的JSON支持。此支持不会从根本上改变CQL API(例如,模式仍然被强制执行),它只是提供一种方便的方式来处理JSON文档。SELECT JSON使用SELECT语句,JSON关键字可用于将每行返回为单个JSON编码映射。SELECT语句行为的其余部分是相同的。结果映射键与正常结果集中的列名称相同。 例如翻译 2017-01-03 16:11:22 · 3248 阅读 · 0 评论 -
CQL(Cassandra Query Language)函数
CQL supports 2 main categories of functions:the scalar functions, which simply take a number of values and produce an output with it.the aggregate functions, which are used to aggregate multip翻译 2017-01-03 15:36:27 · 5684 阅读 · 0 评论 -
Apache Cassandra架构理解
转载自:http://www.360doc.com/content/17/0116/11/39871333_622789686.shtml架构基本流程: 点对点分布式系统,集群中各节点平等,数据分布于集群中各节点,各节点间每秒交换一次信息。每个节点的commit log提交日志捕获写操作来确保数据持久性。数据先被写入MemTable(内存中的数据结构),待Mem转载 2017-01-16 11:15:31 · 2620 阅读 · 0 评论 -
Cassandra数据模型设计最佳实践(下)
在第一部分中,我们介绍了一些基本实践,然后通过一个具体的例子帮助大家开启Cassandra数据模型设计之旅。你可以跳过第一部分直接阅读本篇文章,但是我推荐你看看第一篇文章中“术语和约定”部分。如果你是一个Cassandra新手,我还是建议你先阅读第一部分。以下列出的实践有些可能会发生变化,我将提供相关JIRA地址给大家,以方便跟踪最新进展。下面让我们先从几个基本实践开始吧!通过column转载 2017-02-17 11:39:20 · 2661 阅读 · 0 评论 -
Cassandra数据模型设计最佳实践(上)
本文是Cassandra数据模型设计第一篇(全两篇),该系列文章包含了eBay使用Cassandra数据模型设计的一些实践。其中一些最佳实践我们是通过社区学到的,有些对我们来说也是新知识,还有一些仍然具有争议性,可能在要通过进一步的实践才能从中获益。本文中,我将会讲解一些基本的实践以及一个详细的例子。即使你不了解Cassandra,也应该能理解下面大多数内容。说说Cassandra在eba转载 2017-02-17 10:15:23 · 2232 阅读 · 0 评论 -
Cassandra简介
Cassandra简介Cassandra是一套开源分布式NoSQL数据库系统,由一堆数据库节点共同构成的一个分布式网络服务。Cassandra 集群中节点是通过自治理来对外提供服务的,它不像 Hadoop 这种 Master/Slave 形式的集群结构,会有一个主服务节点来管理所有节点中的原信息和对外提供服务的负载均衡。Cassandra 的集群管理方式就是一种自适应的管理方式,集群中原创 2017-03-30 14:18:14 · 1378 阅读 · 0 评论 -
Cassandra3.9版本基础入门1-数据库安装
安装要求:1、因为Cassandra是由Java编写的所以要求已经安装有JDK8或者OpenJDK8,可以通过命令Java -version确认2、为了能使用cqlsh,要求已经安装Python 2.7,可以通过python --version确认下载tar压缩包安装1、下载压缩包wget http://apache.fayea.com/cass翻译 2016-12-29 09:47:07 · 1566 阅读 · 0 评论 -
Cassandra3.9版本基础入门2-基本配置说明
对于在单个节点上运行Cassandra,上述步骤就足够了,您实际上不需要更改任何配置。 但是,在部署节点集群或使用不在同一主机上的客户端时,有一些参数必须更改。根据tar压缩包解压缩安装的Cassandra,其配置文件可以在conf子目录中找到。 对于软件包安装的Cassandra,配置文件将位于/ etc / cassandra目录下。主要的运行时属性Cassandr翻译 2016-12-29 10:29:07 · 1346 阅读 · 0 评论 -
Cassandra3.9版本基础入门3-插入和查询
Cassandra的API是CQL(Cassandra Query Language),要使用CQL,需要先连接到集群。连接的方式:(1)使用cqlsh;(2)通过Cassandrad的客户端驱动程序。注:使用CQLSH前请先安装Python 2.7CQLSHcqlsh是用于让CQL和Cassandra进行交互的命令行脚本。每个Cassandra压缩包中翻译 2016-12-29 11:14:12 · 1602 阅读 · 0 评论 -
CQL(Cassandra Query Language)定义
标识符和关键字:CQL语言使用标识符(或名称)来标识表,列和其他对象。标识符是一个与正则表达式[a-zA-Z][a-zA-Z0-9_]*匹配的token。许多像SELECT或WITH这样的标识符是关键字。 他们对语言有固定的意义,大多数是保留的关键字。标识符和关键字不区分大小写。 因此SELECT与select或sElEcT相同,myId与myid或MYID相同。 通常翻译 2016-12-29 16:00:22 · 1951 阅读 · 0 评论 -
CQL(Cassandra Query Language)数据类型
CQL是一种类型化语言,支持丰富的数据类型集,包括本地类型(native_types),集合类型(collection_type),用户定义类型(user_defined_type),元组类型(tuple_type)和自定义类型(custon_type):cql_type ::= native_type | collection_type | user_defined_type | tupl翻译 2016-12-30 12:14:46 · 3019 阅读 · 0 评论 -
CQL(Cassandra Query Language)数据操作
本节介绍CQL支持插入,更新,删除和查询数据的语句。查询(SELECT)从数据查询数据是使用SELECT语句完成的:select_statement ::= SELECT [ JSON | DISTINCT ] ( select_clause | '*' ) FROM table_name [翻译 2016-12-30 17:33:22 · 8515 阅读 · 0 评论 -
CQL(Cassandra Query Language)辅助索引
CQL支持在表上创建辅助索引,允许表上的查询使用这些索引。辅助索引由以下定义的名称标识:index_name ::= re('[a-zA-Z_0-9]+')创建索引在表上创建辅助索引使用CREATE INDEX语句:create_index_statement ::= CREATE [ CUSTOM ] INDEX [ IF NOT EXISTS ] [ inde翻译 2017-01-03 09:56:14 · 1043 阅读 · 0 评论 -
CQL(Cassandra Query Language)物化视图
物化视图名称由以下语法定义:view_name ::= re('[a-zA-Z_0-9]+')创建视图您可以使用CREATE MATERIALIZED VIEW语句在表上创建物化视图:create_materialized_view_statement ::= CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] view_name AS翻译 2017-01-03 10:22:35 · 2388 阅读 · 0 评论 -
CQL(Cassandra Query Language)安全性
数据库角色(ROLE)CQL使用数据库角色来表示用户和用户组。角色定义语法为:role_name ::= identifier | string创建角色(ROLE)创建角色使用CREATE ROLE语句:create_role_statement ::= CREATE ROLE [ IF NOT EXISTS ] role_name翻译 2017-01-03 12:57:13 · 873 阅读 · 0 评论 -
CQL(Cassandra Query Language)数据定义
CQL将数据存储在表中,这些表的模式定义了表中所述数据的布局,这些表被分组在键空间中。 键空间定义了一些适用于其包含的所有表的选项,其中最显着的是键空间使用的复制策略。 通常鼓励应用程序使用一个键空间,因此许多集群可以仅定义一个键空间。本节介绍用于创建,修改和删除这些键空间和表的语句。1.常规定义键空间和表的名称由以下语法定义:keyspace_name ::=翻译 2016-12-30 12:31:27 · 2646 阅读 · 2 评论