Pull to refresh

Новая версия HP Vertica: Dragline 7.1

Big Data *
image
8 августа 2014 года вышла новая версия HP Vertica 7.1. Команда Майкла Стоунбрейкера продолжает утверждать, что работа с большими данными сродни БАМу и продолжает новым версиям выдавать названия с строительной тематикой. Итак, Бульдозером (6 версия) по таблицам данные разровняли, сверху неструктурированными данными во Flex зону приложили (версия 7.0), пришла пора большого Экскаватора повернуть реки вспять. Встречаем версию Dragline 7.1! В этой статье я опишу, что же изменилось в новой версии.

Расширения функциональности проекций


Напомню для тех, кто в курсе и расскажу для тех, кто не знает: проекцией в Vertica называется материализация данных таблицы. Таблица в Vertica это описание структуры таблицы (столбцов), constraints и партиций. А непосредственно данные хранятся в проекциях, которые создаются на таблицы. Проекции чем-то похожи на индексы, они хранят данные по всем или не всем столбцам таблицы. Может быть более одной проекции на таблицу, проекции могут хранить отсегментированные и отсортированные данные по разным правилам. Данные во всех проекциях автоматически обновляются при обновлении записей таблицы. Фактически проекции содержат данные таблицы полностью всех колонок или частично определенных колонок. Жертвуется дисковое место серверов кластера, но значительно ускоряются выборки для разных групп запросов.

Выражения в проекциях

До новой версии в проекциях можно был указать исключительно только колонки таблицы. Это накладывало определенные ограничения на использование проекций. Например, если в запросах часто в фильтрации использовалось выражение по колонкам таблицы, поиск по этому фильтру не был максимально эффективным за счет того, что в проекции не было возможности указать сортировать хранимые данные по выражению. Сортировка же по столбцам выражения вряд ли помогла повысить производительность. Это могло вылиться в достаточно серьезную проблему. В качестве решения потребовалось бы добавить в таблицу новую колонку, в которую можно сохранять результат вычисления. Так же потребовалось изменить алгоритм загрузки в эту таблицу данных первоисточников, чтобы во время загрузки заполнять вычисляемый столбец. Так же пришлось бы перегружать всю таблицу, чтобы заполнить добавленное поле. Если в таблице десятки и сотни миллиардов записей и в нее идет постоянная загрузка, такое решение физически было бы невыполнимо.

В новой версии для проекций введена возможность указать как столбцы, так и выражения:
CREATE PROJECTION sales_proj (sale_id, sale_count,  sale_price, sale_value) AS
  SELECT sale_id, sale_count, sale_price, sale_count * sale_price
  FROM sales 
  ORDER BY sale_count * sale_price
  SEGMENTED BY HASH(sale_id) ALL NODES KSAFE 1;


Следующий запрос к созданной проекции таблицы:
SELECT *
FROM sales_proj_b0
WHERE value > 1000000
ORDER BY value;

при выполнении фактически моментально отдаст результат, используя сортировку выражения.

На такие проекции накладываются следующие ограничения:
  • Нельзя использовать функции, которые могут изменить результат (например функцию TO_CHAR, так как она вернет разный результат в зависимости от выставленной кодировки клиента)
  • Нельзя использовать служебные мета функции
  • Нельзя обновлять записи таблицы оператором MERGE (UPDATE и DELETE разрешены)


Проекции такого типа можно создать и перестраивать на таблицу в любой момент времени, без остановки работы с ней пользователей и загрузки данных. Таким образом, проблема включения вычисляемого столбца в сортировку для повышения производительности запросов более не актуальна.
Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Views 6.6K
Comments 6

I am Groot. Делаем свою аналитику на событиях

Онлайн-кинотеатр IVI corporate blog High performance *Website development *


Весной этого года я узнал о возможности базы данных HP Vertica создавать запросы с матчингом паттернов событий. Так называемый Events Pattern Matching хорошо ложился под задачу анализировать поведение пользователей в продуктах ivi.ru. Мы решили попробовать разобраться с воронками оплаты, с поиском проблемных мест на устройствах, глубже погрузиться в анализ трафика. Нашей команде очень нравится, как реализована аналитика у Mixpanel и Localytics (она как раз основана на событиях и их свойствах), поэтому многие идеи были позаимствованы у них.
Читать дальше →
Total votes 38: ↑31 and ↓7 +24
Views 32K
Comments 48

HP Vertica: СУБД для анализа «больших данных»

МУК corporate blog
Translation
Одна из проблем современного бизнеса это переизбыток данных – по разным хранилищам, базам, файловым серверам и пр. разбросанно огромное количество информации. Информации много, но решения нужно принимать оперативно.

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

Решением может стать специализированная база данных HP Vertica, предназначенная для анализа больших данных в режиме реал-тайм, работая намного быстрее, чем традиционные СУБД.
Читать дальше →
Total votes 9: ↑4 and ↓5 -1
Views 30K
Comments 11

Новая версия HP Vertica Экскаватор (7.2)

Big Data *
image

В конце октября вышла новая версия HP Vertica. Команда разработчиков продолжила славные традиции выпуска строительной техники BigData и дала кодовое имя новой версии Excavator.

Изучив нововведения этой версии, я думаю, название выбрано верное: все что нужно для работы с большими данными у HP Vertica уже было реализовано, теперь же нужно балансировать и улучшать существующее, то есть копать.

Ознакомиться с полным списком нововведений можно в этом документе: http://my.vertica.com/docs/7.2.x/PDF/HP_Vertica_7.2.x_New_Features.pdf

Я же вкратце пройдусь по наиболее значимым с моей точки зрения изменениям.

Изменена политика лицензирования


В новой версии были изменены алгоритмы подсчета занимаемого размера данных в лицензии:
  • Для табличных данных теперь при подсчете не учитывается 1 байт разделителя для числовых и дата-время полей;
  • Для данных в зоне flex при подсчете размер лицензии считается, как 1/10 от размера загруженных JSON.

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

Добавлена официальная поддержка RHEL 7 и CentOS 7


Теперь можно будет разворачивать кластер Vertica на более современных ОС Linux, что думаю должно обрадовать системных администраторов.

Оптимизировано хранение каталога базы данных


Формат хранения каталога данных в Vertica уже достаточно много версий оставался прежним. С учетом роста не только самих данных в базах данных, но и количества объектов в них и количества нод в кластерах, он уже перестал удовлетворять вопросам эффективности для высоконагруженных хранилищ данных. В новой версии была проведена оптимизация, с целью уменьшения размера каталога, что положительно сказалось на скорости его синхронизации между нодами и работе с ним при выполнении запросов.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 6.5K
Comments 15

Обзор HPE Vertica 8 (Frontloader)

Big Data *
Всем привет и хорошего дня. 30 августа HPE официально анонсировали выход новой версии Вертики. Можно отметить, что продукт уже достиг той поры зрелости, когда вместо огромного перечня новой функциональности на первом месте присутствует расширение и оптимизация существующей. Так же четко наблюдается плотная интеграция с продуктами и сервисами в определенных направлениях.

Что же я имею ввиду?

Облака




Во-первых, это интеграция с MS Azure Cloud. Это позволит использовать Вертику в облаках MS. В последнее время я вижу большой задел дружбы HPE и MS. Помимо Azure, для Вертики расширили поддержку VS Studio и улучшили работу драйверов под ADO.NET.

Меня дружба между Вертикой и MS определенно радует, надеюсь она будет развиваться дальше.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 4.8K
Comments 14