Этот релиз СУБД включает более 200 инноваций, которые расширяют область применения базы данных, помогают увеличить производительность и делают работу аналитиков, разработчиков и исследователей данных (Data Scientist) более продуктивной.
Что нового в 21 Oracle?
- Появился тип JSON.
Он хранит данные в двоичном виде аналогично jsonb в Postgresql.
Получить значения полей можно не только функциями, вроде json_value, но и через точку:Код: Выделить всё
WITH j AS (SELECT JSON( '{ "f" : "Иванов", "i": "Иван", "o": "Иванович", "address": {"street": "Московская"}) }') AS json_column FROM DUAL) SELECT j.json_column.name, j.json_column.address FROM j;
- Поддержка JavaScript.
JavaScript доступен только в PL/SQL. Он формируется в виде текста и выполняется через пакет dbms_mle.
Судя по сигнатуре метода eval и названию пакета (MLE = Multilingual Engine), авторы явно планируют добавить поддержку других языков. Подробнее см. документацию на пакет: https://docs.oracle.com/en/database/ora ... s_mle.html.
- В PL/SQL появились итераторы.
- Доработан модуль Oracle Machine Learning for SQL.
- Появились blockchain таблицы.
Это обычные heap-таблицы, в которых нельзя удалять записи определенное время и есть встроенные средства контроля того, что данные не менялись. См https://docs.oracle.com/en/database/ora ... 79556.html.
- Result cache начинает работать только если функция вызывалась с такими аргументами за последнее время не менее RESULT_CACHE_EXECUTION_THRESHOLD раз. Какой интервал времени используется пока неясно. (Кто может уточнить пишите)
- В типах данных можно использовать PL/SQL типы, например, boolean или pls_integer. Сохранять в базе их по-прежнему нельзя. Тип должен быть объявлен как not persistable:
https://docs.oracle.com/en/database/ora ... 0BBBC57034.
- Доработан модуль Oracle Machine Learning for SQL.