我完全理解了Cassandra的CRUD操作

请留意

如果有任何错误,请告诉我,因为这是由一个NoSQL初学者根据自己的理解所写的。

我的Twitter账户

请插入

 

undefined

1. 写入数据到提交日志
2. 写入数据到内存表
3. 将内存表刷新并持久化
4. 将数据存储到磁盘上的SSTable中。

选择

 

undefined

1. 从memtable中提取数据的方法
2. 使用Row Cache从具有数据的SStable中提取数据的方法
3. 使用Bloom Filter来查找数据在哪个SStable中的方法

更新

首先,像Oracle那样的UPDATE实际上是不存在的,UPDATE在进行写入操作时仅仅是将内容写入而已(即upsert)。

关于压缩性。

删除

 

undefined

删除Cassandra并不像Oracle一样立即删除,而是由参数gc_grace_second(默认为10天)控制。

关于墓碑
1. 当执行DELETE命令时
2. 当Time to Live有效期限到期时
3. 通过使用物化视图等内部操作
4. 使用null进行INSERT或UPDATE操作←非常重要
已过期的tombstone将成为删除目标,在压缩过程中被删除。

最后

这次我准备了相关代码,但由于参考文档中已经有很多相关内容,所以我将其删除了。

广告
将在 10 秒后关闭
bannerAds