Допустим, у меня есть около 1 ТБ данных электронной почты SQL со следующими полями:
email, email_host, username, first_name, last_name, last_login
Мне сказали, что запросы MySQL, такие как SELECT * FROM emails WHERE email_host = 'gmail.com'
, выполняются немного медленнее... мы говорим о 30 минутах или больше.
Я хотел бы попробовать Couchbase, но я не уверен, как денормализировать данные и создать файл views
. Похоже, что один из возможных подходов в соответствии с собственными видеоуроками Couchbase — создать «ключ», например:
u::gmail::incremented_id
or
u::john::incremented_id
затем извлеките только все u::gmail
, чтобы получить список ключей, соответствующих адресам gmail, вместо того, чтобы запрашивать все документы и проверять, является ли атрибут email_host
gmail
.
Является ли это законной/хорошей стратегией денормализации этого примера набора данных, и если да, то как правильно создать представление с предварительным индексом u::whatever
?