Pull to refresh
17
0
Send message

Hadoop, часть 1: развертывание кластера

Reading time11 min
Views57K
hadoop

Непрерывный рост данных и увеличение скорости их генерации порождают проблему их обработки и хранения. Неудивительно, что тема «больших данных» (Big Data) является одной из самых обсуждаемых в современном ИТ-сообществе.

Материалов по теории «больших данных» в специализированных журналах и на сайтах сегодня публикуется довольно много. Но из теоретических публикаций далеко не всегда ясно, как можно использовать соответствующие технологии для решения конкретных практических задач.

Одним из самых известных и обсуждаемых проектов в области распределенных вычислений является Hadoop — разрабатываемый фондом Apache Software Foundation свободно распространяемый набор из утилит, библиотек и фреймворк для разработки и выполнения программ распределенных вычислений.

Мы уже давно используем Hadoop для решения собственных практических задач. Результаты нашей работы в этой области стоят того, чтобы рассказать о них широкой публике. Эта статья — первая в цикле о Hadoop. Сегодня мы расскажем об истории и структуре проекта Hadoop, а также покажем на примере дистрибутива Hadoop Cloudera, как осуществляется развертывание и настройка кластера.

Осторожно, под катом много трафика.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments16

Как релизится GitHub

Reading time3 min
Views43K
Yac 2013 посетил Jason Rudolph из GitHub. Я считаю его доклад про API был одним из самых интересных на конференции. Яндекс обещал выложить в сеть записи, так что советую на досуге посмотреть его всем, кто не видел.

Но речь пойдет не о докладе. На картинке график релизов GitHub на продакшн.



Когда я услышал цифру, я не поверил своим ушам. У GitHub'а сотни обновлений в неделю. В команде около сорока разработчиков и ни одного QA.

К счастью Джейсон после доклада еще какое-то время находился рядом со сценой и я смог расспросить его с пристрастием о том как они это делают.
Читать дальше →
Total votes 124: ↑121 and ↓3+118
Comments67

Архитектура BigData-инфраструктуры сервиса Pandorama и защита ее данных от сбоев

Reading time8 min
Views10K

Если мантра Google звучит как “поиск всей информации в мире одним кликом”, то мантра молодого российского проекта Pandorama идет дальше: “найдем без клика всю интересную вам информацию”.



Приложение Pandorama предлагает своим пользователям “бесконечную” персонализированную ленту новостей, составленную на основе их личных информационных предпочтений, не требуя при этом от читателя работы с “тегами”, “категориями” или “лайками” друзей. Сначала нужно ответить на пару вопросов про несколько забавных панд, а потом нужно просто… читать предлагаемую ленту. Те новости, которые вы прочитали, будут автоматически анализироваться и обрабатываться системой, с тем, чтобы в дальнейшем такого рода новостей в ленте становилось все больше, а тех новостей, которые не вызвали у вас интереса – все меньше.



Pandorama

Pandorama уже объединяет более 40 тыс. пользователей по всему миру, и это число постоянно растет. В данной статье рассматривается BigData-инфраструктура этого проекта, функционирующая в режиме 24x7, механизмы обеспечения ее отказоустойчивости, и защита ее данных от сбоев, построенная с использованием Veeam Backup & Replication Cloud Edition.


Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments25

Технология Real Time MapReduce в Яндексе. Как ускорить что-то очень большое

Reading time6 min
Views31K
Некоторое время назад мы рассказывали на Хабре о том, что поиск Яндекса стал более персонализированным. Он учитывает не только постоянные, но и сиюминутные интересы пользователя, ориентируясь на последние несколько запросов и действий.

Сегодня мы хотим рассказать о технологии Real Time MapReduce, благодаря которой всё это стало возможно. Она обеспечивает передачу и обработку огромных объёмов данных, необходимых для этой задачи, и чтобы сделать это, нам даже не пришлось переписывать код для MapReduce, который у нас уже использовался.



Чтобы персонализировать поисковую выдачу, нужно определить круг интересов пользователя, для чего мы сохраняем информацию о его поведении на странице поиска. Данные о действиях пользователя записываются в логи, а затем обрабатываются при помощи специальных алгоритмов, которые позволяют нам составить наиболее релевантную выдачу по запросу для каждого отдельно взятого пользователя. Сначала обработка логов запускалась раз в сутки, для чего очень хорошо подходила технология распределенных вычислений MapReduce. Она прекрасно справляется с анализом значительных объемов данных.
Читать дальше →
Total votes 83: ↑75 and ↓8+67
Comments18

Краткий список нововведений в Oracle 12c

Reading time2 min
Views30K
Час назад прошла On-line презентация 12-й версии РСУБД Oracle.
На YouTube грохнули В хорошем качестве

Кому лень смотреть и переводить — кратко выжимка в посте.


Концепция 12й версии:
Вообще 12с означает CLOUD — суть в том, что предлагается объединять все свои БД(PluggableDB=PDB) в единое облако(CloudDB = CDB)
Сама технология называется Multitenant Database.
Важно — все PDB д.б. обновлены до версии 12c.
К одной CDB можно подключить до 255 PDB.

Фишки DBA:
  1. Патч накатывается 1 раз на всё CDB — далее он реплицируется на все PDB автоматом.
  2. 2 PDB объединенные в CDB можно MERGE-ить.
  3. На все PDB пишется ТОЛЬКО 1 общий backup. Накатывается тоже 1 раз сразу на все.
  4. Утилита Privileges Analysis — позволяет отслеживать выданные права и роли, предотвращать «лишние» права.
  5. Служебный процесс DataOptimization — сжимает «холодные» блоки таблиц.

Основные фишки кодера (их более 500):
  1. Новый тип данных для PK — Identity. Сам создает сиквенс, который (видимо) создает триггер Before Insert и дергает его.
    Подобная вещь давно есть в PostgreSQL — называется SERIAL.
  2. NOT NULL полю теперь можно присвоить DEFAULT VALUE даже если в нем есть данные. NULL-ячейки моментально обновятся на DEFAULT
  3. БД-шный тип VARCHAR расширили с 4000 char до 32000 char (как в PL/SQL)
  4. В запросах можно выбирать любые строки по номерам — select… TOP 10 или выбрать 3,5 и 10 строки
  5. Новый формат ф-ии syntax в регулярных выражениях (можно делать гибкий поиск).
  6. On-line перемещение партиций таблиц (больше не надо останавливать Instance, все далает на лету).
  7. Explain plan оптимизирован, учитиывает статистику, и горячие блоки (см. фичу HeatMap).
  8. Новые типы гистограмм при сборе статистики таблиц.
  9. В UNDO и REDO логи больше не пишутся записи из TEMPORARY-таблиц. Теперь эти логи пишутся в САМИ временные таблицы.
  10. Фича HeatMap (Карта обращений) — собирает статистику обращений к каждому блоку. Есть 3 типа: HOT, WARM, COLD.
    Перемещает «горячие» блоки перед «холодными» и «теплыми». Помещает эти данные в статистику таблицы. Далее учитывает при чтении.
  11. Фича Transaction Guard — предотвращает повторные транзакции типа «дрогнул палец, нажал 2 раза».

Подробнее на офиц.сайте: Здесь

P.S.
Oracle Database 12c New Features – Part 1
Oracle Database 12c New Features – Part 2
P.P.S.
Oracle Database 12c New Features – Part 3
Oracle Database 12c New Features – Part 4
Total votes 10: ↑7 and ↓3+4
Comments18

Шаг за шагом, или Как мы строили свой поиск

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

До весны 2012 года у нас вместо такой базы существовали две базы данных разного уровня — со стороны спайдера, который имел свою собственную базу URL-ов, и со стороны индексатора. Это было крайне неудобно: допустим, если пользователь жаловался, что его сайт не индексируется, то для того, чтобы найти причину, при старой архитектуре пришлось бы анализировать массу данных. На это требовалось день-два, иногда даже неделя.

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

Читать дальше →
Total votes 99: ↑88 and ↓11+77
Comments20

Знай сложности алгоритмов

Reading time2 min
Views987K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Microsoft Dryad vs Apache Hadoop. Неначатое сражение за Big Data

Reading time12 min
Views11K
UPD: сменил заголовок статьи, т.к. прошлый заголовок я написал, пока был лунатиком (шутка, разумеется).

На прошлой неделе на Хабре появилось 2 поста о фреймворке распределенных вычислений от Microsoft Research – Dryad. В частности, подробно были описаны концепции и архитектура ключевых компонентов Dryad – среды исполнения Dryad и языка запросов DryadLINQ.


Логическим завершением цикла статей о Dryad видится сравнение фреймворка Dryad с другими, знакомыми разработчикам MPP-приложений, инструментами: реляционными СУБД (в т.ч. параллельными), GPU-вычислениями и платформой Hadoop.


RDBMS vs Hadoop vs Dryad

Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments6

Oracle 12c Multitenant Architecture. Новые возможности для разработки и тестирования

Reading time5 min
Views29K
Самым крупным нововведением недавно вышедшего Oracle 12c безусловно является Multitenant Architecture. Сам Oracle преподносит эту возможность в основном как средство консолидации и снижения расходов.

Суть технологии состоит в возможности запустить несколько независимых баз (pluggable database, PDB) в рамках одного инстанса (container database, CDB). Каждая база имеет свой набор схем и табличных пространств, но при этом у них общая SGA и один набор серверных процессов. Есть возможность клонировать pluggable database, как в рамках одного контейнера, так и между контейнерами. Вот эту возможность и будем использовать для создания копий тестовых баз и экономии ресурсов.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments5

Map-Reduce на примере MongoDB

Reading time5 min
Views61K
В последнее время набирает популярность семейство подходов и методологий обработки данных, объединенных общими названиями Big Data и NoSQL. Одной из моделей вычислений, применяемых к большим объемам данных, является технология Map-Reduce, разработанная в недрах компании Google. В этом посте я постараюсь рассказать о том, как эта модель реализована в нереляционной СУБД MongoDB.

Что касается будущего нереляционных баз вообще и технологии Map-Reduce в частности, то на эту тему можно спорить до бесконечности, и пост совершенно не об этом. В любом случае, знакомство с альтернативными традиционным СУБД способами обработки данных является полезным для общего развития любого программиста, так же как, к примеру, знакомство с функциональными языками программирования может оказаться полезным и для программистов, работающих исключительно с императивными языками.

Нереляционная СУБД MongoDB представляет данные в виде коллекций из документов в формате JSON и предоставляет разные способы обработки этих данных. В том числе, присутствует собственная реализация модели Map-Reduce. О том, насколько целесообразно применять именно эту реализацию в практических целях, будет сказано ниже, а пока ограничимся тем, что для ознакомления с самой парадигмой Map-Reduce эта реализация подходит как нельзя лучше.

Итак, что же такого особенного в Map-Reduce?
Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments8

Information

Rating
Does not participate
Location
Украина
Registered
Activity