Cassandra 预知了她的特洛伊城终将覆灭,但却无力阻止这一悲剧。Cassandra 分布式数据库就据此命名。 无模式数据库(如 Bigtable 和 MongoDB)在访问大量数据时具有高度可扩展性和高性能的优势。无模式数据库的主要缺点是难以确定数据的含义和格式,这限制了执行复杂查询的能力。 但如果你认为有几种关系型数据库可以很好地应付你的流量,提供不错的性能,那可能选关系型数据库更好。简单地说,这是因为 RDBMS 更易于在单机上运行,对你来说也更熟悉。 根据项目的 wiki,Cassandra 已经被用于开发了多种不同的应用,包括窗口化的时间序列数据库,用于文档搜索的反向索引,以及分布式任务优先级队列。 变化的应用 如果你正在“初创阶段”,业务会不断改进,Cassandra 这种灵活的模式的数据模型可能更适合你。这让你的数据库能更快地跟上业务改进的步伐。
在node1上 前往 http://cassandra.apache.org/download/ 下载 或者直接下载 http://mirror.bit.edu.cn/apache/cassandra 8、编辑配置文件cassandra.yaml 在node1 vim /cassandra/conf/cassandra.yaml data_file_directories: - /cassandradata node2:/ scp -r /cassandra node3:/ scp -r /cassandra node4:/ scp -r /cassandra node5:/ mkdir /cassandradata 13、按顺序启动 先seeds,后main 在node2 /cassandra/bin/cassandra -f 在node3 /cassandra/bin/cassandra -f 在node4 / cassandra/bin/cassandra -f 在node5 /cassandra/bin/cassandra -f 在node1 /cassandra/bin/cassandra -f 14、在
领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折
1.2非关系型数据库—Cassandra 1.2.1简介 Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。 其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的 Cassandra最初由Facebook开发,后转变成了开源项目。它是 一个网络社交云计算方面理想的数据库。 主要特性: ● 分布式 ● 基于column的结构化 ● 高伸展性 1.2.2功能 Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 和其他数据库比较,有三个突出特点: 模式灵活:使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。
前言 Cassandra 是一款开源分布式数据库软件,可以提供高容错,高性能,高可用,高弹性,可线性扩展的特性 在 CAP 理论中,它很好地实践了 AP 牺牲了 C, 它是一个最终一致性数据库 Cqlsh 是 Cassandra 的客户端 下面分享一下 Cqlsh 的简单使用方法 参考 Cassandra Tools Tip: 当前版本 Cassandra 3.11.1 和 cqlsh 5.0.1 -- | grep cqlsh | grep bin /usr/bin/cqlsh /usr/bin/cqlsh.py [root@much ~]# 在安装 cassandra 的过程中就已经自带了客户端 URL for help topic SELECT_JSON : https://cassandra.apache.org/doc/cql3/CQL-3.2.html#selectJson cqlsh> URL for help topic SELECT : https://cassandra.apache.org/doc/cql3/CQL-3.2.html#selectStmt cqlsh> HELP
前言 Cassandra 是一套开源分布式数据库软件,可以提供高容错,高性能,高可用,高弹性,可线性扩展的特性 The Apache Cassandra database is the right choice hardware or cloud infrastructure make it the perfect platform for mission-critical data Note: 它已经具备了那么多其它数据库羡慕的特性 ,那它牺牲了什么呢,在 CAP 理论中,它很好地实践了 AP 牺牲了 C , 它是一个最终一致性数据库,什么叫最终一致性呢,一个夸张的比喻就是 DNS 由于它的开源性,可以运行于廉价的硬件之上,高可用, 强容错,可线性扩展,比较对当前互联网应用的胃口,近年来越来越受到重视,我也不免俗地想对它加深一些了解 Tip: 此刻 Cassandra 在全球数据库排名中进入了前十,在第八位上下 下面分享一下 Cassandra /etc/cassandra/default.conf/cassandra.yaml /etc/cassandra/default.conf/cassandra.yaml.orig /etc/cassandra
akka在alpakka工具包里提供了对cassandra数据库的streaming功能。 简单来讲就是用一个CQL-statement读取cassandra数据并产生akka-stream的Source。 } val sts = jdbcSource.take(100).via(actionFlow).to(sink).run() 下面的例子里我们用CassandraStream的流元素更新h2数据库中的数据 := "0.1" scalaVersion := "2.12.4" libraryDependencies := Seq( "com.datastax.cassandra" % "cassandra-driver-core " % "3.4.0", "com.datastax.cassandra" % "cassandra-driver-extras" % "3.4.0", "com.typesafe.akka"
IT阅读会(小).jpg 一、Cassandra简介 Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。 其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。 Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。 老版本默认保存在/var/log/cassandra和 /var/lib/cassandra。 的Java客户端 Cassandra使用cql语言作为操作语言,Cassandra在2.0之后,在操作上越来越像sql数据库的操作,这样想从传统关系型数据库,切换到Cassandra的话,上手成本也越来越低
path=/cassandra/1.0.3/apache-cassandra-1.0.3-bin.tar.gz #tar -zxvf apache-cassandra-1.0.3-bin.tar.gz #cd apache-cassandra-1.0.3 mkdir -p /var/log/cassandra chown -R `whoami` /var/log/cassandra mkdir -p /var/lib/cassandra chown -R `whoami` /var/lib/cassandra #bin/cassandra -f #bin/cassandra-cli --host /Cassandra/ 逖靖寒的世界 Cassandra 分布式数据库详解,第 1 部分:配置、启动与集群 http://www.ibm.com/developerworks/cn/opensource /os-cn-cassandraxu1/ Cassandra 分布式数据库详解,第 2 部分:数据结构与数据读写 http://www.ibm.com/developerworks/cn/opensource
前言 Cassandra 是一款开源分布式数据库软件,可以提供高容错,高性能,高可用,高弹性,可线性扩展的特性 在 CAP 理论中,它很好地实践了 AP 牺牲了 C, 它是一个最终一致性数据库 Cqlsh 是 Cassandra 的客户端 接着上一篇,下面分享一下 Cqlsh 的简单使用方法 参考 Cassandra Tools Tip: 当前版本 Cassandra 3.11.1 和 cqlsh 5.0.1 | grep cqlsh | grep bin /usr/bin/cqlsh /usr/bin/cqlsh.py [root@much ~]# 在安装 cassandra 的过程中就已经自带了客户端 [cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh> 默认会连接本地的 Outputs information about the connected Cassandra cluster, or about the data objects stored
通过python --version查看python的版本 2、安装并启动Cassandra 下载Cassandra的tar包,下载地址 解压 tar -xzvf apache-cassandra-3.11.4 修改~/.bashrc 添加Java和Cassandra相关路径的环境变量 修改Cassandra的配置。 # - /var/lib/cassandra/data data_file_directories: - /data1/cassandra/data - /data2/cassandra Cassandra增加、删除节点 1、增加节点 将jdk和cassandra文件copy到新的节点 启动新节点上的cassandra服务 bin/cassandra & 如果要同时增加多台机器,则增加一个 Cassandra进程关闭并且无法启动,如果Cassandra有多副本的话,删除损坏的commit log文件并重启就行
; import org.apache.cassandra.thrift.Column; import org.apache.cassandra.thrift.ColumnOrSuperColumn; import org.apache.cassandra.thrift.ColumnParent; import org.apache.cassandra.thrift.ColumnPath; import org.apache.cassandra.thrift.ConsistencyLevel; import org.apache.cassandra.thrift.InvalidRequestException ; import org.apache.cassandra.thrift.SlicePredicate; import org.apache.cassandra.thrift.SliceRange; import org.apache.cassandra.thrift.TimedOutException; import org.apache.cassandra.thrift.UnavailableException
序 本文主要研究一下Cassandra的FailureDetector IFailureDetector cassandra-3.11.4/src/java/org/apache/cassandra/gms (See CASSANDRA-1463 for an example). Gossiper cassandra-3.11.4/src/java/org/apache/cassandra/gms/Gossiper.java public class Gossiper implements See CASSANDRA-150 for more exposition. */ if (! 中失效检测原理详解 cassandra中对节点失败与否的探测方法, the Phi accrual Failure Dector,附论文
Cassandra HBase 一致性 Quorum NRW策略 通过Gossip HBase 中的数据是按列进行有序存储的(不像关系型数据库中按行存储)。
序 本文主要研究一下Cassandra的FailureDetector add-a-bit-of-acid-to-cassandra-cassandra-summit-eu-2014-19-638.jpg IFailureDetector cassandra-3.11.4/src/java/org/apache/cassandra/gms/IFailureDetector.java public interface (See CASSANDRA-1463 for an example). Gossiper cassandra-3.11.4/src/java/org/apache/cassandra/gms/Gossiper.java public class Gossiper implements See CASSANDRA-150 for more exposition. */ if (!
12.3 Cassandra数据定义 “卜算子·大数据”一个开源、成体系的大数据学习教程。 ——每周日更新 本节主要内容: 数据定义 12.3.1 Cassandra Query Language (CQL) CQL是Cassandra提供的接近SQL的模型,因为数据包含在行列的表中,CQL中的表 12.3.2 启动cqlsh cqlsh 12.3.3 Clusters 集群 集群是Cassandra集群部署的名称标志,避免集群A中的机器加入其它的集群(如B)。 12.3.6.1 主键(The Primay key ) 主键和关系型数据库的主键类似,具有唯一与检索等属性。 在Cassandra中,主键的区别是,主键由两部分组成: 分区键(partition key),主键第一个或者第一组是分区键。
前几天开发把分布式存储服务器cassandra 升级了,担心升级不成功,所以写了一个升级回滚失败的脚本 环境说明: 升级后的目录结构为: Cassandra 数据文件放在/opt /cassandra/data/下 data目录下有很多keyspace的目录:如:system 目录,Keyspcace目录下有coumlfailmly 目录, 如:/opt/cassandra /data/system下,(-ib- 文件除外) 如: /opt/cassandra/data/system/peers/snapshots/1370569934254/system-peers-fsdfsfsfd -10-Summary.db=======》 /opt/cassandra/data/system/peers-fsdfsfsfd-10-Summary.db (注意还得重命令,把文件名的keyspace 脚本支持: /cassandra/data 和/opt/cassasnra/data 这个路径下的目录。
架构简介 Cassandra是设计用于跨多节点方式处理大数据,它没有单点故障;这种架构设计之初就考虑到了系统和硬件故障。 Cassandra是一个分区行存储数据库,行被保存在tables且必须有一个primary key。Cassandra的架构允许任何授权用户连接到任意数据中心的任意节点,使用CQL语言访问数据。 3.Cassandra关键组件和配置 Gossip Gossip是一中P2P的通讯协议,Cassandra用它来发现并分享节点间的地址和状态信息。 Snitch通知Cassandra网络拓扑以便请求被有效的路由,并且允许Cassandra在服务器增加到数据中心或机架的时候能够分发副本。 创建集群是必须指定snitch。 默认情况下,节点用于存储数据的位置配置在cassandra.yaml里面。
Cassandra思想和Dynamo差不多,还吸收了Bigtable的实现。因为是Dynamo+Bigtable,所以号称比Bigtable套娃的HBase性能高很多。 Reference: Cassandra - A Decentralized Structured Storage System 数据模型 在行方面,对行操作原子性。 columnName) delete(table, key, columnName) columnName可以随便指列的任何层次 架构 一致性Hash改进 和Dynamo的虚拟节点改进采用不同策略,Cassandra deemed appropriate to use an explicit mechanism to initiate the addition and removal of nodes from a Cassandra An administrator uses a command line tool or a browser to connect to a Cassandra node and issue a membership
1.前言 因为项目要处理大数据量的环境数据,所以我们采用了Cassandra集群的方式来存储我们的数据,但是前几天集群中有一台Cassandra突然崩掉了,报错原因如下: ? 2.删除节点 删除节点就比较简单了,只要我们在一台正常的节点上操作就行了. 2.1启动Cassandra服务 这里我们进入相应的Cassandra的 bin 目录下,然后通过以下命令启动Cassandra /cassandra 2.2查看集群信息 通过以下命令即可 nodetool describecluster ? 2.3查看节点详细信息 . 那么节点就已经成功删除了,如果还在的话,建议先重启一下Cassandra,之后再查看节点的状态,重复几次应该就能够正常删除了.
12.4 Cassandra数据模型 “卜算子·大数据”一个开源、成体系的大数据学习教程。 ——每周日更新 没有JOIN操作 Cassandra没有表的连接操作,跟关系型数据库设计相比最好的方式是,反(非)规范化设计,设计为两个表连接后的结果表。 非规范化的设计在Cassandra数据库中表现最佳。适当冗余,相同的数据出现在不同的表中,具有不同的键。 物化视图 基于已经存在的基础表,创建多个非规范化的数据视图(物化视图)。 存储空间设计 Cassandra每个表都是存储在磁盘上的单独文件中,相关的列尽量保持在同一个表中(磁盘文件)。 搜索单个分区的查询性能最佳,优化最小搜索分区数量。 分区中的单元值计算方法: 分区中的单元值=静态列数+表的行数*(列数-主键列数-静态列数) Cassandra的限制是每个分区20亿。
腾讯云数据库MySQL是一种高性能、高可靠、高安全、可灵活伸缩的数据库托管服务,其不仅经济实惠,而且提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,让您能更加专注于业务发展。
扫码关注腾讯云开发者
领取腾讯云代金券