![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Cassandra
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
【Cassandra】bloom 过滤器
问题:如何判断一个元素是否存在于一个集合中 最简单直观的办法就是常用的数据结构与算法---哈希表。但是哈希表的特点是必须存储每一个加入的值,所以空间复杂度与值的数目成正比,并且一般哈希表是有装载因子这个指标,所以一般空间会大于元素的个数。在海量数据的情况下并不是很合适。原创 2017-10-22 02:13:47 · 404 阅读 · 0 评论 -
【Cassandra】数据存储原理
一个存储引擎的设计大致是以下过程: 数据不会直接和磁盘io打交道,因为这样会增加客户端请求的响应时间。通常的做法是在内存中设置一个缓存,然后所有的写入都直接写入了缓存,这样客户端请求不需要磁盘io就可以返回。然后后台再开启一个线程或者进程来负责把缓存的数据刷回磁盘。对于读操作则是先从缓存查看,如果没有再io。 但是这还不够,为了支持事务,需要记录日志,而且是先记录日志才记录数据。至于日志是否需原创 2017-10-22 02:51:58 · 1692 阅读 · 0 评论 -
【Cassandra】数据模型
都说Cassandra是列族数据库,这里的列族到底什么含义。 个人觉得,这个“列族”更侧重于数据模型,也就是Cassandra中的Column和columnfamily的概念。它其实只是Cassandra中的一个名词或者术语,并不是我们通常理解的关系型数据库的中列。以下是Cassadra中术语: Column:其实是某一行数据中的某一列,类似一个键值对,包括三部分。 每一行数据其实就是一个C原创 2017-10-22 04:26:38 · 392 阅读 · 0 评论 -
【Cassandra】Gossip协议
因为Cassandra数据库的高并发优势,决定学习一下。都说它是列族数据库,这里所谓的列族其实是因为其数据模型和底层数据的存放来命名的。数据模型中Cassandra以Column来定义,其实和文档型数据库差别没有特别大,但是底层有差别,底层每一个定义的Column都有索引,所以Cassnadra在定位一个key对应的column时效率很高。 今天主要学了下Cassadra集群的通信原理,即Gos原创 2017-10-17 08:12:21 · 603 阅读 · 0 评论