вторник, 2 июля 2013 г.

Вышел SP2 для Vertica 6.1

Привет.

Недавно вышел новый сервис пак для Vertica, решил вкратце описать, что новенького появилось, попутно прихватив еще новшества первого сервис пака.

Итак первая хорошая новость
Начиная с второго сервис пака, убрали путаницу между Community, Trial и Enterprise версиями. Получался парадокс, где бесплатная Community редакция, которая разрешает развернуть сервер Vertica на 3 нодах и работать с данными объемом до 1 тб сырых данных, скачивалась отдельным дистрибутивом, который по версии отставал от коммерческой редакции. Кто то из пользователей видел в этом происки маркетологов Vertica (типа покупайте коммерческую, получите новые фичи и исправление ошибок), кто то думал, что инженеры ленятся выложить новую версию для бесплатного пользования. На самом деле все было гораздо проще - так как Community редакция появилась не так давно, разработчикам Vertica понадобилось время, чтобы доработать механизм лицензирования. Теперь скачивая Vertica с раздела download , пользователь автоматически скачивает версию с лицензией Community, а для ее перевода в коммерческую версию просто достаточно применить свою купленную лицензию. Так что теперь все пользователи отныне будут в струе новейших изменений и исправлений по Vertica, без проблем скачивая последние версии.

Ну а чтобы уж пользователи Community редакции точно не подумали, что их бесплатность в чем то ущемляют, кроме ограничения кол-ва серверов и объема загруженных данных, им теперь так же доступна для скачивания и установки сервер Management Console, который позволяет организовать веб интерфейс для администрирования и мониторинга кластеров Vertica.


Вторая хорошая новость
Прилично доработан оптимизатор запросов, а именно:

  • оптимизатор теперь учитывает размеры таблиц для внешних соединений, чтобы по возможности строить хэш соединения по таблице с наименьшим количеством записей, это позволяет повысить производительность выполнения запроса с уменьшением затраченных на него ресурсов
  • для аналитических функций, которые используют описание измерений в окнах с помощью PARTITION BY, теперь будет по возможности организовываться параллельная обработка данных, в документации не уточнено правда как и когда, но судя по прошлым моим разговорам с разработчиками Vertica, на это скорее всего очень сильно будет влиять организация партиций самих таблиц - логично предположить, что оконная функция, работающая в разрезе года может параллельно поднять раздельные куски данных таблицы и начать их обрабатывать, если партиция таблицы сделана по году
  • оптимизирована работа операторов DELETE и UPDATE для случаев использования подзапросов IN и EXISTS, теперь оптимизатор умеет, как и в SELECT, при построении плана запроса учитывать наличие подходящих проекций на таблицы подзапроса с нужной сортировкой и использовать их для ускорения выполнения операций
  • оптимизация операций UNION и UNION ALL, на этот раз оптимизация затронула механизм передачи данных между нодами серверов для более равномерного распределения данных на ноды с целью обработки результатов запросов без проседаний
  • оптимизация количества сообщения для координации операций записи и commit между нодами кластера, что снижает сетевой трафик между нодами со всеми вытекающими плюсами
  • появились новые функции управления приоритетами выполняемых запросов, которые позволяют работающим запросам, в том числе участвующим в транзакциях, выставить другой приоритет доступа к ресурсам, отличный от того, с которым они по умолчанию были запущены
  • улучшена производительность вставки данных в сегментированные таблицы/проекции за счет оптимизации параллелизма обработки таких данных, однако документация подчеркивает, что такой алгоритм работы потребляет больше ресурсов и если это критично, то оптимизацию можно отключить параметром БД ParallelizeLocalSegmentLoad

Третья хорошая новость
В SQL добавлены новые полезные фичи, которых мне например не хватало:
  • в SELECT теперь поддерживается WITH, в котором можно описать подзапросы и в самом запросе использовать вместо них алиасы подзапросов
  • в SELECT теперь добавлено сложение и вычитание данных (операторы INTERSECT и EXCEPT)
Так же много дополнений и расширений по функциям, системным таблицам, профайлеру, резервному копированию и управления устройствами хранения. Ну и конечно же исправлено множество багов. Более подробно можно будет посмотреть в документации Vertica.

На этом в кратком обзоре ставлю точку. До связи.

Комментариев нет:

Отправить комментарий