nosql – Cassandra列键自动递增
我正在试图理解Cassandra以及如何构建我的列族(CF),但是由于我习惯了关系数据库,所以很难.
例如,如果我创建简单的用户CF和我尝试插入新行,我如何可以在MySQL中增加一个增量键? 我看到很多例子,您只需将用户名替换为唯一的ID即可,但如果我希望用户拥有重复的用户名,该怎么办? 另外我怎么可以从我所理解的cassandra不支持>操作符,所以有些东西像select *来自用户那里的东西> something2不行. 可能最重要的问题是分组呢?我需要检索所有数据,然后使用我使用的任何语言进行过滤吗?我认为这会减慢我的系统. 所以基本上我需要一些简短的说明如何开始Cassanda.
你的问题相当普遍,但是让我刺伤一下.首先,您需要根据查询对数据进行建模.使用RDBMS,您可以以一些规范化的形式对数据建模,然后针对特定查询进行优化.你不能用Cassandra这样做您必须按照您打算读取的方式写入数据.通常这意味着不仅仅是写一种方式.一般来说,如果您想要与Cassandra有效地工作,这有助于彻底摆脱您的RDBMS思维.
关键: >它们用于Cassandra作为分配环的单位.所以你的钥匙会被弄清楚,并在环中分配一个“所有者”.使用RandomPartitioner来保证均匀分配 关于查询谓词: >您可以获得正确建模的数据范围,以回答您的查询. 关于分组: 我认为你是指创建聚合.如果您需要实时的数据,您将需要使用一些外部机制(如Storm)来跟踪数据并不断更新相关的聚合成CF.如果您正在创建汇总作为批处理过程的一部分,Cassandra与Hadoop具有出色的集成功能,可以让您在Pig,Hive中直接使用您的语言编写地图/缩减作业. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |