cassandra 详解
文章平均质量分 87
本专栏主要介绍nosql 数据库-cassandra的各项知识。
有关于cassandra的部署使用经验,监控经验。以及分布式数据库的一些
原理介绍
方丈的寺院
公众号@方丈的寺院
展开
-
cassandra cql解析
摘要CQL相比较于SQL有很多的限制,原因在于cassandra是为大数据存储设计的,而它的部署模式又都是基于分区方式的,不像mongo还有复制集这个小规模的数据库集群设计,当数据量大的时候再进行分片。为了提供检索效率,所以在CQL语法上做了限制,避免低效的查询语句。cassandra的数据是根据partition key做hash计算后分布到各个节点的,扫描各个节点的效率是很低的。所以cas原创 2017-06-04 17:41:07 · 5875 阅读 · 0 评论 -
cassandra 堆外内存管理
为什么需要堆外内存呢单有一些大内存对象的时候,JVM进行垃圾回收时需要收集所有的这些对象的内存也。增加了GC压力。因此需要使用堆外内存。java 分配堆外内存org.apache.cassandra.utils.memory.BufferPool也有相应的实现方法 private static ByteBuffer allocate(int size, boolean onHeap) {原创 2017-04-09 15:11:29 · 3127 阅读 · 0 评论 -
cassandra读源码---Streaming
前言cassandra的很多过程需要网络传输模块,需要在各个节点直接发送文件。包括加入节点,删除节点引起的不同节点的负责ring环的key值发生了变化,导致sstable需要在各个节点中移动。整体过程两个节点会创建一个相似的对称的StreamSession。主要是下面四个阶段。一个stream会话包含了多个文件,每个节点既有发送task,也会有接收task.涉及到的可参看的java知识有 1. 如原创 2017-03-12 21:39:58 · 1127 阅读 · 0 评论 -
读Cassandra源码之并发
java 并发与线程池java并发包使用Executor框架来进行线程的管理,Executor将任务的提交与执行过程分开,直接使用Runnable表示任务。future获取返回值。ExecutorService 继承了Executor接口,提供生命周器的管理,包括运行,关闭,终止三种状态。ThreadPoolExecutor ThreadPoolExecutor 是ExecutorService的原创 2017-03-05 15:09:32 · 1941 阅读 · 0 评论 -
Cassandra与Mongo的事务实现之分布式协议
摘要NoSql不同于关系型数据库,是分布式存储,因此想要实现关系型数据库中的事务就不是那么简单了。本文结合Cassandra中的paxos和Mongo的two phase commit来谈谈Nosql如何利用分布式协议来实现事务的。CassandraCassandra的paxos机制在这篇译文中已有详细解释了。 下面时序图方便理解。 注意acceptor节点数量由replicate factor原创 2017-02-22 21:59:29 · 2586 阅读 · 0 评论 -
Cassandra Secondary Index 介绍
摘要本文主要介绍cassandra中的索引,物化视图,有些知识点需要对cassandra有基本的认识才能理解。比如数据在cassandra节点中如何分布。如果有不明白的地方可以看本专栏之前文章。或者发送邮件和我探讨 cnstonefang@gmail.com。为什么叫secondary indexCREATE TABLE user( id bigint, name原创 2016-10-04 13:00:24 · 5917 阅读 · 0 评论 -
Cassandra User 问题汇总(1)------------repair
Cassandra Repair 问题问1:文档建议每周或者每月跑一次full repair.那么如果我是使用partition rangerepair,是否还有必要在cluster的每个节点上定期跑full repair ?答1:为什么要定期跑full repair一般在gc_grace_seconds 间隔时间内跑repair - 确保集群的数据保持一致。通常节点的write consiste原创 2016-07-23 18:30:40 · 5424 阅读 · 0 评论 -
从Stage角度看cassandra write
声明文章发布于CSDNcassandra concurrent 具体实现cassandra并发技术文中介绍了java的concurrent实现,这里介绍cassandra如何基于java实现cassandra并发包。Figure1——cassandra并发实现 cassandra各个Stage是通过StageManger来进行管理的,StageManager 有个内部类ExecuteOnlyExec原创 2016-07-10 14:48:58 · 4997 阅读 · 0 评论 -
cassandra 并发技术介绍
摘要本文主要介绍cassandra线程技术,cassandra的实现是基于java的,所以线程技术使用的也是jdk包提供的线程类。cassandra是分布式数据库,整个并发架构是基于阶段事件驱动架构(staged envent-driven architecture)它能够利用queue将复杂的事件驱动分解为各个阶段。一.java并发Executor 框架 http://docs...原创 2016-07-02 09:48:06 · 12735 阅读 · 0 评论 -
cassandra 概述
摘要本篇文章主要是介绍cassandra与其他NoSQL的区别以及自身的特点与应用场景。在关系数据库我们没必要选择数据库,通常需要适配oracle/mysql/sql server/db2 等多种数据库。但是今天的NoSQL 还不够成熟,以及每一款的NoSQL 数据库应用领域不是很宽泛,设计理念也有很大差异,所以通常我们需要为我们的应用评估究竟哪款NoSQL数据库比较合适。个人认为各个NoSQL数据原创 2016-06-25 15:58:21 · 4662 阅读 · 0 评论 -
cassandra 常见问题
摘要本文主要介绍在部署cassandra集群以及使用cassandra过程中遇到的一些问题。文章只发布在CSDN 和个人站点更多nosql文章可以访问stone fang 个人主页 正文Q1:cassandra 如何将一个节点设置为seed node,seed node与其他node有什么区别A1:设置seed node很简单,在cassandra.yaml 中 -s原创 2016-06-18 14:08:59 · 10162 阅读 · 1 评论 -
cassandra 如何写数据以及放置副本
application发送数据到server application 发送请求到server根据设置的load balance 规则从cluster中挑选一个coordinator,一般使用轮询即可。cluster 中的cassandra node 不仅作为数据库的储存节点,同样作为request 请求处理的server。所以保证每个节点处理的request 一样的balance算法即可然后根据原创 2016-04-17 18:33:42 · 3812 阅读 · 0 评论 -
redhat7 上安装dummynet
更多请访问 http://www.webpersonaldeveloper.cn摘要:在redhat 上部署dummynet 需要将ipfw 编译为内核模块,而ipfw需要调用linux kernel的一些函数。 linux kernel版本在不断提升,相关的数据结构也在变化。所以可能需要根据你要部署的系统内核版本,来调整参数提醒如果你要部署在Redhat6,CentOS6等内核版本比较低的平台,原创 2016-05-07 22:03:58 · 5386 阅读 · 0 评论 -
cassandra eclipse 环境构建
摘要本文主要介绍如何在eclipse中搭建cassandra环境更多cassandra,nosql 相关知识请访问http://www.webpersonaldeveloper.cn 正文1.fork cassandra 代码 然后clone 到本地(cassandra-trunk 是head 分支)git clone https://github.com/FS1360472174/cassan原创 2016-05-25 19:28:24 · 2543 阅读 · 0 评论 -
cassandra 监控方案评估
摘要最开始做cassandra monitor 方案的选型时,主要是从cassandra 本身入手,后来发现cassandra运行在JVM上,所有的metrics都是通过JMX 暴露出来。所以又可以使用一些通用的Java Application 的监控方案,作者 在调查了很多的实现方案后,最终将范围缩小在graphite,newrelic,opscenter三种解决方案。本文只给出各自的优劣势,具原创 2016-05-31 21:25:04 · 4006 阅读 · 0 评论 -
docker 部署cassandra
摘要本文主要介绍在redhat7 平台,利用docker 部署cassandra 集群,除了介绍基本的部署步骤,另外主要 讨论类似于cassandra 这种分布式集群系统部署 docker如何进行网络配置的问题文章只发布在CSDN与个人站点,其余站点均属盗版侵权 更多cassandra知识请访问 web 个人开发者安装docker最简单的方法,利用已有的脚本curl -fsSL https://原创 2016-06-15 19:25:39 · 7874 阅读 · 0 评论