规范化和查询巨型Couchbase数据集

问题描述 投票:0回答:2

假设我有大约1Tb的SQL电子邮件数据,其中包含以下字段:

email, email_host, username, first_name, last_name, last_login

有人告诉我SELECT * FROM emails WHERE email_host = 'gmail.com'之类的MySQL查询运行得有点慢...我们正在谈论30分钟或更长时间。

我想试用Couchbase,但不确定如何对数据进行非规范化并构建views。根据Couchbase自己的视频教程课程,似乎一种可能的方法是创建一个“密钥”,例如:

u::gmail::incremented_id

u::john::incremented_id

然后仅获取所有u::gmail以具有与gmail地址相对应的密钥列表,而不是查询所有文档并检查email_host属性是否为gmail

[[将样本数据集进行非规范化是一种合法/良好的策略,如果是,创建预索引u::whatever的视图的正确技术是什么?假设我有大约1Tb的SQL电子邮件数据,其中包含以下字段:email,email_host,用户名,first_name,last_name,last_login我被告知像SELECT * FROM emails这样的MySQL查询...

database couchbase database-performance denormalization
2个回答
1
投票
function(doc) { if (doc.type == 'user') emit(doc.email_host, doc); }

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.