Я обрабатываю твиттер-канал, сохраняя твиты в таблице в memsql. В таблице есть такие поля, как tweet_id, post_time, body и т. д.
Таблица содержит около 5 миллионов твитов в день. всего хранится миллиард твитов за весь период
Таблица хранится как columnstore с tweet_id в качестве ключа сегментирования и post_time в качестве столбца кластеризации columnstore.
Пока что он отлично работает для всей аналитики в реальном времени и возвращает ответы за доли секунды, если вы запросите один день. Чем шире ваши фильтры дат, тем медленнее выполняется запрос
Требование состоит в том, чтобы сгенерировать облако слов из поля тела твита. Мой вопрос; как лучше всего это сделать? Мне нужно, чтобы запрос был эффективным (занимает секунды, а не минуты). Имейте в виду следующее.
- соединения неэффективны для этой большой таблицы.
- брать поле тела для нескольких миллионов твитов и разбивать его на слова, а затем объединять слова и придумывать лучшие из них неэффективно.
Я считаю, что потребуется отдельная таблица, какой может быть дизайн для этой таблицы? предложения, пожалуйста
Наконец, мой кластер MemSQL имеет 5 узлов, всего 1 ТБ ОЗУ и 192 ядра.