我计划最终将我的网站数据库系统从MySQL切换到NoSQL(在本例中为Cassandra)。
从我迄今为止对Cassandra的理解来看,就是没有连接这样的东西,而只是更大的记录更有效。我不是NoSQL atm的专家,我实际上对它非常了解,并且对它的工作原理非常困惑......
我的网络项目的目标之一是切换到Python和Cassandra以获得更高级和更快速的解决方案,因为我的网站开始增长,我希望能够通过其他服务器轻松扩展它。
现在我正在为我的网站设计一个新功能,即从中获取文件和创建文件夹的功能。到目前为止,这是我最初使用的:How to join/subquery a second table(我问的一个问题)
然后人们建议将数据标准化并使其成为一个3表系统,包括一个用于文件夹,一个用于文件夹/文件,一个用于文件。 @egrunin回答了我的问题,甚至给了我NoSQL的信息,但我真的想用第二个来源检查它,以确保这是正确的方法。
还有SQL到NoSQL的转换工具吗?
所以我的最终目标是在数据库中设计这个文件夹/文件系统(以及我正在添加的其他功能),这样当我从SQL切换到NoSQL时,我就准备好了,所有数据的转换将会要容易得多。
有关将SQL转换为NoSQL,Cassandra或NoSQL如何工作的任何教程,指南和信息都非常感激,到目前为止,Cassandra文档让我非常困惑。
答案 0 :(得分:5)
在Couchbase,我们最近完成了一个关于从RDBMS到NoSQL的过渡的网络研讨会系列。显然,通过JSON文档的镜头,但很多课程将适用于任何分布式数据库。
答案 1 :(得分:3)
MasterGberry:
我的网络项目的目标之一是切换到Python和Cassandra以获得更高级和更快速的解决方案,因为我的网站开始增长,我希望能够通过其他服务器轻松扩展它。
在切换到Cassandra之前,您需要明确量化这一点。
MySQL可以amazing things,Cassandra也可以这样做,但切换到Cassandra通常不能仅仅因为想要更快地做事而被驱动,因为它们可能不会更快 - 至少不会在你用于的地方MySQL做得很好(关于明确定义的表格数据的列级数值聚合)。
我绝不会阻止过渡,但我对这些期望发出警告。
这可能是一个很好的阅读: http://itsecrets.wordpress.com/2012/01/12/jumping-from-mysql-to-cassandra-a-success-story/
答案 2 :(得分:0)
实际上,你可以使用像playOrm这样的工具来支持连接,但只支持分区而不是整个表。因此,如果您按月或帐户进行分区,则可以获取帐户4536分区并查询与其他内容(另一个较小的表或另一个表中的另一个分区)连接的分区。
如果您的系统具有大量客户端并且每个客户端实际上独立于另一个客户端,那么这非常有用,因为您可以将所有客户端信息自身包含到所有表的客户端分区中。
后, 迪安
答案 3 :(得分:0)
Cassandra并不是真正意义上的应用程序的主存储器。其主要目的之一是存储顺序数据,并通过密钥查找将所有数据拉回来。一个例子是记录。有趣的是,行键没有排序,但列名是。因此,日志记录将包含每分钟的密钥,然后为每个日志条目创建一个新列,并使用顺序时间戳作为列的名称。当然,这只是一个例子,聊天记录是另一个例子。