Статті

Автономная база данных Oracle: что она умеет делать для руководителей, аналитиков и DBA

02 июля, 2018. 09:07 Марк Ривкин
О новой разработке Oracle, «такой же революционной, как интернет» было объявлено на открытии Oracle OpenWorld 2017 в Сан-Франциско. Сегодня мы публикуем первую часть статьи, разъясняющей концепцию автономной базы данных, что под этим понимает Oracle, как это работает и чем может быть полезно руководителям, аналитикам и администраторам СУБД.

Все системы хранения и обработки данных можно разделить на две группы: простые и сложные. Простые системы можно быстро и просто развернуть даже неспециалисту, загрузить или ввести в них данные и начать использовать. Примерами таких систем могут служить MS Excel, почта mail.ru или, если говорить про СУБД, очень популярная в 80-90 годы простенькая СУБД DBASE. Никто не говорит, что для работы с этими продуктами нужен администратор на стороне пользователя. Никто не обеспечивает многопользовательский режим или настройку производительности для MS Excel, обеспечение защиты данных сводится к установке пароля для файла, надежность обеспечивается копированием файла Excel и т.д. Мы догадываемся, что администраторы mail.ru поддерживают свою систему, но мы, как пользователи, просто создаем учетную запись и пользуемся почтой.

Обратной стороной такой простоты является то, что сложные, критичные для бизнеса системы хранения и обработки данных на таких продуктах не делаются. Для этого созданы специальные коммерческие СУБД, такие как MS SQL Server, Oracle Database, Db2 и т. д. Они позволяют обеспечить высокую производительность, надежность, масштабируемость, безопасность, но за это приходится платить содержанием большого штата администраторов баз данных (АБД), постоянным выполнением ручных или автоматизированных операций по установке, настройке, сопровождению, бэкапированию и восстановлению баз данных (БД).

Новое направление в области СУБД - Автономные базы данных – призвано устранить это противоречие, совместить простоту создания и эксплуатации с мощностью современных коммерческих СУБД.

В какой-то степени идея автономных БД перекликается с модной сегодня темой беспилотного или автономного автомобиля. В определении такого автомобиля выделяются пять уровней автономности: от 0 - есть только система уведомлений, до 5 - не требуется действия человека, кроме старта системы и указания пункта назначения [Wikipedia]. То есть в случае автономного автомобиля 5 уровня человеку достаточно сесть в машину и сообщить, куда нужно ехать. Все остальное выполнит система управления и поддержки автономного автомобиля.

Та же идея заложена и в концепцию автономных БД. Пользователь при запросе БД определяет политики и уровень сервиса, который ему нужен, иными словами, ставит цели, а система сама создает БД нужной архитектуры, обеспечивающей заданный уровень сервиса (надежность, безопасность, производительность и т. д.) и далее сама поддерживает этот уровень сервиса. Конечно, на первых порах можно оставить для администратора базы данных (DBA) возможность вмешаться, но со временем она исчезнет.

Что же должна делать за администратора автономная БД? Если проанализировать наиболее трудоемкие задачи, выполняемые DBA, то они сведутся к следующим:

  • Конфигурирование операционной системы, сети, подсистемы хранения данных
  • Установка СУБД Oracle, установка новых версий, патчинг
  • Резервное копирование, восстановление
  •  Развертывание новых сред (для тестирования, разработки и т. д.)
  •  Построение отказоустойчивого решения
  • Защита данных, устранение дыр в безопасности
  • Оптимизация работы БД, настройка SQL
  •  Управление жизненным циклом данных
  •  Выявление ошибок в ПО и их устранение
  • Выделение дополнительных вычислительных ресурсов (эластичность)

Не забудем еще, что до начала работы АБД нужно получить IT-инфраструктуру для установки БД и приложений (компьютеры, сетевую инфраструктуру, систему хранения и др.). В случае автономной БД все эти задачи снимаются с АБД, их выполняет сама автономная БД.

Итак, автономная БД соответствует трем основным принципам:

  • Самоуправляемость. Автоматически создает БД, выполняет апгрейды и патчирование, бэкапы, настройку производительности, обеспечивает эластичность
  • Самозащита. Защита от внешних и внутренних атак, оперативное исправление дыр в безопасности, шифрование данных, маскирование
  • Самовосстановление. Автоматическое восстановление после сбоев, защита от простоев, обеспечение заданного уровня сервиса (SLA)

Преимущества такой автономной БД очевидны. Она облегчает работу DBA, снижает риски, повышает качество работы СУБД и приложений. Она снижает совокупную стоимость владения (TCO) и время развертывания систем, обеспечивает более высокую надежность и безопасность, чем большинство традиционных СУБД. Пользователь может просто заказать БД, получить ее за несколько минут, создать таблицы, загрузить данные и начать с ними работать - анализировать, писать и отлаживать приложения, строить отчеты и т. д. При этом не надо создавать индексы, партиции, материализованные представления, табличные пространства и т. д. Это кардинально меняет подход пользователей к решению бизнес-задач, сроки создания приложений, позволяет сосредоточиться на развитии бизнеса и выводе новых услуг и продуктов на рынок.

Архитектура автономной БД

Какова же архитектура автономной БД Oracle? Конечно, в ее основе лежит СУБД Oracle, начиная с версии 18с, но было бы ошибкой говорить, что Oracle Database 18c - автономная БД. Автономная БД состоит из трех компонентов, каждый из которых отвечает за разные аспекты автономности. Это облачная инфраструктура Oracle Cloud, СУБД Oracle 18c и некоторое программное обеспечение, дополняющее работу СУБД и облака и управляющее всей конструкцией [Рисунок 1].


oracle2Рисунок 1. Компоненты автономной базы данных

Из сказанного выше уже понятно, что автономная БД Oracle может работать только в облачной инфраструктуре Oracle Cloud, так как эта инфраструктура обеспечивает IT-ресурсы, быстрое развертывание, бэкап и патчирование. Конечно, заказчик может установит в своем ЦОД просто СУБД Oracle 18c или заказать сервис DBaaS в облаке, но это не будет автономной БД. Поэтому очевидно, что автономная БД Oracle - это специальный сервис, который может работать только в облаке Oracle или на Oracle Cloud at Customer (устанавливается в ЦОД заказчика и администрируется удаленно сотрудниками Oracle). Более того, автономная БД работает только на платформе Oracle Exadata, которая и обеспечивает высокую производительность работы СУБД.

Exadata позволяет автономной БД использовать такие уникальные механизмы, как smart scan на ячейках, storage index, гибридное колоночное сжатие, операции в памяти, кэширование данных на флеш для OLTP, шифрование всех данных БД, разделение и приоритизация ресурсов ввода вывода, параллельная обработка, Real Application Cluster (RAC), мультирендные БД. Но для пользователей автономной БД все это не важно, так как они не видят IT-инфраструктуру.

СУБД Oracle - универсальная СУБД. Она может использоваться для создания разных систем: OLTP, DSS, хранилищ данных, геоинформационных систем, работы с графами, документами и т. д. Эффективность работы СУБД для конкретной задачи обеспечивается конфигурированием и настройкой СУБД. Для того, чтобы автономная БД эффективно поддерживала конкретные задачи, пользователь должен заказать не просто БД, а конкретный специализированный сервис, и тогда при создании БД она будет автоматически сконфигурирована и настроена под его задачу. Уже сейчас можно заказать автономный сервис хранилищ данных Oracle Autonomous Data Warehouse Cloud Service  (ADWS), который удобен для создания витрин и небольших хранилищ данных. За ним последует автономный сервис для OLTP-систем и смешанной нагрузки. Планируются отдельные сервисы для работы с графами, документами, NoSQL и т. д.

Еще одной особенностью автономной БД является ее эластичность. Поскольку она работает на IT-инфраструктуре в облаке, пользователь может по мере необходимости увеличивать/уменьшать количество процессоров и дискового пространства, необходимого для решения его задач. Это делается без остановки работы БД, через простой веб-интерфейс. Раз оплата сервиса осуществляется по факту его использования, можно, например, снизить число процессоров до нуля на нерабочие дни, а во время пиковой нагрузки увеличить его до нужного уровня. При увеличении числа используемых процессоров автоматически увеличивается и объем оперативной памяти для автономной БД.

Из концепции автономных БД понятно, что администрированием всего стека (от оборудования до ПО) занимается непосредственно Oracle. Компания отвечает за поддержку оборудования и операционной системы, выпуск патчей, исправление ошибок. Oracle постоянно мониторит системы. Для облегчения управления и сопровождения огромного количества автономных БД они реализуются в виде PDB (Pluggable Database).

Для обеспечения самовосстановления автономная БД создает архитектуру максимальной доступности, необходимую для обеспечения уровня сервиса, заданного пользователем. В зависимости от этих требований она может создать RAC (защита от сбоя узла), архитектуру с резервной (Standby) БД для защиты от катастрофических сбоев, использовать ASM для защиты от сбоя дисков, перестартовывать СУБД в случае сбоя и т д. Патчи и апгрейды не приводят к длительным простоям, так как используют стандартные механизмы Oracle, такие как Rolling RAC Upgrade (последовательное патчирование/апгрейд узлов кластера), краткосрочный логический Standby, Gold Image сервис, создание в оффлайн нового Oracle Home и быстрое переключение на него, Flashback (борьба с человеческими ошибками), online redefinition (изменение приложений на лету) и т. д. Максимальный уровень надежности, который может обеспечить Oracle для автономной, БД - 99,995. Это 2,5 минуты простоя в месяц, или 30 минут простоя в год, включая регламентные работы

Для обеспечения самозащиты автономная БД обязательно шифрует все данные БД, автоматически применяет патчи безопасности по мере их появления, а механизмы машинного обучения и аудит позволяют выявлять внешние атаки и внутренние злонамеренные действия. Можно применять стандартные средства защиты Oracle, такие как шифрование, маскирование данных, сокрытие данных от привилегированных пользователей (Database Vault).

Комментарии: