Корпорация Oracle недавно объявила о выходе новой версии Oracle Database 23.7, которая включает целый ряд новых функций, направленных на повышение производительности разработчиков, упрощение работы с данными и ускорение обработки различных рабочих нагрузок.
Новые возможности для разработчиков в Oracle 23.7: основные моменты
Обновление подчеркивает стремление Oracle сделать работу разработчиков более интуитивной и производительной в ключевых областях, таких как аналитика, разработка приложений и интеграция с облачными технологиями.
Новая функция TIME_BUCKET
упрощает группировку по времени
Oracle Database 23.7 ввела функцию TIME_BUCKET
, которая облегчает группировку значений времени в заданные интервалы, такие как пять минут, два часа или три дня. Это нововведение устраняет необходимость в пользовательских расчетах и значительно упрощает сложные SQL-запросы, связанные с временной агрегацией данных.
Функция поддерживает до пяти параметров:
- Дата и время: значение для группировки
- Интервал: размер интервала
- Начало: точка отсчета для группировки
- Начало_или_конец (опционально): определяет, возвращается ли начало или конец интервала
- Дополнительные параметры (опционально): управляют переполнением и крайними случаями
Разработчики теперь могут выполнять группировку по интервалам с большей ясностью и эффективностью, что ускоряет создание аналитических запросов и отчетов.
Материализованные столбцы позволяют выполнять вычисления при записи
В Oracle 23.7 появились материализованные столбцы, расширяющие концепцию виртуальных столбцов, представленную в Oracle 11g. В то время как виртуальные столбцы вычисляют значения при выполнении запроса, материализованные столбцы выполняют эти вычисления при вставке или обновлении данных, сохраняя результаты для более быстрого извлечения.
Эта функция особенно полезна в сценариях с редкими записями и частыми чтениями. Она снимает вычислительную нагрузку с запросов и улучшает производительность при частом доступе к производным данным. Тесты показывают, что материализованные столбцы возвращают результаты почти в десять раз быстрее, чем их виртуальные аналоги, при чтении из набора данных с сложными вычислениями.
Новая функция доступа к метаданным в формате JSON через DBMS_DEVELOPER.GET_METADATA()
Oracle также представила значительное обновление API метаданных с помощью новой функции DBMS_DEVELOPER.GET_METADATA()
. В то время как существующий пакет DBMS_METADATA
предоставляет DDL и XML-выводы, новая функция возвращает метаданные в виде чистого, структурированного JSON, оптимизированного для использования в современных, API-ориентированных и веб-приложениях.
Основные преимущества:
- Быстрое извлечение метаданных в формате JSON для таблиц, представлений и индексов
- Упрощенный вызов с меньшим количеством параметров
- Улучшенная производительность по сравнению с устаревшими методами
- Поддержка значений
etag
для эффективного обнаружения изменений объектов - Регулируемая детализация метаданных с использованием уровней
BASIC
,TYPICAL
илиALL
Эта функциональность делает Oracle Database более гибкой и дружественной к разработчикам в средах, ориентированных на JSON.
Интерфейс взаимодействия JavaScript и PL/SQL теперь доступен
Oracle Database 23.7 расширяет возможности Многоязычного Двигателя (MLE), предоставляя поддержку вызова пакетов PL/SQL из JavaScript. Разработчики теперь могут легко соединять модули JavaScript и процедуры PL/SQL, используя библиотеку mle-js-plsql-ffi
, что позволяет решать задачи, такие как:
- Генерация случайных чисел на стороне сервера
- Доступ к утилитам PL/SQL из приложений на JavaScript
- Разработка гибридных модулей на разных языках
Обновление поддерживает импорт пакетов, таких как DBMS_RANDOM
, непосредственно в функции JavaScript и возврат результатов в вызывающий SQL-слой.
Поддержка сжатия таблиц SMALLFILE
В дополнение к поддержке DBMS_SPACE.SHRINK_TABLESPACE
для таблиц BIGFILE, представленной в более ранних версиях, Oracle Database 23.7 теперь позволяет сжимать таблицы SMALLFILE. Это дополнение предоставляет разработчикам и администраторам баз данных лучшие возможности управления дисковым пространством за счет дефрагментации хранения и уменьшения общего объема.
Новый режим анализа помогает оценить потенциальные возможности экономии пространства до выполнения операции. Тестирование показало, что сжатие таблицы SMALLFILE уменьшило размер файла данных с 0.78 ГБ до 0.19 ГБ, освобождая более 75% дискового пространства.
Постоянное внимание к опыту разработчиков
"Эти последние инновации в Oracle Database 23.7 представляют собой стратегический шаг к упрощению опыта разработчиков," — отметил Джеральд Венцл, ведущий менеджер по продуктам для инициатив разработчиков в Oracle. "От оптимизации группировки временных данных до обеспечения быстрого доступа к метаданным и межъязыковой функциональности с JavaScript, мы стремимся упростить как бэкенд, так и разработку на уровне приложений."
Замечательно видеть, что Oracle продолжает улучшать возможности для разработчиков. Особенно радует появление функции TIME_BUCKET, которая значительно упростит работу с временными данными. Это действительно поможет сократить время на разработку аналитических отчетов.
Очень интересно использование материализованных столбцов для ускорения чтения часто запрашиваемых данных. Это может кардинально изменить подход к проектированию баз данных, особенно в крупных системах с интенсивными запросами.
Интеграция JavaScript с PL/SQL выглядит многообещающе! Это открывает новые горизонты для разработчиков, работающих в мульти-языковых проектах. Надеюсь, что такая интеграция станет стандартом для других СУБД в будущем.