2011-08-20 1 views
4

Я использую API-интерфейс Twitter Streaming для отслеживания нескольких ключевых слов/пользователей. Я планирую сбрасывать строки твитов json, которые я получаю из twitter непосредственно, как есть, в базу данных cassandra и после этого обрабатывать посылку.Сбрасывание твитов Twitter Streaming API as-is для Apache Cassandra для последующей обработки

Является ли такая конструкция практичной? Будет ли оно увеличиваться, когда у меня будет миллионы твитов?

Вещи, которые я буду делать позже, включают в себя получение верхних пользователей, верхних хэштегов и т. Д. Я хотел бы сохранить поток как есть для их добычи позже для любой новой информации, о которой я, возможно, не знаю.

ответ

1

Важно не столько количество твитов, сколько скорость их поступления. Cassandra может легко обрабатывать тысячи писем в секунду, что должно быть хорошо (в настоящее время Twitter генерирует около 1200 твитов в секунду, и вы, вероятно, получите лишь небольшую часть).

Тем не менее, твиты в секунду сильно варьируются. После сильного всплеска в записи вы можете наблюдать некоторое замедление в запросах диапазона. См. Записи в блоге Acunu на Cassandra under heavy write load part i и part ii для обсуждения проблемы и способов ее решения.

В дополнение к хранению сырого json я бы извлек некоторые общие функции, которые вам почти наверняка нужны, такие как идентификатор пользователя и хэштеги, и сохраните их отдельно. В дальнейшем это сэкономит вам много усилий.

Другим фактором, который следует учитывать, является планирование того, как данные будут расти со временем. Cassandra может масштабироваться очень хорошо, но вам нужно иметь стратегию, чтобы сбалансировать нагрузку в вашем кластере и как добавлять узлы по мере роста вашей базы данных. Добавление узлов может быть болезненным, если вы не планируете заранее выделять токены новым узлам. Ожидание до тех пор, пока вы не перегрузите узел, прежде чем добавлять новый, это хороший способ сбросить кластер.

1

Вы можете легко хранить миллионы твитов в cassandra.

Для обработки твитов и получения статистики, таких как верхние последующие пользователи, хэштеги смотрят на из DataStax, который строится на вершине cassandra.