Cassandra的架构

  Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障。Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间。

1  Cassandra中的数据复制:在Cassandra中,集群中的一个或多个节点充当给定数据片段的副本。如果检测到一些节点以过期值响应,Cassandra将向客户端返回最近的值。返回最新的值后,Cassandra在后台执行读修复以更新失效值

2 Cassandra的组件:

  Cassandra的关键组件如下:

  • 节点 - 它是存储数据的地方。

  • 数据中心 - 它是相关节点的集合。

  • 集群 - 集群是包含一个或多个数据中心的组件。

  • 提交日志 - 提交日志是Cassandra中的崩溃恢复机制。每个写操作都写入提交日志。

  • Mem-表 - mem-表是存储器驻留的数据结构。提交日志后,数据将被写入mem表。有时,对于单列族,将有多个mem表。

  • SSTable - 它是一个磁盘文件,当其内容达到阈值时,数据从mem表中刷新。

  • 布隆过滤器 - 这些只是快速,非确定性的算法,用于测试元素是否是集合的成员。它是一种特殊的缓存。 每次查询后访问Bloom过滤器。

3 Cassandra 查询语言

  Cassandra查询语言(CQL)通过其节点访问Cassandra。

  写操作

  节点的每个写入活动都由写在节点中的提交日志捕获。稍后数据将被捕获并存储在存储器表中。每当内存表满时,数据将写入SStable数据文件。所有写入都会在整个集群中自动分区和复制。Cassandra会定期整合SSTables,丢弃不必要的数据。

  读操作

  在读操作,Cassandra 从MEM-表得到的值,并检查过滤器绽放找到保存所需数据的相应的SSTable。

Cassandra 学习二的更多相关文章

  1. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  2. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  3. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  5. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

随机推荐

  1. Linux之Xinetd服务介绍

    一.概念:1.独立启动的守护进程:stand-alone,每个特定服务都有单独的守护进程,这个处理单一服务的始终存在的进程就是独立启动的守护进程. 2.超级守护进程:多个服务统一由一个进程管理,该进程 ...

  2. Postman安装教程

    Postman 安装教程 在web开发和一些需要模拟HTTP请求的时候,Postman非常有用. 因为实习的时候接触到了,感觉确实非常好用.就记录下来. 以下是参考其他博主的博文,地址:http:// ...

  3. Pycharm更换pip源为国内

    Python里的pip是官方自带的源,国内使用pip安装的时候十分缓慢,所以最好是更换成中国国内的源地址. 目前国内靠谱的 pip 镜像源有: 清华: https://pypi.tuna.tsingh ...

  4. Composer如何安装(安装注意事项)

    Composer如何安装(安装注意事项) 一.总结 一句话总结:安装的时候主要看安装错误提示: 常见的错误有: a.php需要开启openssl配置.我们打开php目录下的php.ini.将opens ...

  5. php爬虫程序中怎么样伪造ip地址防止被封

    今天我们来做一个简单的假的ip地址访问网站,这个可以利用php curl或fsockopen来实现,有需要的同学可以参考一下方案很简单的,不过此方案不完美对第三方工具没有用. HTTP-REFERER ...

  6. chromedriver驱动的浏览器和真实浏览器之间的差异

    一. 打印百度首页底部的声明 如图,想打印@2018 Baidu...后面的一长串文字,可以通过class name定位的形式 可以看出,只有一个class name是"copyright- ...

  7. poj 1185 状压dp+优化

    http://poj.org/problem?id=1185 炮兵阵地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 291 ...

  8. BW里转换简单常用ABAP

    用户查看的是当时的物料折让,那你必然要给物料加个时间,才好区分.总是以现在最新的物料状态查看历史数据会出现问题.当时这个物料是折让的,现在不折让了.数据会有问题.加个DSO.做一个时间记录.读取系统时 ...

  9. LeetCode OJ:Length of Last Word(最后一个词的长度)

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  10. JavaScript--收藏栏添加按钮,放大hdu题目字体

    觉得HDOJ的题目字体太小了,一波小操作 在收藏栏添加:添加网页->网址改为: javascript: void((function() { var element = document.get ...