В процессе разработки новой версии Oracle Database компании Oracle было важно учесть две основные тенденции современной ИТ-индустрии.
Во-первых, тенденция изменения цен и доступных объемов оперативной памяти, характерная для последних лет. Ведь стоимость оперативной памяти ежегодно падает на 30%, а типичный корпоративный сервер сегодня уже имеет 128 ГБ памяти, а многие серверы имеют 1 ТБ памяти.
Это означает, что если вы научитесь размещать базы данных непосредственно в оперативной памяти, то запросы к ним будут выполняться в десятки и сотни раз быстрее, что открывает возможность реализации бизнес-аналитики в реальном времени.
Во-вторых, важно помнить, что по мере снижения затрат на ИТ разработчикам нужны новые инструменты, которые позволяют ускорить внедрение инноваций и упростить поддержку приложений.
Например, для интеграции новых разработок с существующими корпоративными инфраструктурами разработчики переходят от монолитных приложений, сложных и трудных в разработке, к микросервисной архитектуре, то есть приложениям, представляющим собой наборы независимо развертываемых сервисов.
А для работы с новой архитектурой база данных должна поддерживать новые инструменты и новые методы программирования.
Все это компания Oracle учла при разработке базы данных Oracle Database 12.1.0.2. Данная статья представляет собой обзор основных нововведений этой версии.
База данных Oracle 12c Начнем с того, что в 2013 году компания Oracle выпустила Oracle Database 12c (версия 12.1.0.1), основными преимуществами которой стали снижение затрат на хранение, высокая доступность данных, простота консолидации баз данных и защита доступа к данным.
Если немного подробнее, в этой версии представлена архитектура Oracle Multitenant, которая значительно облегчает консолидацию баз данных, ускоряет развертывание баз данных и позволяет управлять многими базами данных как одной — вместо администрирования сотен баз данных по отдельности администратор работает с одной базой данных, одновременно управление многими данными баз данных как одним.
Все это сделало Oracle Database 12c на момент ее выпуска наиболее подходящей системой управления базами данных для облачных вычислений, особенно для SaaS-приложений, где обеспечивается высокоскоростное создание новых баз данных по запросу пользователя, что при поддержке Snapshot Cloning технология (тонкое клонирование), особенно важна Пара минут. Кроме того, Oracle Database 12.1.0.1 представляет автоматическую оптимизацию данных, которая сочетает в себе технологию интеллектуального сжатия, которая автоматически идентифицирует и сжимает редко используемые блоки данных («холодные» данные), и технологию автоматизации многоуровневого хранения данных, которая автоматически переносит «холодные» данные в более дешевое хранилище.
уровень.
Еще одна новая технология в Oracle Database 12c, называемая Data Guard Far Sync, обеспечивает нулевую потерю данных на больших расстояниях и позволяет хранить резервные копии базы данных далеко от основной базы данных.
Дополнительный выделенный экземпляр базы данных, не имеющий файлов данных, принимает изменения из основной базы данных в синхронном режиме и асинхронно распространяет эти изменения на удаленные экземпляры базы данных, обеспечивая как надежность синхронного режима, так и производительность асинхронного режима.
Технология Application Continuity позволяет повторять аварийно прерванные транзакции, тем самым решая одну из основных проблем работы веб-приложений с базами данных.
Эта технология делает сбой экземпляра базы данных прозрачным для веб-приложения и позволяет определить состояние последней транзакции.
Если транзакция не удалась, она будет выполнена, а если она уже завершена, то технология Application Continuity не позволяет выполнить ее повторно.
Технология динамического маскирования данных Data Redaction прозрачна для приложений и позволяет устанавливать политики доступа к данным внутри базы данных.
Данные остаются неизменными, но в зависимости от прав и роли конечного пользователя он увидит только те данные, к которым у него есть доступ.
Это позволяет приложениям прозрачно работать с базой данных, политика будет соблюдаться для всех приложений.
Наконец, в Oracle Database 12.1.0.1 появилась мощная система сопоставления с образцом для анализа взаимосвязей строк, которая позволяет анализировать тенденции и находить в них статистические закономерности с помощью конструкций языка SQL. И это не считая более пятисот других модификаций.
Уже в 2014 году Oracle выпустила Oracle Database 12.1.0.2, где эти возможности были улучшены и добавлена новая опция Oracle In-Memory, самая важная.
База данных Oracle 12.1.0.2: в памяти Разрабатывая In-Memory, Oracle стремилась создать технологию, которая позволила бы проводить аналитику в реальном времени для быстрого принятия бизнес-решений.
Чрезвычайно важно, что, хотя конкуренты Oracle требуют другую базу данных и другие технологии для использования своих опций In-Memory, опция Oracle Database In-Memory встроена в базу данных, включается буквально одним параметром, полностью прозрачна для приложений и совместима со всеми возможности базы данных.
Опыт клиентов с этой опцией показывает, что обработка транзакций удваивается, вставка строк происходит в три-четыре раза быстрее, чем обычно, а аналитические запросы фактически выполняются в реальном времени, практически мгновенно.
Смысл технологии в том, что рядом с обычным буферным кэшем, хранящим строки таблицы и индексные блоки, создается новая общая область для данных в оперативной памяти, в которой они хранятся в столбчатом формате (рис.
1).
Таким образом, технология использует в памяти форматы хранения как строк, так и столбцов для одних и тех же данных таблицы, при этом данные являются одновременно активными и транзакционно согласованными.
Все изменения сначала вносятся в традиционный буферный кэш, а затем отражаются в кэше столбцов.
В этом случае в кэше столбцов отражаются только таблицы; индексы не кэшируются.
Кроме того, если данные читаются, но не изменяются, то нет необходимости хранить их в буферном кеше, а если данные изменяются, то они сохраняются в обоих кешах: буферном и столбчатом.
Таким образом, In-Memory ускоряет работу аналитики, поскольку столбчатое хранение данных более эффективно для аналитики.
Кроме того, опция In-Memory позволяет избавиться от аналитических индексов, не жертвуя при этом производительностью, обеспечивая при этом гибкость: экономится дисковое пространство, вы можете построить запрос по любому столбцу, который находится в In-Memory, и вам не потребуется для создания дополнительных индексов для быстрого выполнения запросов.
Важным элементом Oracle Database In-Memory является аппаратная поддержка.
В частности, технология поддерживает набор инструкций SIMD (Single Instruction Multiple Data Values), предназначенных для обработки графики — In-Memory использует эти инструкции, если они встроены в процессор, для сравнения сразу нескольких значений столбца с предикатом.
, существенно ускоряя скорость сканирования столбцов — до 1 миллиарда строк в секунду.
Но это не все.
Серверы Oracle SPARC M7 и T7, выпущенные в конце 2015 года, включают аппаратную поддержку In-Memory. Для этого процессоры М7 и Т7 оснащены модулем векторного сканирования баз данных, модулем распаковки данных In-Memory и модулем аппаратной защиты памяти, реализующим проверку доступа к данным в оперативной памяти в режиме реального времени, обеспечивая защиту данных от вредоносные вторжения и ошибки программного кода.
Чтобы использовать Oracle In-Memory, вам просто нужно установить размер буфера памяти In-Memory Column Store, указать, какие таблицы, разделы и столбцы будут помещены в эту память, перезапустить базу данных и удалить аналитические индексы, если они больше не требуется для приложений производительности.
In-Memory легко управлять из Oracle Enterprise Manager, который имеет отдельную центральную страницу In-Memory, которая отображает распределение памяти между объектами и позволяет настраивать хранилище столбцов в памяти.
Последняя версия Enterprise Manager 13c включает инструмент In-Memory Advisor, поддерживаемый для версий базы данных 11.2.0.3 и выше, который анализирует существующую загрузку базы данных и предоставляет список объектов, загрузка которых в хранилище столбцов In-Memory принесет максимальную пользу.
.
Сравнительное тестирование Oracle Database 12c In-Memory и SAP HANA на одинаковом количестве ядер Intel продемонстрировало вдвое большую производительность Oracle Database 12, чем SAP HANA (рис.
2, вверху).
Сравнительное тестирование масштабируемости Oracle Database 12c In-Memory и SAP HANA показало, что Oracle Database 12c In-Memory масштабируется значительно лучше, чем SAP HANA — практически линейно (рис.
2, внизу).
Новые возможности для разработчиков
Мы уже говорили, что ИТ-индустрия переходит от тяжелых монолитных приложений к веб-сервисам.
Поскольку веб-сервисы все чаще обращаются друг к другу через интерфейс REST, Oracle предоставляет Java-приложение Oracle REST Data Services (ORDS), которое предоставляет единый интерфейс REST для работы с СУБД Oracle (реляционные данные и хранилище документов JSON) и базой данных Oracle NoSQL. ORDS можно использовать как автономно, так и развернуть на серверах приложений WebLogic Server, Oracle Glassfish Server, Apache Tomcat. SQL Developer предоставляет простую в использовании платформу для установки и настройки ORDS, включая мастер настройки, который автоматически создает службы REST для доступа к таблицам базы данных.
Виртуальная машина VirtualBox с настроенной виртуальной машиной Big Data Lite и настроенными службами REST доступна бесплатно в сети Oracle Technology Network. Поскольку один и тот же вызов REST может применяться к разным базам данных, это повышает гибкость и скорость программирования, поскольку разработчику не требуется знать особенности SQL или базы данных.
Oracle Database 12.1.0.2 включает встроенную поддержку баз данных JSON. Службы REST могут работать либо с хранилищем документов JSON в базе данных версии 12c, либо с таблицами реляционной базы данных, которые предоставляются как службы данных REST, либо с базами данных NoSQL. База данных Oracle 12c и большие данные Oracle Big Data Appliance — это кластеры, предназначенные для работы с базами данных Hadoop и NoSQL. В отличие от других аппаратно-программных комплексов Oracle, эти системы были разработаны совместно с Cloudera, одним из ведущих поставщиков дистрибутива Hadoop. Вопреки распространенному мнению, подобные системы нужны не только компаниям интернет-бизнеса, ведь сегодня любая компания, которая должна заниматься глубоким анализом поведения клиентов, высокоточно планировать рекламу, объединять и анализировать данные из многих источников, в том числе неструктурированных, борется с мошенничеством.
, и т. д. Oracle Big Data SQL как часть Oracle Big Data Appliance позволяет выполнить один быстрый SQL-запрос из базы данных Oracle 12c ко всем данным, хранящимся в Hadoop, реляционных базах данных и базах данных NoSQL. Oracle Big Data SQL — это новая архитектура, которая предлагает мощный и высокопроизводительный SQL на Hadoop с полными возможностями Oracle SQL на Hadoop и локальной обработкой SQL-запросов на узлах Hadoop. Архитектура предлагает простую интеграцию данных Hadoop, базы данных Oracle и Oracle NoSQL, единую точку входа SQL для доступа ко всем данным, масштабируемые соединения между данными Hadoop и СУБД.
База данных Oracle NoSQL — масштабируемая, высокопроизводительная, высокодоступная СУБД с прозрачной балансировкой нагрузки, в которой все данные хранятся в виде пар ключ-значение.
Улучшения в Oracle Multitenant Новые возможности мультитенантных баз данных версии 12.1.0.2 касаются в первую очередь клонирования баз данных PDB (подключаемые базы данных).
Некоторые табличные пространства теперь можно исключить из клонирования.
Клонировать можно только метаданные, которые иногда необходимы для разработки.
Удаленное клонирование позволяет клонировать базу данных PDB между двумя базами данных-контейнерами через ссылку на базу данных.
Наконец появилось тонкое клонирование, основанное на технологии Direct NFS, встроенной в базу данных и независимой от файловой системы.
Другие улучшения включают новое выражение SQL, которое позволяет агрегировать запросы к таблицам, расположенным в нескольких подключаемых базах данных.
Новая фраза «резервные» позволяет явно указать или отменить создание резервной базы данных при создании подключаемой базы данных.
Другие улучшения
- Технология Advanced Index Compression сжимает индексы для уменьшения занимаемого дискового пространства (в некоторых базах данных индекс занимает половину дискового пространства) и более эффективного использования кэша.
- Полное кэширование базы данных.
Включается автоматически, чтобы использовать всю доступную память и потенциально повысить производительность, если база данных умещается в памяти.
Можно принудительно выполнить полное кэширование, включая таблицы с объектами NOCACHE LOB, с помощью команды ALTER DATABASE FORCE FULL DATABASE CACHING.
- Автоматическое кэширование больших таблиц.
Может использоваться, если вся база данных не помещается в память, но некоторые крупные объекты помещаются.
Параметр DB_BIG_TABLE_CACHE_PERCENT_TARGET позволяет выделить отдельную область в буферном кеше для больших таблиц.
В то время как обычный буферный кэш кэширует данные на уровне блоков, большие таблицы кэшируются и удаляются из этой области кэша полностью в зависимости от того, как часто к ним обращаются.
- Директива Attribute Clustering, указанная в таблице, упорядочивает данные по значениям столбцов, при этом строки с одинаковыми значениями столбцов лежат вместе на диске.
Эта директива работает во время операций прямой загрузки данных, таких как массовая вставка записей или перемещение таблицы.
Кластеризация атрибутов может быть полезна для сжатия данных, поскольку.
упорядоченные данные лучше сжимаются при использовании опции расширенного сжатия.
Но кластеризация атрибутов обеспечивает наибольшее преимущество при использовании в сочетании с другой новой функцией Oracle Database 12.1.0.2 — картами зон.
Карты зон, доступные в Oracle Exadata или Supercluster, содержат минимальные и максимальные значения указанных столбцов для диапазонов строк и позволяют быстро отфильтровывать ненужные данные при выполнении запроса.
Эти технологии полностью прозрачны для приложений, повышают производительность запросов, сокращают физическое чтение, значительно сокращают количество операций ввода-вывода для высокоизбирательных запросов и оптимизируют использование дискового пространства.
- Approximate Count Distinct — функция, аппроксимирующая различные значения столбца (ведь не каждый запрос требует точного результата — например, вопросу «Сколько разных посетителей было на нашем сайте на прошлой неделеЭ» можно задать приблизительный ответ), который работает значительно (до 50 раз) быстрее точного подсчета и дает точность более 97% с доверительной вероятностью 95%.
-
Компьютерное Обучение
19 Oct, 24 -
Учитесь У Лучших, Пройдя Курс Ppc
19 Oct, 24 -
Black Mesa Теперь Можно Скачать Бесплатно!
19 Oct, 24