Как стать автором
Обновить
59
0
Александр Петров @asash

Researcher @ University of Glasgow.

Отправить сообщение
У меня не было опыта по эксплуатации cassandra в промышленности в промышленности, только теоретические знания. Во многом эти базы данных похожи, так cassandra как и hbase имеет column families и практически неограниченно масштибируется "вширь", имеет возможность быть источником записей для map-reduce job'ов.
Самое главное отличие с моей точки зрения заключается в том, что cassandra и hbase имеют разные классы в рамках cap-теоремы
cassandra имеет класс AP, то есть она имеет децентрализованную архитектуру и любая нода можнт выполнять любую операцию, это достигается ценой отказа от консистентности данных
hbase имеет класс CP, то есть данные в hbase гарантировано консистентны, но hbase-кластер ре имеет свойства availability, то есть если например от него отвалится кусок — ноды в отвалившемся куске не смогут функционировать корректно.
В этом смысле cassandra находится ближе к классическим key-value хранилищам, таким как redis, и зачастую используется именно для быстрого доступа к данным, а hbase чуть ближе к file-oriented хранилищам
Все работает на арендованных железных серверах в hetzner. Аэроспайк — 2 машины по 64 гигабайта памяти и 500гб SSD.

Алгоритмов не нашли реализованных, поэтому реализовали в собственном движке.
1) все правильно понял :)
2) В реальности пар гораздо меньше чем квадрат айтемов. На текущий момент айтемов хранится 1.5 млн, а пар — 250 млн. Это число более-менее стабильно, так как мы используем механизм TTL встроенный в аэроспайк — если запись не обновлялась месяц — она выкидывается из хранилища.
Добрый день.
1) Пока не учитываются, хотя планируем учитывать.
2) Счетчики действительно пока могут влезть в память(хотя тут надо иметь ввиду что количество счетчиков гораздо больше чем айтемов — счетчик заводится на пару айтемов). Смысл в следующем: система во-первых должна быть масштабируемой, это значит что любая машина в кластере должна иметь возможность прочитать нужный счетчик. Во вторых хочется чтобы система была устойчивой к падениям, поэтому хорошо бы чтобы данные хранились персистентно. Обе эти проблемы решаются при помощи исппользования аэроспайка.
Профилировать можно по-разному. Самый простой способ — локальная отладка и профилирование mapper'a и reducer'a на локальных данных.
Для того чтобы найти медиану необходимо отсортировать все значения в порядке возрастания и выбрать элемент находящийся посередине. Для того чтобы ключи отсортировать — надо знать все значения, относящиеся к ключу. Поэтому это сделать можно только в редьюсере. Комбайнер агрегирует только часть значений, поэтому не применим в случае вычисления медианы.
этот этап не программируем. все равно чтобы посчитать количество вам понадобятся все записи. На самом деле, в ситуациях подобных данной результаты можно предагрегировать еще до передачи их на reducer — возспользоваться методом Combine, про который я расскажу в 3-ей части этого цикла статей.
псевдокода нету, поскольку это делает MapReduce framework. По сути — происходит распределенная сортировка по ключу, а дальше объединение всех значений соответствующих одому ключу в список значений.
Вы правы, cassandra не использует yarn и hdfs. На самом деле грань «непосредственности» очень тонкая. Чтобы не придумывать ее самому — я взял несколько примеров с оффициального сайта hadoop (http://hadoop.apache.org/) из раздела «hadoop related projects». Cassandra там есть.
Большой разницы что использовать нет. Я использую ту технологию, в которой у меня больше опыта. Для того чтобы разобрать отличия между различными нужно проводить исследование. Возможно у меня когда-то дойдут руки и до этого, но пока мне кажется разница не принципиальной.
В какой-то мере точно освятим тему тюнинга)
До потоковой обработки тоже надеюсь дойдем.
Про то как мы занимаемся потоковой обработкой можно почитать в одной из наших предыдущих статей:
habrahabr.ru/company/dca/blog/260845
Спасибо!
Постараюсь не обмануть ожиданий :)
Потому что мне нравится преподавать. Я получаю удовольствие от того что делюсь знаниями с людьми. Мне нравится заводить новые знакомства, которые часто переходят в совместные проекты. Нравится наблюдать за формирующимся сообществом единомышленников.
До того как преподавать на курсах NPL я преподавал в кружках олимпиадного программирования — тоже не за деньги(естественно зарплата была, но весьма символическая).
Нет.
Считаю бессмысленным дальнейшее обсуждение моих доходов в данной статье. Мне хватает на хлеб, а также масло и возможность съездить в отпуск.
Я действительно занимаюсь преподавательской деятельностью и горжусь этим.
Но преподавательская деятельность не является моим основным занятием — это хобби и оно не приносит существенного дохода для меня.
Основная деятельность — разработка и проектирование систем связанных с большими данными, более конкретно о тем чем занимаюсь я и компания в которой я работаю можно прочитать в других статьях этого блога и просто поискав в интернете.
Меряться миллионами — это мне кажется не для хабра, а для forbes или ведомостей. Оценить уровень зарплат в сфере работы с данными можно посмотрев вакансии по соответствующим запросам на hh.ru, яндекс.работа и прочих сервисов. Как работадатель могу сказать, что на рынке существует существенный кадровый голод и найти сотрудника с нужными компетенциями очень-очень сложно и поиск сотрудника на позицию длится как правило месяцами.
Туториал по hadoop'у в следующей части. Считаю что правильно разбивать материал на порции на осознание которых не уйдет больше 20 минут. Если вы уже знали материал то для вас естественно статья «ниочем» :)
Ссылка хорошая, так же могу порекомендовать книжку на основании которой построен курс: www.mmds.org.
Спасибо за комментарий по существу:)
Моей целью не является «открыть миру глаза», лишь систематизировать свои знания и поделиться ими с теми кому это интересно.
Давайте все-таки расставим все на свои места.

1)DCA и newprolab это разные организации. Я не являюсь сотрудником newprolab и не могу отвечать на орг. вопросы типа «почему курсы стоят столько», «почему вы не договорились со сбербанком» и тд. По сути для newprolab я лишь подрядчик.

2)Я не писал про «поголовно устраиваются на крутые работы», лишь перечислил несколько человек про которых мне известно чем они занимаются.

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

По поводу отправки своих людей на бюджетные места в качестве приманки это уж совсем какая-то конспирология. Думаю при желании вы легко сможете проверить что это совсем не так.

Людей мы берем на работу не за то что они закончили курсы, а за соответствие предъявляемым требованиям к кандидату.

Информация

В рейтинге
Не участвует
Откуда
Glasgow, Scotland South, Великобритания
Дата рождения
Зарегистрирован
Активность