什么使Cassandra(和NoSQL一般)更好的解决RDBMS?
那么NoSQL是一个流行语,现在我一直在研究它.我还没有把我的头围绕ColumnFamilies和SuperColumns等…但我一直在看数据如何映射.
阅读this文章和其他文章后,似乎数据以JSON格式映射. Users = { 1: { username: "dave",password: "blahblah",dateReged: "1/1/1" },2: { username: "etc",dateReged: "2/1/1",comment: "this guy has a comment and dave doesns't" },} RDBMS格式为: Table name: "Users" id | username | password | dateReged | comment ---+----------+----------+-----------+-------- 1 | dave | blahblah | 1/1/1 | ---+----------+----------+-----------+-------- 2 | etc | blahblah | 2/1/1 | this guy has a comment and dave doesn't 假设我正确理解这一点,上面的例子是正确的,为什么要在NoSQL设计上选择RDBMS设计?就我个人而言,我更喜欢使用JSON结构?这是否意味着我应该选择NoSQL,比如说MySQL? 我想我问的是“我什么时候应该选择NoSQL over RDBMS?” 在附注中,正如我所说,我还没有完全理解如何实现Cassandra数据库.也就是说,如何在新的数据库中创建上述的Users表?你可以指出的任何教程,文档等都会很棒.我的谷歌在“从头开始”方面没有太大变化
NoSQL的主要优点是可扩展性和分布式存储.这意味着您可以拥有大量的“群集节点”并并行写入.集群将确保更改最终传播到其他集群节点(最终一致性).
NoSQL不是关于SQL(术语意味着“不仅SQL”).实际上,一些NoSQL产品确实支持SQL的一个子集.数据格式不同的原因(JSON或属性/值对列表与表格数据)是:在关系数据库中,列(和列名称)的数量在一个中心位置定义,这对于水平不起作用可扩展性(您需要停止所有集群节点进行模式更改).此外,连接不受支持,因为这将破坏水平可伸缩性(如果数据分布,则可能需要读取来自多个集群节点的数据). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |