首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cassandra范围查询

Cassandra范围查询
EN

Stack Overflow用户
提问于 2011-11-29 17:01:14
回答 1查看 5.2K关注 0票数 5

我是卡桑德拉的新手,尝试过数据建模和范围查询。

为了学习的目的,我想开发一个数据库,在这里我可以存储日志行及其LogType和日志生成时间。在这里我必须回答以下问题:

通过LogType在日期范围.之间查找日志行

我将我的数据库建模为两个列族: 1)日志

代码语言:javascript
运行
复制
create column family log with comparator = 'UTF8Type' 
and key_validation_class = 'LexicalUUIDType'
and column_metadata=[{column_name: block, validation_class: UTF8Type}];

我打算用他们的logid存储日志

例:set log['7561a442-24e2-11df-8924-001ff3591711'][blocks]='someText|11-17-2011 23:40:42|sometext';

2)

代码语言:javascript
运行
复制
create column family ltype with column_type = 'Super'
and comparator = 'TimeUUIDType'
and subcomparator = 'UTF8Type'
and column_metadata=[{column_name: id, validation_class: LexicalUUIDType}];

在这个列族中,我将存储日志类型以及日志列家族中的日志行id:

代码语言:javascript
运行
复制
ex: set ltype[ltype1][12307245916538][id]='7561a442-24e2-11df-8924-001ff3591711';

我想得到的结果,当给定类型的日志和日期范围。

有人能指导我如何在超级列家族上运行范围查询吗?

EN

回答 1

Stack Overflow用户

发布于 2011-11-29 23:42:41

关于卡桑德拉时间序列数据建模的一篇文章:

http://rubyscale.com/2011/basic-time-series-with-cassandra/

对于时间序列,您确实想要做更大的行--可能在每行10k-50k的附近,作为起点(取决于负载)。如果将键设为a“日期桶”的函数,则可以完全避免超级列:

datetime_5 second interval

这样,您的密钥就可以重新创建,您只需要为所需的桶发出一个带有密钥的multi_get。

对数据建模的更全面的概述:

http://www.datastax.com/docs/0.8/ddl/index

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8314675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档