Лаборатория
БОЛЬШИХ данных

EasyScheduler внесен в Единый реестр российского программного обеспечения! 
Читать подробнее
HP Vertica – инструмент для Больших Данных

Статьи

HP Vertica – инструмент для Больших Данных

HP Vertica – инструмент для Больших Данных
Переизбыток данных – одна из главных проблем современного бизнеса. Согласно проведенным HP исследованиям, более половины хранящейся в компаниях информации не используется, недоступно сотрудникам и не связано с источниками ее поступления. Как следствие, каждый третий руководитель уверен, что реализовать в его организации эффективную информационную стратегию мешает неразбериха в корпоративных данных. Есть ли выход из этой ситуации?

Сегодня большинство топ-менеджеров по праву считает, что именно эффективная работа с данными с использованием,в частности, методов бизнес-аналитики позволяет им добиваться успеха в бизнесе, однако, согласно опросам, только 2 % руководителей убеждены в том, что в их компаниях по запросам предоставляется достоверная и актуальная информация. Все организации, независимо от размеров и форм собственности, уже столкнулись с проблемами при работе с Большими Данными – их клиенты, например, активно общаются в социальных сетях и блогах, поэтому при планировании различных бизнес-активностей надо учитывать мультимедийные данные, поступающие из этих источников. Современным предприятиям нужны инструменты для актуализации информации в соответствии с требованиями бизнеса, обеспечения защиты персональных данных и разработки сбалансированных действий в отношении разных проявлений публичной активности клиентов. В этой связи закономерно, что компания HP воспринимает проблему Больших Данных как необходимость эффективной обработки неструктурированной информации, составляющей в настоящее время 85 % от всего объема генерируемых данных и ежегодно растущей на 62 %.

С каждым днем на планете все больше данных распределяются по разным хранилищам, базам, файловым серверам и иным средствам хранения. Изобилие всевозможных баз данных, а также многообразие различных систем документооборота и интернет-ресурсов приводят к формированию гигантского информационного облака, скорость роста которого не позволяет применять для работы с ним обычные средства. При этом оказывается, что более важная информация зачастую имеет меньший объем на единицу данных, а менее важная – больший. Обрабатывать огромное количество накопленных компаниями данных можно только при помощи специальных инструментов. Потребность в таких средствах диктуется все возрастающей скоростью принятия решений – будь то анализ публичной информации для понимания направления движения рынков или расследование инцидентов, связанных с нарушением режима безопасности в организации.

vertica.png

Традиционные инструменты, такие как реляционные СУБД, преобразование данных в памяти, Hadoop и Map Reduce, не решают фундаментальных проблем обработки гигантского потока информации, обрушивающегося на компании: высока доля ручного труда, невозможно реализовать режим реального времени, низка точность поиска, нет согласованности данных,неэффективна обработка неструктурированной информации и т. п. Ответом компании HP на вызов Больших Данных стала Vertica, специализированная база данных, предназначенная для анализа большого объема информации в режиме реального времени и выполняющая ее обработку и предоставление намного быстрее, чем традиционные СУБД. За счет чего это возможно?

HP Vertica позволяет достичь более высокой производительности информационных систем благодаря, в частности, хранению и сжатию данных на основе столбцов (вместо строк), а использование кластерных технологий позволяет линейно увеличить производительность системы, подключая больше ресурсов «на лету», снижая объем хранения и сокращая время поиска. Хранение данных по столбцам дает возможность считывать с дисков не всю запись, а только нужные поля, участвующие в запросе. Действительно, столбец – это последовательность значений одного и того же поля, а поскольку в нем могут встречаться повторяющиеся значения (как нулевые, так и, например, относящиеся к одному и тому же времени или одному и тому же имени объекта), то после сортировки сжатие данных оказывается эффективным.

Сжатие применяется для упаковки столбцов путем записи числа повторений вместе с собственно значением поля, использования дельта-кодирования последовательных значений, сжатия LZ (Lempel-Ziv) для столбцов с большим количеством уникальных значений и неотсортированных колонок. Кроме того, столбцы упаковываются с помощью специальных алгоритмов компрессии для чисел в формате с плавающей запятой, для дат и ряда других типов полей. В результате степень сжатия достигает 90 %, а на таких данных, как журналы телекоммуникационных сетей, еще выше, причем способ компрессии для каждого типа данных выбирается автоматически. Поскольку Vertica уникальна тем, что операции c данными в большинстве случаев можно выполнять без декомпрессии, то пропорционально уменьшаются не только требуемый объем хранилища и число обращений к дискам, но и загрузка процессоров и памяти, особенно при осуществлении операций, оптимизированных для работы со сжатыми данными. Это означает, что для работы с Vertica не требуются специализированные процессоры компрессии/декомпрессии.

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

Вместе с тем для работы с уже накопленными данными Vertica поддерживает SQL – пользовательские приложения даже не замечают, что обращаются к базе данных не напрямую, а через Vertica. Решение снабжено стандартным SQL-интерфейсом (ANSI SQL-99), имеющим расширения для работы с аналитическими запросами, при этом пользователю не видны тонкости реализации сжатия данных, хранения по столбцам и сегментирования таблиц. В Vertica обеспечивается совместимость с механизмами очистки данных и составления отчетности, а также с решениями бизнес-аналитики компаний Cognos, Informatica, Business Objects и SAS. Все это облегчает перенос уже накопленных баз данных и использование других аналитических приложений, имеющих стандартный SQL-интерфейс, коннекторы ODBC, JDBC или ADO.NET.

Для обеспечения отказоустойчивости в HP Vertica предусмотрен специальный механизм K-Safety, обеспечивающий максимально доступный уровень отказоустойчивости в режиме 24х7х365. Кластер способен без остановки выполнения запросов выдержать сбои нескольких узлов. Копии каждого сегмента базы данных сохраняются на К+1 узлах кластера, и при отказе K узлов можно автоматически восстановить базу данных. Если необходимо заменить неисправный узел или расширить кластер, часть объектов с исправных узлов переносится на добавляемые машины, при этом поддерживаются целостность и заданное значение параметра K. K-Safety обеспечивает не только увеличение надежности, но и увеличение производительности пропорционально величине К, поскольку К+1 узлов могут обрабатывать аналитические запросы, относящиеся к одним и тем же данным.

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

Согласно самой сути Больших Данных, невозможно остановить выполнение запросов на загрузку данных – это непрерывный поток. Однако бизнесу нужна аналитика в реальном времени, поэтому в Vertica предусмотрен специальный механизм непрерывной загрузки данных без снижения скорости их чтения. Чтение происходит в режиме snapshot isolation mode (изоляции мгновенного снимка): читается последняя целостная копия данных, не зависящая от текущих вставок и удалений, поэтому блокировки базы данных на запись не требуется. Кроме того, запись ведется в специальную область WOS (Write Only Store) оперативной памяти, а чтение происходит с дисков – из области хранения типа ROS (Read Only Store), причем информация в WOS не сортируется и не индексируется. Перенос записей из WOS в ROS происходит большими блоками, автоматически и асинхронно с помощью специального процесса перемещения записей Tuple Mover. Так как этот процесс оперирует целиком всей WOS, то перемещение записей может быть очень эффективным, с одновременной сортировкой многих записей и переносом их на диск в пакетном режиме.

Какого-либо специального администрирования для обеспечения высокой производительности HP Vertica не предусмотрено – согласно статистике, накопленной по уже развернутым конфигурациям Vertica, работа информационных систем с базами данных в среднем ускоряется до 1000 раз. Средний показатель сжатия данных по сравнению с другими системами составляет 10:1, а загрузка данных для выполнения дальнейшего анализа осуществляется в 10 раз быстрее и сравнима с режимом, близким к реальному времени.

В отличие от имеющихся на рынке решений, у HP Vertica нет привязки к конкретной аппаратной платформе – пользователь сам выбирает требуемое оборудование. Поскольку Vertica изначально предназначена для работы в горизонтально масштабируемой среде и лицензируется не по процессорам, а по объему обрабатываемых данных, ее легко интегрировать в облачные среды, например в VMware vSphere или Amazon Elastic Compute Cloud. Преимуществом виртуализированной среды является быстрота развертывания, так как все узлы в комплексе Vertica одинаковы и пользователь может мгновенно установить на своем оборудовании готовый образ виртуальной машины.

HP Vertica поставляется с заранее сконфигурированными настройками и ПО Database Designer для автоматизации адаптации системы под требования заказчика. HP Vertica обладает простыми средствами интеграции и возможностями отчетности через SQL, JDBC и ODBC. Имеется также бесплатная версия Vertica Community Edition, позволяющая аналитикам создавать собственные приложения и обмениваться опытом с сообществом пользователей Vertica.

Одна из самых крупных на данный момент инсталляций СУБД Vertica выполнена в компании, занимающейся разработкой сетевых игр для социальных сетей: около 200 млн активных игроков, до 40 млн играющих одновременно, регистрация каждого клика, поток 3Тбайт данных в день, 200 машин в кластере для мгновенного анализа и предоставления игрокам информации в форме рекомендаций. Эта характерная для Больших Данных инсталляция работает в режиме 24х7х365 без «окон» на загрузку данных, анализируя в реальном времени поступающие и исторические данные. Впрочем, и это не предел.


Возврат к списку

Мы являемся единственной в России компанией, получившей экспертную сертификацию HP Accredited Solutions Expert Vertica Big Data Solutions Administrator. В 2017 году мы получили статус Gold Big Data Platform Specialist.