Хранение и операции с данными
Конспект DAMA DMBOK2 на русском языке
Глава 6
Вебинар-обсуждение
Конспект каждой главы мы сопровождаем онлайн-дискуссией с экспертами по теме

Хранение и операции с данными включают проектирование и реализацию решений для хранения, а также сопровождение хранимых данных с целью получения от них максимальной выгоды.

Введение в тему: ключевые понятия
Основные направления в области хранения и операций с данными
Сопровождение баз данных
→ реализация рабочей среды базы данных (database environment),
→ получение данных,
→ резервное копирование данных,
→ удаление данных,
→ обеспечение оптимальной производительности (включая мониторинг и настройку)
Технологическая поддержка баз данных
→ определение технических требований
→ определение технической архитектуры,
→ развертывание и администрирование,
→ разрешение проблемных вопросов, связанных с технологиями
Типы архитектур баз данных
Базы данных подразделяются на централизованные и распределенные. Централизованная система управляет одной базой данных, а распределенная система — множеством БД, реализованных во множестве систем. Распределенные системы можно разделить на два класса по степени автономности входящих в них компонентов: федеративные и не федеративные.
централизованная
распределенная
федеративная
облачная (виртуализация)
Федеративная архитектура БД позволяет предоставлять пользователям данные из различных источников без усилий по их подготовке или дублирования массивов источников данных. Федеративные базы данных лучше всего подходят для проектов по интеграции гетерогенных и распределенных систем, таких как интеграция корпоративной информации, виртуализация данных, согласование схем и управление основными данными. Базы данных блокчейн (blockchain) — разновидность федеративной базы данных, широко использующуюся для безопасного управления финансовыми транзакциями.
Типы подходов к обработке данных
Подход ACID

появился для СУБД 1970-х годах
→ Неделимость (атомарность — Аtomicity). Выполняются либо все операции транзакции, либо ни одна из них (то есть сбой выполнения любой части транзакции означает сбой выполнения всей транзакции целиком)
→ Согласованность (Consistency). Транзакция должна обеспечивать соответствие базы данных всем правилам, определенным в системе, не завершенные по какой-либо причине транзакции аннулируются.
→ Изолированность (Isolation). Любая транзакция и ее результаты не оказывают влияния на параллельно выполняемые транзакции.
→ Устойчивость (Durability). Завершенная транзакция необратима и не может быть отменена.
Подход BASE

появился для неструктурированных БД в 2000-х годах
→ Базовая доступность (Basic Availability). Система гарантирует сохранение некоторого уровня доступности к данным даже при сбое в работе части узлов.
→ Гибкое состояние (Soft State). Данные пребывают в состоянии постоянного изменения; полученный ответ на запрос не гарантирует соответствия предоставляемых сведений действи- тельности.
→ Отложенная согласованность (Eventual Consistency). В конечном итоге данные будут согласованы по всем узлам и во всех базах системы, но непротиворечивость данных для всех транзакций и в любой момент времени не гарантирована.
Теорема CAP (она же теорема Брюера) для распределенных систем
Положения теоремы говорят о том, что для распределенной системы не может быть обеспечено одновременное выполнение всех требований ACID в любой момент времени. Более того, чем крупнее система, тем хуже эти требования соблюдаются, соответственно, в распределенных системах приходится искать компромиссные решения, позволяющие сбалансировать три свойства:

  • Согласованность (Consistency). Система должна работать корректно и предсказуемо в любой момент времени
  • Доступность (Availability). Система должна бесперебойно принимать запросы и отвечать на них.
  • Устойчивость к разделению (Partition Tolerance). Система должна сохранять работоспособность в случаях частичной потери данных или отказов отдельных компонентов.
Средства хранения данных
→ Дисковые накопители. Жесткие диски обеспечивают надежное долгосрочное хранение данных.
→ БД в оперативной памяти (In-Memory Databases, IMDB). Все процедуры обработки данных происходят без обращения к жестким дискам.
→ Решения со сжатием по колонкам. Созданы для данных с множеством повторяющихся значений.
→ Флэш-память (SSD). Твердотельные накопители (Solid State Drives, SSDs) стали привлекательной альтернативой жестким дискам.
Среды баз данных
Базы данных на протяжении жизненного цикла разработки систем используются в различных средах.

→ Среда эксплуатации — это рабочая среда, в которой протекают все бизнес-процессы.
→ Предэксплуатационная среда нужна для проведения разработки, тестирования и обкатки изменений до их реализации в эксплуатационной среде.
→ Среда разработки обычно представляет собой облегченную версию эксплуатационной среды, с меньшим объемом физической и оперативной памяти. Также используется для проверки качества, пользовательского приемочного тестирования, тестирование производительности.
→ Экспериментальная среда («песочница») — альтернативная среда, предоставляемую в распоряжение пользователей, допускающая подключение к данным находящихся в эксплуатации систем только на чтение. Пользователи «песочницы» часто имеют права на создание, чтение, обновление и удаление данных внутри своего сегмента. Поэтому, они могут быстро тестировать и проверять свои идеи, не влияя на основную среду эксплуатации.
Процессы обработки данных
→ Архивирование. Перемещение данных из операционной среды на носители, не поддерживающие прямого доступа к данным.
→ Прогнозирование роста требуемой емкости БД
→ Регистрация изменений данных (Change Data Capture, CDC) – процесс выявления факта изменений и сохранения исчерпывающей информации о них.
→ Стирание данных. Избавляет от дальнейших издержек и рисков, связанных с хранением ненужных данных
→ Репликация данных. Означает, что одни и те же данные хранятся на многих запоминающих устройствах. Чтобы понять, что такое репликаиция, и зачем может быть нужна онлайн-репликация данных смотрите короткий ролик с объяснениями:
→ Отказоустойчивость и восстановление работоспособности. Немедленное, критическое и некритическое восстановление
→ Сохранение данных. Выработка решений, как долго храним данные
→ Сегментирование данных. Разбиение базы данных на независимые друг от друга полностью изолированные небольшие блоки (мелкие части — shards), каждый из которых может обновляться независимо от других блоков.

Проводимые работы по управлению базами данных
Главной эталонной моделью в области управления информационными технологиями на сегодняшний день остается библиотека инфраструктуры информационных технологий (Information Technology Infrastructure Library, ITIL) — процессная модель, созданная в Великобритании. Принципы ITIL полностью применимы и к управлению технологиями баз данных.
Сопровождение баз данных можно назвать «сердцем» управления данными. База данных размещается в управляемой среде хранения данных (managed storage). Управляемая среда хранения может быть небольшой или же очень объемной, как RAID-массивы в сети хранения данных (SAN). Накопители с резервными копиями баз данных также относятся к управляемым средам хранения.

Администраторы баз данных управляют различными ПО, работающими со средами хранения, посредством подготовки структур данных, осуществления технического сопровождения физических баз данных (включая физические модели и физические представления данных), установки и конфигурирования СУБД на серверах.
Инструменты для управления данными
Для моделирования данных
Все, что помогает настроить модели хранения данных: функционалы проверки соблюдения стандартов наименований, хранилища метаданных, и некоторые поддерживают даже и веб-публикацию
Для мониторинга баз данных
Все, что позволяет автоматизировать отслеживание ключевых измеримых показателей: производительности, доступности, кэширования, статистики обращений и т. п. — и уведомлять администраторов БД и сетей хранения о проблемах
Для управления конфигурацией баз данных
Все, что помогает поддерживать согласованное управление множественными базами данных
Для разработки приложений
Все, что оказывает поддержку разработки приложений — графический интерфейс для подключения к базам данных и исполнения команд в их среде
Рекомендации
Тестирование в средах более низкого уровня
Не устанавливайте никаких обновлений или исправлений в bsp;эксплуатационной среде, не протестировав их предварительно в самой низкоуровневой среде
Стандарты именования для физической модели данных
Последовательность и согласованность наименований способствует взаимопониманию. Архитекторы данных, разработчики и администраторы БД могут согласовывать стандартные наименования либо через определения метаданных, либо через выработку правил.
Использование сценариев для изменений
Вносить любые правки в БД рискованно, однако бывает необходимо. В таких случаях полезно бывает записать планируемые изменения в файл сценария и тщательно протестировать процедуру и результаты замены в предэксплуатационных средах, прежде чем вносить эти изменения в среду эксплуатации.
Оценка рисков
Обязательно проработайте два важнейших аспекта работы с данными — риск потери данных и риск, связанный с вопросами технологической готовности.
Культурная готовность
Администраторы БД зачастую не умеют эффективно доносить до организации понимание цен- ности их работы. Чтобы изменить эту ситуацию, им нужно для начала самим научиться понимать обоснованные тревоги владельцев и потребителей данных, сбалансированно учитывать их текущие и долгосрочные нужды, разъяснять сотрудникам организации важность высококачественного управления данными.

Нужно проявлять готовность обсуждать, помогать и действовать совместно со всеми заинтересованными сторонами.
Метрики для отслеживания
Метрики хранения данных
→ количество баз данных по типам
→ сводную статистику транзакций
→ объем и процент занятого данными пространства на устройствах хранения
→ количество физических устройств хранения данных
→ интенсивность использования сервисов хранения данных
→ распределение запросов по сервисам хранения данных
→ производительность приложений, использующих сервис
Метрики производительности
→ частоту и количество транзакций
→ скорость обработки запросов
→ производительность интерфейса прикладного программирования (API).
Операционные метрики
→ сводную статистику по затратам времени на поиск запрашиваемых данных;
→ размер резервной копии
→ измеримые показатели качества данных
→ показатели доступности системы
Метрики качества обслуживания
→ количество выявленных, решенных и делегированных проблем с разбивкой по типам
→ среднее время устранения одной проблемы
Подписывайтесь на новые выпуски проекта
Получайте обновления конспекта DMBOK2 себе на почту по мере их публикации
Подпишитесь на новые конспекты
И получайте их себе на почту по мере их выхода