Хотя основные копии пользовательских твитов хранятся в базах данных MySQL и Cassandra, компания также разворачивает дополнительное хранилище на Hadoop, которое можно будет использовать для аналитики и дополнительных программных приложений. Информацию из этой системы можно запрашивать с помощью Java MapReduce или Pig, собственного SQL-подобного языка запросов Hadoop.В данный момент на этот бэкенд уже переведена система поиска, а в будущем появятся и другие приложения. Отвергнув популярные технологии вроде XML, CSV и JSON, программисты Twitter выбрали в качестве формата для хранения данных бэкенда относительно неизвестный формат Protocol Buffers, разработанный в Google. Технические подробности реализации были представлены представителями Twitter на конференции HadoopWorld в прошлый вторник. Каждый день в твиттер заливается 12 ТБ инфы. С этими объемами выбор правильного формата приобретает критическое значение. Комбинация Protocol Buffers, Hadoop и смежных технологий призвана решить эту проблему. Структура такова . что каждый твит состоит из 12 полей в базе данных, из которых 6 имеют, как минимум, одно подполе. В недалеком будущем твиттер планирует добавить другие подполя. В будущем система хранения должна быть более эффективной и работать с триллионом твитов от миллиарда юзеров. Вдобавок к пользовательскому контенту, для хранения в базу поступает и
служебная информация из внутренних логов (более 80 типов операций, которые происходят в системе). Основной кусок этих данных агрегируется с помощью свободной технологии Scribe (разработка Facebook). Преимущество Protocol Buffers перед XML становится очевидным на больших
объемах данных. По словам программистов твиттера, база в триллион твитов на XML может занимать примерно десять петабайт вместо одного. . В JSON тоже хранится много лишней информации. На другом полюсе - CSV, где данные разделяются всего лишь запятыми. Здесь нет ничего лишнего,но трудно структурировать подполя. Protocol Buffers не имеет этих недостатков. Кроме того, в нем
автоматизирован процесс воссоздания структур данных. . Как сказано в туториале по Protocol Buffers, достаточно однажды определить метод структурирования данных, после чего можно использовать специально сгенерированный код для простой записи и чтения структурированных данных в/из различных потоков и на разных языках.
------------------------------------------------------
печи для бань с баком Рады приветствовать Вас на сайте компании «БаняПлюс», где есть всё для бань и даже больше, чем Вы можете себе представить!