Создание вашей базы данных на AWS (часть 4)

Опубликовано: 7 Марта, 2023
Создание вашей базы данных на AWS (часть 4)

  • Создание базы данных на AWS (часть 2)
  • Создание вашей базы данных на AWS (часть 3)

Введение

В первой части этой серии мы обсудили эволюцию цифровой базы данных, а также преимущества и недостатки DBaaS (база данных как услуга) и представили краткий обзор Amazon Relational Database Service (RDS). Во второй части мы продолжили это обсуждение, изучив, как работать с экземпляром RDS в виртуальном частном облаке (VPC) и как переместить экземпляр базы данных в VPC, если он еще не находится в нем. В части 3 мы говорили о сервисах DynamoDB от Amazon, которые станут вашим выбором базы данных для менее структурированных и менее предсказуемых данных, которые не подходят для традиционной табличной модели на основе SQL.

Становимся большими: хранилище данных в облаке

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

Хранилища данных существуют по крайней мере с 1980-х годов, но концепция эволюционировала — от автономных хранилищ данных к хранилищам данных в реальном времени, к интегрированным хранилищам данных, а теперь и к облачным хранилищам данных.

Для тех организаций, чьи хранилища данных и базы данных нуждаются в расширении до диапазона петабайт, у Amazon Web Services есть услуга. Он называется RedShift и дает вам возможность хранить огромные объемы данных в облаке экономичным способом и получать преимущества от полностью управляемого решения без ущерба для производительности или безопасности.

Создание и обслуживание традиционного хранилища данных может быть непомерно дорогим. Предварительные и текущие затраты, связанные с приобретением физического пространства и большого количества оборудования, необходимого для хранения и обработки нескольких терабайтов или петабайтов данных, представляют собой огромные инвестиции даже при бюджете успешного предприятия. Несмотря на то, что затраты на единицу хранения продолжают снижаться, объем собираемых нами данных растет еще более быстрыми темпами.

Предполагая, что все эти данные не будут просто храниться в архивах, а будут фактически использоваться, для достижения максимальной функциональности и производительности вам потребуется среда параллельной обработки, чтобы индексирование, кэширование, доступ, анализ и выполнение обычные операции (создание, обновление, удаление) данных можно выполнять быстро. Но реализация крупномасштабной параллельной обработки стоит дорого.

Вы также должны принять во внимание тот факт, что инфраструктура — это не единственная стоимость, которая будет расти в геометрической прогрессии по мере увеличения объема данных. Административные расходы также увеличатся. Надлежащее управление хранилищем данных требует определенного количества сотрудников, а расходы на персонал могут быть еще одним очень дорогостоящим фактором. Конечно, еще до того, как вы начнете строить свое хранилище данных, у вас есть расходы на консультации и проектирование; последнее, что вам нужно, — это массивное хранилище данных, которое «просто так выросло».

После того, как у вас будет инфраструктура хранилища данных, будут довольно большие первоначальные затраты в виде ETL (извлечение, преобразование и загрузка), что относится к процессу преобразования данных из ваших устаревших приложений в среду хранилища данных.. Конечно, вам также придется оплатить серверные операционные системы, базу данных и программное обеспечение для управления данными. Если все эти затраты кажутся непомерными, имеет смысл рассмотреть в качестве альтернативы облачное хранилище данных.

Но сначала: факторы, которые следует учитывать перед переносом хранилища данных в облако

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

Конечно, одним из важных соображений является безопасность. Вам необходимо оценить риск размещения вашей информации в облаке на основе ее конфиденциальности. Если ваша организация работает в регулируемой отрасли, вы также должны подумать о требованиях соответствия и о том, может ли ваш поставщик облачных услуг выполнить их.

Помимо безопасности, одной из самых больших проблем, связанных с облачными хранилищами данных, является производительность. Скорость подключения к Интернету с годами увеличилась до поразительной степени, но все еще отстает и, вероятно, всегда будет отставать от скорости передачи, которая может быть достигнута в локальной сети. Однако скорость передачи по сети — не единственное, что влияет на скорость доступа к хранимым данным. Существуют «уловки торговли», которые облачные провайдеры могут использовать, чтобы предоставить вам общую производительность, которая выше, чем у традиционной базы данных.

Объем данных, которые вы будете хранить, и количество данных, которые будут загружаться ежедневно или еженедельно, — это еще несколько моментов, о которых следует подумать в процессе принятия решений. У некоторых облачных провайдеров есть ограничения на максимальную емкость, которые могут превышать ваши потребности. В других случаях, если вы только начинаете работу с хранилищем данных, у некоторых поставщиков минимальная емкость, за которую вы должны платить, может превышать требуемую.

Первый взгляд на Amazon Redshift

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

Например, Amazon Redshift позволяет начать работу с хранилищем данных с одним узлом и объемом хранилища 160 ГБ. Вы можете полностью масштабироваться до конфигурации с несколькими узлами 1,6 ПБ по мере расширения ваших потребностей. И, конечно же, как и в случае с большинством сервисов AWS, вы можете воспользоваться бесплатной пробной версией, чтобы оценить, подходит ли вам Redshift. Если у вас уже есть учетная запись AWS, вы можете легко зарегистрироваться в Redshift через Консоль управления AWS или создать новую учетную запись и зарегистрироваться на веб-странице Amazon Redshift.

Безопасность контролируется с помощью групп безопасности кластера Redshift. Используя принцип наименьших привилегий, кластеры по умолчанию полностью заблокированы (никто не имеет доступа). Вы должны создать группы безопасности и связать их с кластером, чтобы предоставить пользователям доступ. Группа безопасности по умолчанию создается при создании первого кластера, но она пуста. Вам нужно добавить правила входящего доступа в группу безопасности, и вы можете создать свои собственные группы безопасности для более точного управления входящим трафиком, если вы не хотите предоставлять одинаковый доступ всем пользователям.

Вы можете включить шифрование базы данных, чтобы защитить хранящиеся в хранилище данные, когда они находятся в состоянии покоя; это зашифрует активный кластер и любые резервные копии, включая системные метаданные, с помощью шифрования AES 256. Это необязательно, но рекомендуется, и, конечно, если ваши данные каким-либо образом являются конфиденциальными и/или если вы работаете в регулируемой отрасли, шифрование ваших данных является обязательным. Конечно, недостатком шифрования является то, что оно негативно влияет на производительность.

Говоря о производительности, Amazon утверждает, что производительность «до десяти раз» выше, чем у традиционных баз данных для складских и аналитических рабочих нагрузок. Это связано с тем, что они используют столбчатое хранилище данных, передовую технологию сжатия и массово-параллельную обработку (MPP), которая автоматически распределяет данные и запросы по нескольким узлам (если в вашем кластере несколько узлов).

Хранилище данных — сложная тема, поэтому вам, возможно, придется немного изучить ее, чтобы ознакомиться с номенклатурой и понятиями. Amazon пытается сделать это как можно проще, но вам нужно знать, например, разницу между ведущим узлом (который получает запросы клиентов, анализирует их и создает планы выполнения) и вычислительным узлом (который отвечает за перенос данных). выполнение шагов, описанных в плане выполнения, и отправка результатов обратно на ведущий узел, который агрегирует данные и возвращает их клиентским приложениям).

Существует также еще одно различие между плотным хранилищем и плотными вычислительными узлами. Как следует из их названий, первый оптимизирован для максимального хранения данных, а второй — для максимальной производительности для ваших рабочих нагрузок.

Вы должны понимать все это, потому что частью настройки вашего кластера хранилища данных Redshift является указание количества узлов и типов узлов, которые будут составлять ваш кластер, а тип узла определяет его емкость хранилища, память и ресурсы ЦП. В кластере может быть всего 1 узел (в зависимости от размера узла; не все размеры позволяют создавать кластеры с одним узлом). С другой стороны, в кластере может быть до 128 узлов (в зависимости от типа узла), но по умолчанию существует ограничение в 16 узлов на регион (на учетную запись). Однако вы можете запросить больше.

Резюме

В этой части 4 нашей серии статей о базах данных AWS в облаке мы кратко рассмотрели Amazon Redshift и то, как его можно использовать для хранения данных без очень больших инвестиций, необходимых для настройки и обслуживания традиционных хранилищ данных организациями с огромные объемы данных для хранения и анализа. На этом наша серия завершается, и я надеюсь, что она поможет вам понять некоторые варианты, доступные для вас, если вы планируете перенести свои базы данных на AWS.

  • Создание базы данных на AWS (часть 2)
  • Создание вашей базы данных на AWS (часть 3)