摘要: 在传统数据库之中,视图是个非常有用的功能,NoSQL一般不具有这种能力。 另外,对于NoSQL来说,如何设计数据模型,通常来说需要一开始就非常明确自己的数据是如何存储的,以此来设计自己的存储方式。 甚至会通过存储多份数据的方式来达到目的。而对于Cassandra来说,Materialized View(物化视图)是非常实用、好用的功能,可以同时比较完美的解决NoSQL的视图缺失与对降低对数据模型扩充能力的设计要求。 原文来源:http://www.flyml.net/2016/10/30/cassandra…

2016年10月30日 0条评论 11927点热度 2人点赞 阅读全文

0. 引言 NoSQL 在设计理念上面就与传统的RDBMS就不一样,因此删除数据的处理方式非常不一样。然而,虽然NoSQL的选择很多,但是在数据删除的处理方式上,各家的处理方法又有很多共通的地方。 本文将带着大家以Cassandra为例,深入了解NoSQL是如何 来删除数据的。 原文链接:http://www.flyml.net/2016/09/18/cassandra-tutorial-dive-deep-into-data-deletion-in-nosql/ 1. Cassandra 删除数据原理 在Cass…

2016年09月18日 0条评论 12960点热度 0人点赞 阅读全文

1.什么是二级索引? 我们前面已经介绍过Cassandra之中有各种Key,比如Primary Key, Cluster Key 等等。如果您对这部分概念并不熟悉,可以参考之前的文章:[Cassandra教程] (四)使用Key的正确姿势  对于Cassandra来说,一级索引就是Primary Key. 因为查询的时候,可以直接根据Key算出token然后直接获取对应的记录。 而二级索引,作为辅助索引就是为了找到一级索引。然后再通过一级索引找到真正的值 原文链接:http://www.flyml.net/2016…

2016年09月16日 0条评论 15730点热度 4人点赞 阅读全文

搜索,一个数据库无法绕过的话题。之前我们已经知道,在Cassandra之中并没类似MySQL的like查询。 要想完成一致的实现like查询,估计就要上Spark进行全表扫描,将like操作放到Spark App来实现。 如果想实现一个不一样(而不是不同)的like查询,可以使用Lucene进行搜索。有两种现成的实现方案: DSE(付费企业版)集成的solr 开源免费的Lucene插件   我们主要使用的是第二个lucene插件。 项目地址:https://github.com/Stratio/cassa…

2016年09月16日 0条评论 9479点热度 2人点赞 阅读全文

1、为什么需要这个? 在向Cassandra中插入一些数据之后,往往想知道插入了多少条记录,这个时候可以通过select count(*) from test_table来进行查询。 当数据比较少的时候,该cql语句能正确得到查询结果,但是当插入的记录条数比较多的时候,非常容易导致超时。在命令行中有下面的提示 OperationTimedOut: errors={}, last_host=127.0.0.1 原文链接: http://http://www.flyml.net/2016/09/13/cassandra…

2016年09月13日 2条评论 20804点热度 1人点赞 阅读全文

0. 引言 在传统的RDBMS 之中, 我们为了提高查询或者SQL效率,都会用到各种Statement. 比如JDBC之中常用的PreparedStatement. Statement的使用在Cassandra会更加广泛。 并且除了PreparedStatement,还有好几种其他的Statement.如下: SimpleStatement BoundStatement / PreparedStatement BuiltStatement BatchStatement 原文链接:http://www.flyml.n…

2016年09月11日 0条评论 10107点热度 0人点赞 阅读全文

0.引言 在MySQL之中,我们经常使用的一个查询语句就是 where in。 在Cassandra之中也有这个查询语句。但是如果我们在where in 之中的需要查询的条件比较多的时候,我们就需要使用Cassandra 提供的异步 IO API (async io)接口。 在本文之中,我们将回答下面3个问题: 1.什么是异步IO 2. 为什么需要使用异步IO替换where in 3. 异步IO 性能如何 原文链接:http://www.flyml.net/2016/09/09/cassandra-tutorial…

2016年09月09日 2条评论 11296点热度 0人点赞 阅读全文

上一篇文章《Java API 简单例子》之中,我们介绍了使用Java API 对Cassandra的简单操作。 本节将开始稍微深入的介绍一些进阶操作。本节将介绍数据库必须要知道的一个概念:数据库连接池(Connection Pool) 文章来源:http://www.flyml.net/2016/09/09/cassandra-tutorial-java-api-connection-pool/ 数据库连接池的原理: 连接复用。通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高…

2016年09月09日 0条评论 12653点热度 0人点赞 阅读全文

1. Murmur哈希算法是干什么的? 在之前的文章 [Cassandra教程](十四)浅谈Cassandra的架构 以前之前的文章我们提到了数据模型以及Partition Key, 同时Cassandra维护了一个令牌环,这样当我们写入一条数据或者需要读取数据的时候,就知道首先去哪一台机器执行相应的操作。 在底层支撑令牌的算法,就是默默无闻但是几乎一统江湖的MurmurHash算法。 所谓Murmur,并不是我们常听到的陌陌,而是(multiply and rotate) and (multiply and ro…

2016年09月05日 4条评论 25006点热度 3人点赞 阅读全文

原创声明: 本文为原创文章 为了更好的阅读体验,请回源站查看文章。有任何修改、订正只会在源站体现 最后更新时间:2016年09月03日

2016年09月04日 4条评论 24330点热度 3人点赞 阅读全文