我是Cassandra的新手,所以如果它是一个微不足道的问题,请耐心等待。我一直在研究Cassandra这本书http://shop.oreilly.com/product/0636920010852.do?cmp=il-orm-ans-learnmore-0636920010852虽然这本书看起来很古老,但我对Cassandra的无模式数据模型有了大概的了解。然而,在相对较新的文档中,我发现了Cassandra的架构可选特性。据我所知,Cassandra的主要优势在于它的横向可扩展性和分布式存储。它优于MySQL和其他相关的RDBMS,它使我们摆脱了大数据中数百个外连接所带来的问题。我的问题是,当我们选择创建模式并使用普通表,行和列结构以及CQL中的查询时,它与MySQL有何不同? MySQL模式和Cassandra模式之间的基本区别是什么?根据datastax文档
例如,CQL适用于Cassandra数据模型和 体系结构因此仍然没有允许类似SQL的操作 例如对使用该集群的集群上的行进行JOIN或范围查询 随机分区器。该参考资料描述了CQL 2.0.0。
因此,如果我们在Cassandra中使用类似方法的模式,我们如何处理JOINS的必要性?因为在我不知道如何以分布式方式处理数据之前,我从未与Cassandra合作。
答案 0 :(得分:2)
这是一本非常古老的书,cassandra已经发生了很大变化。我建议你免费参加这门课程http://datastaxacademy.elogiclearning.com 连接被非规范化取代,在课程中对此进行了解释。
cassandra和mysql之间存在很多差异,在mysql中,如果你的数据库比服务器大,你必须使用其他工具来管理多个服务器,这不是一件容易的事。在Cassandra中,数据库从一开始就是分布式的,并且您的表可以变得足够大,可以存储在1000个服务器上。在Cassandra中,您可以添加新列,不同的行可以包含不同的列。