Эластичное хранилище данных
Nov. 5th, 2015 02:15 amТехнический айтишный пост.
Коллега опубликовала статью на Хабре о Snowflake. Snowflake (снежинка, намек на тип схемы для DWH) -- это эластичное хранилище данных (data warehouse) на Амазоновской облачной инфраструктуре. И хотя наш вердикт о готовности решения к реальным сценариям был отрицательным, сама идея очень здравая.
Если очень вкратце, то:
- данные хранятся в S3 -- то есть надежно, неограничено и т.д.
- данные обрабатываются произвольным количеством compute nodes -- инстансы EC2
Эти два момента сразу позволяют догадаться о сильных и слабых сторонах. Понятно, что с надежностью и масштабируемостью все должно быть замечательно. А вот скорость загрузки и доступа к данным при прочих равных ограничена скоростью S3, что существенно хуже хорошо настроенной дисковой системы. Кеш может улучшить ситуацию, но кеш плохо работает, когда данные загружаются часто.
К чести разработчиков они уделили пристальное внимание "прочим равным" и сделали первую настоящую колоночную базу данных на EC2/S3. То есть ограничения S3 частично компенсируется правильной организацией данных. Вряд ли они сходу сделали это так же хорошо, как это вылизывалось годами в Вертике, но судя по результатам -- как минимум неплохо. Я думаю, что в течение года-двух Snowflake вылечит детские болезни и станет более чем приемлимым вариантом облачного хранилища. Особенно, если ваши данные уже на Амазоне.
P.S. Уже после окончания нашего проекта я узнал, что ключевой разработчик Snowflake -- Вадим Антонов -- один из основателей русского интернета, с которым мне довелось некоторое время работать в одной команде в начале 2000х.
P.P.S. А Вертика на днях выпустила версию 7.2, где, о чудо, в числе прочего ответила на многолетние стоны клиентов по поводу ряда раздражающих мелочей (у каждого свой, поэтому приводить не буду). С каждой версией они убирают ограничения, которые, как казалось (и как они объясняли) были естественными следствиями колоночной структуры данных. Молодцы.
Коллега опубликовала статью на Хабре о Snowflake. Snowflake (снежинка, намек на тип схемы для DWH) -- это эластичное хранилище данных (data warehouse) на Амазоновской облачной инфраструктуре. И хотя наш вердикт о готовности решения к реальным сценариям был отрицательным, сама идея очень здравая.
Если очень вкратце, то:
- данные хранятся в S3 -- то есть надежно, неограничено и т.д.
- данные обрабатываются произвольным количеством compute nodes -- инстансы EC2
Эти два момента сразу позволяют догадаться о сильных и слабых сторонах. Понятно, что с надежностью и масштабируемостью все должно быть замечательно. А вот скорость загрузки и доступа к данным при прочих равных ограничена скоростью S3, что существенно хуже хорошо настроенной дисковой системы. Кеш может улучшить ситуацию, но кеш плохо работает, когда данные загружаются часто.
К чести разработчиков они уделили пристальное внимание "прочим равным" и сделали первую настоящую колоночную базу данных на EC2/S3. То есть ограничения S3 частично компенсируется правильной организацией данных. Вряд ли они сходу сделали это так же хорошо, как это вылизывалось годами в Вертике, но судя по результатам -- как минимум неплохо. Я думаю, что в течение года-двух Snowflake вылечит детские болезни и станет более чем приемлимым вариантом облачного хранилища. Особенно, если ваши данные уже на Амазоне.
P.S. Уже после окончания нашего проекта я узнал, что ключевой разработчик Snowflake -- Вадим Антонов -- один из основателей русского интернета, с которым мне довелось некоторое время работать в одной команде в начале 2000х.
P.P.S. А Вертика на днях выпустила версию 7.2, где, о чудо, в числе прочего ответила на многолетние стоны клиентов по поводу ряда раздражающих мелочей (у каждого свой, поэтому приводить не буду). С каждой версией они убирают ограничения, которые, как казалось (и как они объясняли) были естественными следствиями колоночной структуры данных. Молодцы.
no subject
Date: 2015-11-05 05:14 am (UTC)no subject
Date: 2015-11-05 07:47 am (UTC)В случае c Snowflake, стабильно платится только на место на S3, а вычислительные ноды подниимаются и опускаются при необходимости. Скажем, если аналитики тыкают в данные палочкой только с 9 до 18, то можно по ночам почти все выключать.