Перейти к главному контенту

Что такое хранение в базе данных?

Что такое хранение в базе данных?

Данные можно хранить в базе данных для последующего извлечения и анализа. Существует множество разных вариантов хранения в базе данных с различными компромиссами между контролем и гибкостью. В этом руководстве рассматриваются различные модели хранения данных в AWS и предлагаются рекомендации по выбору наиболее подходящей для конкретного примера использования.

Все цифровые данные должны храниться где-то на физическом устройстве, например в оперативной памяти, кэше, регистрах, на твердотельных накопителях (SSD) или жестких дисках (HDD), в сетевых хранилищах данных (NAS) и сетях хранения данных (SAN) либо в других типах физических хранилищ. Хранение данных в облаке основано на базовых физических устройствах, которые используют виртуализацию для логического хранения данных.

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

Как выполняется хранение в реляционной базе данных?

В реляционных базах данных данные хранятся в формате таблицы, состоящей из строк и столбцов, где каждая строка представляет собой запись, а каждый столбец в этой записи – атрибут. Структура данных таблицы базы данных позволяет хранить общие, повторяющиеся и связанные записи, такие как сведения о клиентах или записи о покупках. Между любыми двумя таблицами можно установить связь: запись о покупке можно связать с соответствующим клиентом.

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

Хранение реляционных баз данных и их базовых структурированных данных зависит от того, какая система управления реляционными базами данных (RDBMS) была использована для создания базы данных, поскольку у разных программных продуктов свой подход к хранению данных. Некоторые примеры: SQL Server, MySQL, PostgreSQL, Oracle и MariaDB.

Хранение в управляемой реляционной базе данных

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

Amazon Relational Database Service

Amazon Relational Database Service (RDS) – это управляемый сервис для таких систем, как PostgreSQL, MySQL, MariaDB, SQL Server, Oracle и Db2. Amazon RDS выполняет задачи по управлению базами данных, такие как выделение ресурсов, внесение исправлений, резервное копирование, восстановление, обнаружение и устранение сбоев. Кроме того, его можно легко настроить и развернуть.

Для хранения Amazon RDS предлагает на выбор три разных базовых типа томов Эластичного блочного хранилища Amazon (Amazon EBS):

  • универсальное хранилище на основе SSD для большинства рабочих нагрузок баз данных;
  • высокопроизводительное хранилище с выделенными IOPS на основе SSD; 
  • магнитные носители данных для обратной совместимости.

Amazon Aurora

Amazon Aurora – это оптимизированный для облака управляемый сервис для реляционных баз данных PostgreSQL, MySQL и DSQL. Сервис Aurora предназначен для максимального использования всех преимуществ облачных конфигураций, включая кластеризацию и распределение. Он обеспечивает более высокую производительность, доступность и отказоустойчивость по сравнению с классическими облачными сервисами RDBMS.

Что касается хранения, данные Amazon Aurora хранятся в кластерном томе – специальном едином виртуальном томе, который поддерживается SSD. Эти данные реплицируются в трех разных зонах доступности в регионе AWS для обеспечения максимальной целостности и избыточности данных. Amazon Aurora DSQL обеспечивает многорегиональную избыточность для сохранения доступа к данным в случае недоступности регионального адреса. Поскольку хранилище Aurora является собственным, оно предоставляет настраиваемые конфигурации с полным автомасштабированием и полностью управляется AWS, что устраняет необходимость в настройке хранилища на уровне пользователей.

Хранение в самоуправляемой реляционной базе данных

Самоуправляемая RDBMS и хранение в AWS охватывают классические задачи системного администрирования и управления базами данных. Эти задачи требуется выполнять не в физической, а в облачной инфраструктуре.

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

В качестве базовой системы хранения можно выбрать Amazon EBS, Amazon Elastic File System (EFS) для полностью эластичного хранения и временные хранилища инстансов. В зависимости от потребностей базы данных можно выбирать между большими и малыми томами для хранения.

Как выполняется хранение в нереляционной базе данных?

Нереляционные базы данных, также называемые базами данных NoSQL, хранят, обрабатывают и моделируют данные иначе, чем реляционные базы данных, используя другие структуры данных. Множество нереляционных баз данных поддерживают разные примеры использования, причем каждое хранилище данных имеет собственную структуру базы данных.

К нереляционным базам данных относятся: базы данных типа «ключ-значение», базы данных документов, базы данных с широкими столбцами, графовые базы данных, базы данных в памяти и базы данных поиска.

Управляемые нереляционные базы данных

AWS предлагает ряд управляемых сервисов для каждого типа нереляционных баз данных.

  • Amazon DynamoDB – это управляемый сервис хранилища типа «ключ-значение» и базы данных документов, который использует настраиваемое распределенное хранилище на основе SSD.
  • Amazon DocumentDB (совместимость с MongoDB) – это собственный управляемый сервис базы данных документов JSON, который использует настраиваемое распределенное хранилище на основе SSD.
  • Amazon Keyspaces (для Apache Cassandra) – это совместимый с Apache Cassandra управляемый сервис базы данных с широкими столбцами, который использует настраиваемое распределенное хранилище на основе SSD.
  • Amazon Neptune – это управляемый сервис графовой базы данных с настраиваемым распределенным хранилищем на основе SSD.  
  • Amazon MemoryDB – это совместимый с Valkey и Redis OSS сервис базы данных в памяти с настраиваемым распределенным хранилищем на основе SSD. 
  • Amazon ElastiCache – это сервис кэширования в памяти, совместимый с кэшем в памяти Valkey, Redis и Memcached, который поддерживается оперативной памятью и носителями данных EBS.  

Amazon DynamoDB, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune и Amazon MemoryDB используют настраиваемые собственные типы хранилищ на основе SSD.

Хотя сервис Amazon ElastiCache использует хранилище EBS, он не предлагает варианты на основе хранилища или доступ пользователей к хранилищу на уровне файлов. ElastiCache – это нереляционная база данных типа кэша.

Самоуправляемые нереляционные базы данных

Настройка и хранение нереляционных баз данных в AWS осуществляется по той же схеме инфраструктуры, что и для реляционных баз данных. 

Инстансы EC2 можно использовать для запуска баз данных NoSQL любого типа, включая MongoDB, Redis и HBase. Базовые данные можно хранить в Amazon EBS, в Amazon Elastic File System (EFS) для полностью эластичного хранения и во временных хранилищах инстансов, в зависимости от примера использования.

Какие еще существуют типы хранения в базе данных?

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

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

Как выбрать тип хранения в базе данных?

Варианты хранения данных зависят от того, выберете ли вы управляемый сервис базы данных или самоуправляемый сервис.

Полный контроль среды

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

Снижение накладных расходов

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

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

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

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

Как AWS может удовлетворить ваши потребности в хранении в базе данных?

С управляемыми сервисами баз данных хранение в базе данных в AWS становится проще. Каждый управляемый сервис берет хранение данных на себя и эффективно обрабатывает их без дополнительной настройки со стороны администраторов. При использовании управляемых сервисов облако AWS становится бесконтактным диспетчером хранения данных.

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

Выполняете ли вы миграцию MySQL или создаете новое хранилище данных типа «ключ-значение», вам будет полезно ознакомиться с вариантами баз данных в AWS

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