Вышла Oracle Database 18c XE
Свершилось! Можно открывать шампанское и закатывать вечеринку — спустя более, чем 7 лет с момента выпуска предыдущего релиза, для скачивания наконец доступна свежайшая Oracle Database 18c XE. Пока только для Linux x64, но версии для других платформ, также как и Docker и Vagrant образы обещают появиться совсем скоро.
Для тех, кто не в курсе, Oracle Database XE или Express Edition — это бесплатная редакция одной из самых мощных реляционных СУБД. Традиционно этот тип редакции обладал минимальным доступным функционалом, определенными ограничениями на используемые ресурсы, и малым размером дистрибутива. Тем не менее, даже эта версия СУБД всегда пользовалась большой популярностью среди тех, кто только познаёт возможности этой СУБД, небольших компаний, которых на данный момент устраивают все ограничения и они хотят оценить технологию и среди простых энтузиастов как мы с вами.
Новая же, 18-ая версия XE открывает просто небывалый простор для использования данной СУБД, так как в этот раз компания Oracle сменила тактику, и вместо предоставления минимального функционала, включила в эту редакцию практически все самые популярные опции самой дорогой и функциональной редакции Enterprise Edition. Но по-прежнему с ограничениями по используемым ресурсам.
Почему 18с?
Опять же для тех, кто не работает каждый день с СУБД от Oracle, поясню откуда взялась цифра 18. Дело в том, что после версии 12c Release 2 производитель решил изменить схему версионирования и перейти на годичный цикл выпуска новых версий своей СУБД. Таким образом, релиз 12.2.0.2 стали считать версией 18, а в будущем мы увидим 19, 20 и далее версии Oracle Database. Одновременно с этим, новый Product Manager по направлению Express Edition пообещал, что теперь и впредь мы будем наслаждаться новой версией XE практически одновременно с выпуском остальных редакций, т.е. также раз в год. Единственная разница будет состоять в том, что для XE не будет выпускаться патчей и исправлений безопасности, в отличие от SE и EE, но каждая следующая мажорная версия будет включать в себя все исправления и изменения, что, конечно не может не радовать. Особенно если учесть, что на протяжении 7 лет 11-ая версия XE также не получала никаких патчей, но всё равно была востребована у пользователей.
Что нового?
Итак, что же примечательного в новой версии Oracle Database 18c XE? На самом деле масса вещей. Но самое важное отличие от предыдущих версий данной редакции состоит в том, что на этот раз в неё включены практически все самые популярные опции из Standard и даже Enterprise Edition. Рассмотрим более подробно самые примечательные из них.
Multitenant
Начиная с 12c Oracle Database поддерживает так называемые Pluggable Databases — смысл в том, что база данных может быть «подключена» и «отключена» к инстансу буквально при помощи пары команд SQL*Plus. Это позволяет переносить базы данных между хостами и даже версиями СУБД без каких-либо сложностей. Обещают даже совместимость с более новыми версиями Oracle Database, т.е. процесс апгрейда будет выглядеть не сложнее, чем unplug-uninstall-install-plug. Также Multitenant-архитектура позволяет поддерживать, например, разные версии APEX в разных базах данных на одном хосте.
In-Memory Column Store и Aggregation
Одна из самых мощных опций Oracle Database — это in-memory column store, которая позволяет в прозрачном режиме хранить в памяти в колонкоориентированном формате копию данных для скорейшего доступа к ним.
Partitioning
Партиционирование не является чем-то новым и захватывающим, однако, всегда было доступно только для пользователей Enterprise Edition, хотя в конкурирующих СУБД эта опция в большинстве случаев есть, что называется, «из коробки». Вот, например, в недавно вышедшем Postgres 11 также было добавлено хэш-партиционирование. Также как теперь и в бесплатной редакции Oracle.
Advanced Analytics и Security
Это целый набор инструментов для Data Mining. Интерфейсы Data Mining SQL, R programming, Oracle Data Miner UI. Что касается Seciruty, то это всё, что касается прозрачного шифрования данных.
Online Index Rebuid
Как же мне не хватало этой возможности в одном из проектов. Теперь можно производить неблокирующее перестроение индекса «на лету».
Online Table Redefinition
Аналогичная возможность неблокирующего переобределения структуры таблиц через использование пакета DBMS_REDEFINITION
, ранее доступного только для пользователей EE.
Query Results Cache и PL/SQL Function Result Cache
Не секрет, что если речь идет о производительности, то она не может вестись без кэширования данных. Кэширование на уровне инстанса результатов SQL-запросов и PL/SQL-функций теперь доступно и может использоваться для лучшей производительсности ваших приложений.
Bitmap Indexes
Специальный вид индексов, использование которых обычно сопряжено с аналитическими системами. Это так, потому что данный тип индексов рекомендуется использовать только на таблицах, редко подверженных апдейтам. Однако, их преимущество состоит в том, что эти индексы могут комбинироваться для ещё большего ускорения доступа к данным, а также использоваться для использования нескольких источников (так называемые Bitmap Join Indexes).
Oracle Advanced Compression
Опция, позволяющая отсрочить достижение ограничений по ресурсам в XE, т.к. производит прозрачное сжатие данных как в базе данных, так и в структурах памяти самого инстанса.
Materialized View Query Rewrite
Опция, позволяющая оптимизатору автоматическое «переписывание» SQL-запросов на использование материализованных представлений для улучшения их производительности.
Oracle Spatial and Graph
Всё что касается хранения и работы с геоданными.
К сожалению, не завезли такие опции как Parallel Query, Block Media Recovery, Diagnostics pack и Tuning pack. Однако, Roadmap проекта предполагает включение последних двух в следующие версии XE.
С полным списком включенных в сборку опций, можно ознакомиться в официальной брошуре по лицензированию данной редакции.
Ну и конечно не стоит забывать о количестве исправлений ошибок и усовершенствований внутренних механизмов, которые СУБД претерпела с версии 11g. Только подумайте какой рывок был сделан в работе самой важной и самой уважаемой компоненты Oracle Database — её оптимизатора.
Ограничения
Где же ложка дегтя? В ограничениях на используемые данной версией СУБД ресурсы. Хотя и здесь был замечен логичный прирост:
- Максимальный размер базы данных составляет 12 GB (против 11 GB в 11g XE);
- До 2 GB оперативной памяти (против 1 GB в 11g XE);
- До 2 потоков CPU (против 1 в 11g XE);
- До 3 подключаемых баз данных (Pluggable Databases или PDB, в 11g XE такая функциональность отсутствовала).
Конечно, для промышленного использования такие параметры кажутся смешными, однако, для академического использования, стартапов и небольших компаниий всё укладывается в рамки необходимого. Также как и для оценки технологии даже серьезными индустриальными гигантами, этого порой более чем достаточно.
Post Scriptum
Стоит заметить, что в отличие от Oracle Database 11g XE, новая версия Express Edition поставляется без предустановленного Oracle APEX (Application Express — фреймворк для быстрой разработки data-driven веб-приложений), это обсусловлено как минимум контейнерной архитектурой СУБД.
Однако, установка так называемого Oracle RAD-стека (Rapid Application Development), состоящего из REST Data Services, APEX и Database, не составит большого труда. Последние версии данных компонент всегда можно найти на официальном сайте:
Я считаю эту новость грандиозной для всех разработчиков, так или иначе связанных с Oracle Database, так как вновь обретенная жизнь для XE может значить приток молодых специалистов в эту область, что всегда положительно отражается на комьюнити! Ура, товарищи!