栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何仅检索从Cassandra更改的信息?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何仅检索从Cassandra更改的信息?

关于1)Cassandra用于大量写入,多个节点上的大量数据。从这种设置中检索所有数据是大胆的,因为这可能涉及必须由一个客户端处理的大量数据。更好的方法是
使用分页 。2.0本身支持此功能。

关于2)关键是分区键仅支持EQ或IN查询。对于LT或GT(),请使用列键。因此,如果有必要按“类型”之类的ID对条目进行分组,则可以将其用作分区键,并使用timeuuid作为列键。这样可以查询比X更新的所有条目

create table test   (type int, SCHEMA_ID int, RECORD_NAME text,   SCHEMA_VALUE text, TIMESTAMP timeuuid,   primary key (type, timestamp));select * from test where type IN (0,1,2,3) and timestamp < 58e0a7d7-eebc-11d8-9669-0800200c9a66;

更新:

你问:

有人可以两次插入相同的SCHEMA_ID?我对么?

是的,您始终可以使用现有的主键进行插入。该主键上的值将被更新。因此,为了保持唯一性,通常在主键(例如timeuuid)中使用UUID。它是一个唯一值,包含时间戳记和客户端的MAC地址。有关此主题的文档非常出色。

一般建议:

  1. 首先写下您的查询,然后设计模型。 (用例!)
  2. 您的查询定义了数据模型,而数据模型又主要由 主键 定义

因此,在您的情况下,我只是在上面修改我的架构,如下所示:

CREATE TABLE TEST (SCHEMA_ID TEXT, RECORD_NAME TEXT, SCHEMA_VALUE TEXT,   LAST_MODIFIED_DATE TIMEUUID, PRIMARY KEY (RECORD_NAME, LAST_MODIFIED_DATE));

允许此查询:

select * from test where RECORD_NAME IN ("componentA","componentB")  and LAST_MODIFIED_DATE < 1688f180-4141-11e3-aa6e-0800200c9a66;the uuid corresponds to -> Wednesday, October 30, 2013 8:55:55 AM GMTso you would fetch everything after that


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号