kaipa: (Default)
Оказывается, существуют видео в свободном доступе. Кому интересно:

1. HL++ 2013. Распределенные системы хранения данных для аналитики: Vertica и другие системы. Достаточно большая часть доклада -- это общие архитектурные соображения.

2. HL++ 2016. Переезжаем на Yandex ClickHouse.

Некоторый апдейт по КликХаусу. Я продолжаю активно общаться с Яндексом на тему, как развивать, улучшать и продвигать КХ для того, чтобы он начал широко использоваться вне-Яндекса. Запрос на (бесплатную) аналитическую DBMS есть, но в текущем состоянии КХ не способен конкурировать ни с бесплатным Хадупом (за счет отсутствия экосистемы и интеграций), ни с коммерческими аналитическими DBMS (в первую очередь из-за слабой SQL-функциональности). Это не говоря о том, что о нем знает всего пара тысяч человек, нет подтвержденных продакшн инсталляций вне Яндекса (скоро будут), у него нечеткое позиционирование и нет нормального сопровождения. Есть много идей и планов, как это все исправлять, и если получится, то через пару лет у КХ есть все шансы занять достойное место на рынке.

Update. Нашел и залил видео от 2012.

3. HL++ 2012. Аналитическая инфраструктура непрерывного тестирования интернет рекламы.

ClickHouse

Nov. 9th, 2016 06:25 pm
kaipa: (Default)
Вчера, пока Америка голосовала за Трампа, я выступил на юбилейной конференции HighLoad++, которая в этот раз проводилась в Школе Управления Сколково. Это было мое третье выступление на HL++ (предыдущие -- в 2012 и 2013гг) и, наверное, самое успешное. Рассказывал я про Яндекс.ClickHouse -- аналитическую массивно-параллельную СУБД, разработанную Яндексом для своих потребностей и выпущенную в OpenSource летом этого года.

Надо сказать, что Яндекс произвел некоторую революцию. КликХаус -- это очень быстрая и очень хорошо масштабируемая система, которая по скорости может померяться с кем угодно, включая Vertica. Яндекс -- большие молодцы, что ее сделали, и еще большие, что открыли для всех желающих. В КликХаусе применен ряд удачных технических решений, за счет чего достигаются впечатляющие результаты производительности на тестах и реальных задачах. Впрочем, в большей степени они впечатляют тех, кто до этого имел дело только с простыми OLTP базами данных или с Хадупом. Интерес к КликХаусу в России и в ИТ-мире большой и вполне заслуженный. Яндекс выступил с докладом и провел несколько митапов. А потом выступал я.

В моей компании я веду проект по миграции части инфраструктуры на КликХаус и мы сполна вкусили всю его специфику. Надо сказать, что у Яндекса нет опыта продвижения OpenSource проектов, и они не понимают, как это делать и зачем. Я безуспешно пытался выяснить их планы развития, roadmap -- не раскрывают. После моего доклада, надеюсь, что они поняли свои ошибки, хотя бы некоторые. Если в своей презентации ребята из Яндекса рассказывали, какой КликХаус хороший и как он замечательно решит все проблемы, то я указал на существенные недостатки и ограничения КликХауса, которые делает его использование для задач вне Яндекса неудобным, а возможный переход с другой инфраструктуры -- весьма болезненным. Конечно, все проблемы решаемы, и некоторые из решений я предложил и обсудил в своем выступлении, но они существенно усложняют использование продукта. Хотя многие из недостатков и ограничений могли бы быть достаточно легко устранены, если бы Яндекс обращал большее внимание на пожелания OpenSource сообщества.

По окончании, ребята из Яндекса не полезли драться, а поблагодарили за конструктивную критику и пообещали, что многие из отмеченных мною недостатков скоро будут устранены.

А Сколково -- http://school.skolkovo.ru/ru/ -- мне понравилось.
kaipa: (Default)
Технический айтишный пост.

Коллега опубликовала статью на Хабре о Snowflake. Snowflake (снежинка, намек на тип схемы для DWH) -- это эластичное хранилище данных (data warehouse) на Амазоновской облачной инфраструктуре. И хотя наш вердикт о готовности решения к реальным сценариям был отрицательным, сама идея очень здравая.

Если очень вкратце, то:
- данные хранятся в S3 -- то есть надежно, неограничено и т.д.
- данные обрабатываются произвольным количеством compute nodes -- инстансы EC2

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

К чести разработчиков они уделили пристальное внимание "прочим равным" и сделали первую настоящую колоночную базу данных на EC2/S3. То есть ограничения S3 частично компенсируется правильной организацией данных. Вряд ли они сходу сделали это так же хорошо, как это вылизывалось годами в Вертике, но судя по результатам -- как минимум неплохо. Я думаю, что в течение года-двух Snowflake вылечит детские болезни и станет более чем приемлимым вариантом облачного хранилища. Особенно, если ваши данные уже на Амазоне.

P.S. Уже после окончания нашего проекта я узнал, что ключевой разработчик Snowflake -- Вадим Антонов -- один из основателей русского интернета, с которым мне довелось некоторое время работать в одной команде в начале 2000х.

P.P.S. А Вертика на днях выпустила версию 7.2, где, о чудо, в числе прочего ответила на многолетние стоны клиентов по поводу ряда раздражающих мелочей (у каждого свой, поэтому приводить не буду). С каждой версией они убирают ограничения, которые, как казалось (и как они объясняли) были естественными следствиями колоночной структуры данных. Молодцы.
kaipa: (Default)
Редкая запись на тему моей профессиональной деятельности :)

Вот тут один товарищ пишет, как в Фейсбуке (не соц.сети, а компании) с его, видимо, помощью сделали систему, загружающую в СУБД Вертика 35TB/час данных (или 10GB/сек). Это нижняя планка, SLA, а пиковая производительность должна быть в полтора-два раза выше, чтобы реагировать на колебания нагрузки, незначительные задержки и прочее. Необходимо заметить, что параллельно непрерывной загрузке система обслуживает запросы клиентов. В нашей компании мы загружаем данных меньше, но в расчете на узел кластера, думаю, примерно столько же. Я давно хочу написать статью на Хабре про оптимизацию скорости загрузки в Вертику, но чтобы не быть голословным, надо заново перепрогнать тесты в разных конфигурациях, нарисовать таблички и графики, а это время и лень. Тем не менее, базовые принципы, изложенные в статье выше, верные и могут быть применены к любой массивно-параллельной системе управления данными, не только к Вертике. Попробую их тут обобщить, по ходу дела комментируя некоторые моменты вышеуказанной статьи.

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

Скорость загрузки или правильнее говорить пропускная способность системы на запись, так как загрузка происходит во много потоков, определяется сочетанием трех основных факторов:

1. Скоростью обработки и загрузки одного файла на одном сервере.
2. Масштабируемостью по числу параллельных загрузок в пределах одного сервера.
3. Масштабируемостью по числу параллельных загрузок в пределах всего кластера.

Сверху скорость, очевидно, ограничена производительностью дисковой подсистемы.
Read more... )
kaipa: (Default)
Что такой йотабайт? Это 1 000 000 000 000 000 000 000 000 байт. Йотабайт больше привычного большинству терабайта во столько же раз, во столько терабайт больше байта. Кому может понадобиться столько данных? Объем всего интернета пока еще измеряется эксабайтами, и самые большие данные измерялись всего лишь сотнями петабайт. Но американское правительство смотрит дальше, и строит датацентр колоссальной мощности и емкости. Зачем? А потому что ради национальной безопасности приходится обрабатывать десятки петабайт спутниковых снимков в день, десятки петабайт емейлов в день, записывать все звонки внутри США, которые "укладываются" примерно в 20 терабайт в минуту, то есть порядка 30 петабайт в день А еще нужно слушать и записывать радио-эфир и сотовые телефоны вне США, писать трафик на гигабитных роутерах, и уметь подбирать ключи к AES в тех редких случаях, когда пользователи вдруг заходят зашифровать свои емейлы. И все это на самом деле и особо не скрывается. Уже.

Некоторые факты и анализ:

http://www.dbms2.com/2013/06/10/where-things-stand-in-us-government-surveillance

http://www.wired.com/threatlevel/2012/03/ff_nsadatacenter/all/

И напомню презентацию ЦРУ:

http://ushastyi.livejournal.com/166615.html

P.S. В интересное время живем.

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 10th, 2025 02:28 am
Powered by Dreamwidth Studios