1000 в сутки), больший приоритет на уменьшение места на диске под данные.
Есть ли смысл делать вспомогательные таблицы вида
Create table pages (
page_id: int
page_name: varchar(512)
)
Create table domains (
domain_id: int
domain_name: varchar(512)
)
create table keywords (
keyword_hash: varchar(32) - Те хранить некий хэш (например md5)
kayword_name: varchar(512) - а тут уже ключевое слово полностью
)
а в основной хранить уже
page_id; domain_id; keyword_hash; position
PS: все описания на псевдо SQL
Можно в одной таблице хранить иметь много столбцов - в КХ это допустимо. Насчёт словарей - в КХ есть механизм словарей - но он для небольшого количества значений - поищите в документации. Если не нужно хранить исторческие данные и хотите экономить на месте - посмотрите в сторону *MergeTree , и подробнее на CollapsingMergeTree.
вам надо попробовать keyword_hash хранить как массив, хотя не очень понятно нужен-ли вам быстрый поиск по kw , и сколько памяти у сервера, возможно все таблицы влезут в озу. https://events.yandex.ru/lib/talks/6405/
Обсуждают сегодня