卡桑德拉模式和关系型数据库模式的区别

3
我是一名Cassandra新手,如果我的问题很基础请见谅。我正在学习这本书中的有关Cassandra的知识:http://shop.oreilly.com/product/0636920010852.do?cmp=il-orm-ans-learnmore-0636920010852 。虽然这是一本相对较旧的书,但我对Cassandra的无模式数据模型有了一个大致的了解。然而,在比较新的文档中,我发现了关于Cassandra“可选模式”的特性。据我所知,Cassandra的主要优势在于其横向扩展性和分布式存储。与MySQL和其他相关的关系型数据库管理系统不同的是,它可以解决在大量数据中存在外连接的问题。我的问题是,当我们选择创建模式并使用正常的表、行和列结构以及CQL查询时,它与MySQL有何不同?MySQL模式和Cassandra模式之间的基本区别是什么?根据datastax文档:

例如,CQL适应Cassandra数据模型和架构,因此仍然不允许类似于SQL的操作,如JOIN或在使用随机分区器的群集上对行进行范围查询。本参考手册描述了CQL 2.0.0。

因此,在我们在Cassandra中使用类似于模式的方法时,如何处理JOIN的必要性?由于我以前没有使用过Cassandra,不知道如何以分布式的方式处理数据。
1个回答

2

这是一本非常陈旧的书,Cassandra已经发生了很大变化。我建议您免费参加这门课程:http://datastaxacademy.elogiclearning.com 课程中会讲解用反规范化来替代连接。

Cassandra和MySQL之间有很多不同之处,在MySQL中,如果您的数据库比服务器更大,您必须使用其他工具来管理多个服务器,这并不容易。在Cassandra中,数据库从一开始就是分布式的,并且您的表可以足够大以至于能够存储在数千台服务器上。在Cassandra中,您可以添加新列,不同的行可以具有不同的列。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接