Cassandra基本介绍 - 架构简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra基本介绍 - 架构简介相关的知识,希望对你有一定的参考价值。

    通过上面2节,大家了解到了RDBMS遇到的问题,以及对Cassandra有了基本的了解。下面将介绍下Cassandra内部简单结构。

    通过本章,大家应该了解到:

  1. Cassandra Write流程

  2. 什么是SSTable

  3. Cassandra Read流程


  • Cassandra Write流程

  1. Writes可以被写入到集群中的任意节点

  2. Writes被写入到commit log,同时写到memtable

  3. 每一个write包含一个timestamp

  4. Memtable定期flush到硬盘中(sstable)

        当memtable的内容超过了其配置的限制,它包含的数据就会被放到一个队列中并刷新到磁盘。你可以通过修改cassandra.yaml中 memtable_flush_queue_size的值来改变队列的长度

  5. 新的memtable在内存中创建

  6. 删除是一种特殊write,称之为”tombstone”(墓碑)

技术分享

技术分享

  • 什么是SSTable

    SSTable有序字符串表(Sorted String Table),是从Google的Bigtable里借鉴过来的概念。一旦memtable被刷写入磁盘,成为一个SSTable,它就是不可变的了。

    特点如下:

  1. 数据文件:存储记录,不可变

  2. 每一个write包含一个timestamp

  3. Partition被分割到多个SSTable

  4. 新的memtable在内存中创建

  5. 通过compaction合并,只保存最新的timestamp

  6. 删除被标记为tombstone

技术分享

  • Cassandra Read流程

  1. 任何server都可以作为coordinator被查询

  2. 通过查询key定位交互的nodes

  3. 在每一个node上,数据都是从SSTable拉取并合并

  4. 一致性< ALL时,将会在后台执行read repaire(read_repaire_chance)

技术分享

技术分享


本文出自 “java架构师之路” 博客,请务必保留此出处http://eric100.blog.51cto.com/2535573/1786998

以上是关于Cassandra基本介绍 - 架构简介的主要内容,如果未能解决你的问题,请参考以下文章

360 cassandra 简介

如何建立一个基本 Apache Cassandra 架构?

Meet Professor Cassandra Fraser

Cassandra 更新无法正常工作

Cassandra 数据模型

JAVA操作cassandra数据库