суббота, 8 февраля 2014 г.

MPP OLTP "братец" для сервера Vertica

Все мы знаем, что сейчас наиболее востребованной технологией организацией хранилищ данных является массово параллельная архитектура MPP. Такой подход позволяет гибко распределять нагрузки обработки данных на кластер серверов, организовывать отказоустойчивые решения и легко увеличивать мощность кластера, просто добавляя новые сервера в кластер, получая фактически горизонтальное масштабирование. На таких принципах построены в большинстве все крупные игроки рынка хранилищ данных, в том числе и HP Vertica, с которой я имею честь работать.

Сейчас автоматизация охватывает всё большее количество источников информации. Поэтому, в задачах сбора информации операционными системами OLTP, выставляются те же условия, которые применимы к хранилищам данных. Это загрузка в реальном времени больших объемов данных, хранение и управление больших массивов данных, быстрый поиск и преобразование информации. Можно ли все это обеспечить существующими классическими серверами баз данных? Все это делается и сейчас, но по мере роста объема собираемых в реальном времени данных, традиционная SMP архитектура дает ряд недостатков, приводящих к усложнению построения решений. Это: более низкая у SMP возможность масштабирования, узкое место работы с дисковым массивом по записи и чтению информации, меньшая надежность хранения данных, вынуждающая делать репликацию данных на другой сервер, сложное управления большим объемом данных и т.д. Однако, SMP всегда на фоне MPP имели неоспоримые преимущества, которые не так важны для хранилищ данных, но критичны для операционных систем: ACID, поддержка ссылочной целостности, гарантированное восстановление после сбоев накатом транзакций по логам и т.д. Долгое время эти преимущества являлись тем козырным тузом, который позволял SMP архитектурам удерживать первенство в задачах OLTP класса.

Майкл Стоунбрейкер, разработчик и автор таких известных нам СУБД, как Ingres, Informix, PostgeSQL, Vertica решил со своими коллегами и на фронте OLTP поспорить с засильем SMP архитектуры. Успешно запустив в 2005 году проект Vertica, он с единомышленниками в 2007 году создал экспериментальный проект HStore, который после разработки и приведения в коммерческий вид был назван VoltDB.

VoltDB является полноценным реляционным OLTP сервером, с полным ACID, отказоустойчивостью, поддержкой ANSI SQL, хранимых процедур, стандартных драйверов доступа. В тоже время он является мощным и быстрым MPP сервером, позволяющим в реальном времени одновременно вставлять, изменять и удалять записи сотням тысяч транзакций одновременно, параллельно эффективно выполняя запросы получения информации. Как и в Vertica, VoltDB сегментирует хранение данных между нодами своего кластера, позволяет разбивать на партиции таблицы, умеет распределять нагрузки при выполнении запросов между нодами кластера и обеспечивать быстрое накопление вставляемых данных в область памяти, неявно обеспечивая функционал InMemory сервера для сбора и работы с информацией, управлять зеркалированием данных между нодами (KSafe).

Похожего с Vertica очень много, что не удивительно, ведь у VoltDB и Vertica один создатель. Но много и разного, ведь это СУБД разного класса задач. VoltDB имеет коннекторы, которые позволяют ему напрямую потом загружать данные в Vertica или Netezza. Наверное, одним из самых оптимальных вариантов использования VoltDB хорош в связке с MPP хранилищем данных. Здесь, VoltDB полностью обеспечивает построение операционной базы данных для сбора больших потоков информации в реальном времени с множества источников. Постоянно обновляемое операционное хранилище позволяет быстро клиентским приложениям искать нужную информацию. Установленное рядом хранилище данных переливает на себя в определенные промежутки времени данные из операционной базы, обеспечивает их консолидацию с другими источниками, очистку и дальнейшее построение витрин для анализа и отчетности. Здесь мне видится самым большим плюсом то, что если оба сервера, OLTP и OLAP являются MPP, то получается высоко-отказоустойчивая масштабируемая система в режиме работы 24x7, способная обрабатывать любые объемы данных. Оба сервера замечательно масштабируются, не требуют затрат на оптимизацию при возрастании количества данных и имеют нулевое администрирование. Все это выливается в низкую цену сопровождения такого решения. А это по моему мнению наиболее актуальный момент любой системы, в которой крутятся действительно большие данные.

Всем, кто заинтересовался этим "чудо" MPP OLTP сервером, даю ссылку на его сайт: http://voltdb.com. Для меня еще одним приятным моментом при знакомстве с этим сервером было то, что в команде VoltDB русскоязычные разработчики. Это позволяет легко и быстро на нативном языке обсуждать с ними продукт и разбираться с ним. Для меня это очень большой плюс.

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


До связи!

пятница, 7 февраля 2014 г.

Проведение тренингов для HP Vertica

Всем привет.

Для начала хотелось бы поздравить всех с началом Олимпиады и пожелать спортсменам участникам громких побед, а болельщикам незабываемых радостных впечатлений.

Теперь немного маркетинга :)

Наша компания EasyData подготовила ряд русскоязычных тренингов по HP Vertica. Курсы проводятся на территории заказчика или учебном классе бизнес центра. Вести тренинги будут эксперты по Vertica, то есть специалисты нашей компании :)

Программу курсов можно посмотреть по адресу http://www.easydata.ru/#!courses/c24fh