Дампинг Twitter Streaming API отправляет твиты как есть в Apache Cassandra для последующей обработки - PullRequest
4 голосов
/ 21 августа 2011

Я использую Twitter Streaming API для мониторинга нескольких ключевых слов / пользователей. Я планирую сбросить строки json твитов, которые я получаю из твиттера, прямо как есть, в базу данных cassandra и выполнить последующую обработку на них позже.

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

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

Ответы [ 2 ]

1 голос
/ 22 августа 2011

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

Однако количество твитов в секунду сильно варьируется. После сильного всплеска записей вы можете заметить некоторое замедление в запросах диапазона. См. Сообщения в блоге Acunu на Cassandra в разделе интенсивной записи, часть i и part ii , где можно найти обсуждение проблемы и способы ее решения.

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

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

1 голос
/ 21 августа 2011

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

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

...