简体   繁体   English

Cassandra架构和RDBMS架构之间的区别

[英]Difference between Cassandra's schema and RDBMS schema

I am a Cassandra newbie, so please bear with me if its a trivial question. 我是卡桑德拉的新手,所以如果它是一个微不足道的问题,请耐心等待。 I have been studying about Cassandra from this book http://shop.oreilly.com/product/0636920010852.do?cmp=il-orm-ans-learnmore-0636920010852 Although it seems a pretty old book I got a rough idea of Cassandra's schema-less data model. 我一直在研究这本书中的卡桑德拉http://shop.oreilly.com/product/0636920010852.do?cmp=il-orm-ans-learnmore-0636920010852虽然这本书看起来很古老但我对卡桑德拉的概念很粗略。无架构数据模型。 However in relatively newer documentation I found about the schema-optional nature of Cassandra. 然而,在相对较新的文档中,我发现了Cassandra的模式可选性。 As far as I understand Cassandra's main strength lies in its horizontal scalabilty and distributed storage. 据我所知,Cassandra的主要优势在于它的横向可扩展性和分布式存储。 Its advantage over MySQL and other related RDBMS is it frees us from the problems posed by hundreds of outer joins in larger data. 它优于MySQL和其他相关的RDBMS,它使我们摆脱了大数据中数百个外连接所带来的问题。 My question is, when we choose to create a schema and use the normal tables, rows and column structure and query in CQL how does it differ from MySQL? 我的问题是,当我们选择创建模式并使用普通表,行和列结构以及CQL中的查询时,它与MySQL有何不同? What are the basic differences betwwen a MySQL schema and Cassandra Schema. MySQL模式和Cassandra模式之间的基本区别是什么? According to datastax documentation 根据datastax文档

For example, CQL is adapted to the Cassandra data model and architecture so there is still no allowance for SQL-like operations such as JOINs or range queries over rows on clusters that use the random partitioner. 例如,CQL适用于Cassandra数据模型和体系结构,因此对于使用随机分区器的集群上的行上的JOIN或范围查询,仍然不允许类似SQL的操作。 This reference describes CQL 2.0.0. 该参考资料描述了CQL 2.0.0。

So in cases where we use a schema like approach in Cassandra how do we handle the necessity of JOINS? 因此,如果我们在Cassandra中使用类似方法的模式,我们如何处理JOINS的必要性? As I have never worked with Cassandra before I am not aware of how to handle the data in a distributed way. 因为在我不知道如何以分布式方式处理数据之前,我从未与Cassandra合作过。

That's a really old book, cassandra has changed a lot. 这是一本非常古老的书,cassandra已经发生了很大变化。 I suggest you to take this course for free http://datastaxacademy.elogiclearning.com Joins are replaced by denormalization which is explained in the course. 我建议你免费学习这门课程http://datastaxacademy.elogiclearning.com联接被非正规化所取代,这在课程中有所说明。

There are many differences between cassandra and mysql, in mysql if your database gets bigger than a server you have to use other tools to manage multiple servers which is not an easy task to do. cassandra和mysql之间有很多区别,在mysql中,如果你的数据库比服务器大,你必须使用其他工具来管理多个服务器,这不是一件容易的事。 In Cassandra, database is distributed from the first place and your tables can get big enough to live on 1000s of servers. 在Cassandra中,数据库从一开始就是分布式的,并且您的表可以变得足够大,可以存储在1000个服务器上。 In Cassandra, you can add new columns and different rows can have different columns. 在Cassandra中,您可以添加新列,不同的行可以具有不同的列。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM