Свершилось! Можно открывать шампанское и закатывать вечеринку — спустя более, чем 7 лет с момента выпуска предыдущего релиза, для скачивания наконец доступна свежайшая Oracle Database 18c XE. Пока только для Linux x64, но версии для других платформ, также как и Docker и Vagrant образы обещают появиться совсем скоро. Для тех, кто не в курсе, Oracle Database XE или Express Edition — это бесплатная редакция одной из самых мощных реляционных СУБД. Традиционно этот тип редакции обладал минимальным доступным функционалом, определенными ограничениями на используемые ресурсы, и малым размером дистрибутива. Тем не менее, даже эта версия СУБД всегда пользовалась большой популярностью среди тех, кто только познаёт возможности этой СУБД, небольших компаний, которых на данный момент устраивают все ограничения и они хотят оценить технологию и среди простых энтузиастов как мы с вами. Новая же, 18-ая версия XE открывает просто небывалый простор для использования данной СУБД, так как в этот раз компания Oracle сменила тактику, и вместо предоставления минимального функционала, включила в эту редакцию практически все самые популярные опции самой дорогой и функциональной редакции Enterprise Edition. Но по-прежнему с ограничениями по используемым ресурсам.  Читателям, которые не работают с СУБД от Oracle каждый день, поясню откуда взялась цифра 18. Дело в том, что после версии 12c Release 2 производитель решил изменить схему версионирования и перейти на годичный цикл выпуска новых версий своей СУБД. Таким образом, релиз 12.2.0.2 стали считать версией 18, а в будущем мы увидим 19, 20 и далее версии Oracle Database. Одновременно с этим, новый Product Manager по направлению Express Edition пообещал, что теперь и впредь мы будем наслаждаться новой версией XE практически одновременно с выпуском остальных редакций, т.е. также раз в год. Единственная разница будет состоять в том, что для XE не будет выпускаться патчей и исправлений безопасности, в отличие от SE и EE. Однакое, каждый следующий мажорный релиз XE будет включать в себя все исправления и изменения, сделанные в редакциях SE и EE за весь предыдущий год, что, конечно, не может не радовать. Особенно если учесть, что на протяжении 7 лет 11-ая версия XE также не получала никаких патчей и исправлений, но всё равно была сильно востребована у комьюнити. Итак, что же примечательного в новой версии Oracle Database 18c XE? На самом деле масса вещей. Но самое важное отличие от предыдущих версий данной редакции состоит в том, что на этот раз в неё включены практически все самые популярные опции из Standard и даже Enterprise Edition. Рассмотрим более подробно самые примечательные из них. Начиная с 12c Oracle Database поддерживает так называемые Pluggable Databases — смысл в том, что база данных может быть "подключена" и "отключена" к инстансу буквально при помощи пары команд SQL*Plus. Это позволяет переносить базы данных между хостами и даже версиями СУБД без каких-либо сложностей. Обещают даже совместимость с более новыми версиями Oracle Database, т.е. процесс апгрейда будет выглядеть не сложнее, чем unplug-uninstall-install-plug. Также Multitenant-архитектура позволяет поддерживать, например, разные версии APEX в разных базах данных на одном хосте. Одна из самых мощных и дорогих опций Oracle Database — это in-memory column store, которая позволяет хранить в памяти копию данных в колонкоориентированном формате для скорейшего доступа к ним в прозрачном режиме. Партиционирование не является чем-то новым и захватывающим, однако, всегда было доступно в Oracle Database только для пользователей Enterprise Edition, тогда как в конкурирующих СУБД эта опция в большинстве случаев есть, что называется, "из коробки". Вот, например, в недавно вышедшем Postgres 11 также было добавлено хэш-партиционирование. Теперь же эта функциональной доступна и в бесплатной редакции Oracle. Это целый набор инструментов для Data Mining. Интерфейсы Data Mining SQL, R programming, Oracle Data Miner UI. Что же касается Security, то это всё, что касается прозрачного шифрования данных. Как же мне не хватало этой возможности в одном из проектов. Теперь можно производить неблокирующее перестроение индекса "на лету". Аналогичная возможность неблокирующего переобределения структуры таблиц через использование пакета DBMS_REDEFINITION, ранее доступного только для пользователей EE. Не секрет, что если речь идет о производительности, то она не может вестись без кэширования данных. Кэширование на уровне инстанса результатов SQL-запросов и PL/SQL-функций теперь доступно и может использоваться для лучшей производительсности ваших приложений. Специальный вид индексов, использование которых обычно сопряжено с аналитическими системами. Это так, потому что данный тип индексов рекомендуется использовать только на таблицах, редко подверженных апдейтам. Однако, их преимущество состоит в том, что эти индексы могут комбинироваться для ещё большего ускорения доступа к данным, а также использоваться для использования нескольких источников (так называемые Bitmap Join Indexes). Опция, позволяющая отсрочить достижение ограничений по ресурсам в XE, т.к. производит прозрачное сжатие данных как в базе данных, так и в структурах памяти самого инстанса. Опция, позволяющая оптимизатору автоматическое "переписывание" SQL-запросов на использование материализованных представлений для улучшения их производительности. Всё что касается хранения и работы с геоданными. К сожалению, не завезли такие опции как Parallel Query, Block Media Recovery, Diagnostics pack и Tuning pack. Однако, Roadmap проекта предполагает включение последних двух в следующие версии XE. С полным списком включенных в сборку опций, можно ознакомиться в официальной брошюре по лицензированию данной редакции. Ну и конечно не стоит забывать о количестве исправлений ошибок и усовершенствований внутренних механизмов, которые СУБД претерпела с версии 11g. Только подумайте какой рывок был сделан в работе самой важной и самой уважаемой компоненты Oracle Database — её оптимизатора. Где же ложка дегтя? В ограничениях на используемые данной версией СУБД ресурсы. Хотя и здесь был замечен логичный прирост: Конечно, для промышленного использования такие параметры кажутся смешными, однако, для академического использования, стартапов и небольших компаниий всё укладывается в рамки необходимого. Также как и для оценки технологии даже серьезными индустриальными гигантами, этого порой более чем достаточно.  Стоит заметить, что в отличие от 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 может значить приток молодых специалистов в эту область, что всегда положительно отражается на комьюнити! Ура, товарищи! Я не пишу об этом в основной статье, но так как в комментариях стали возникать вопросы по этому поводу, всё же обращу ваше внимание на тот факт, что 18c XE включает в себя все функциональные нововведения, собственно, 18-й версии СУБД. Не буду говорить о том, какие из них являются объективно наиболее яркими, но для меня это несомненно: И это далеко не всё, а только то, что радует лично меня и чем я обязательно воспользуюсь. Полный список изменений можно посмотреть в официальной документации: Database Enthusiast