Пропустить навигацию

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

Определения, типы и примеры баз данных

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

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

Для чего используются базы данных?

Базы данных используются для хранения и упорядочения данных, чтобы упростить управление ими и доступ к ним. Так как набор таких данных растет и работа с ними усложняется, становится гораздо труднее организовать их, а также обеспечить их доступность и безопасность. Для этого используются системы управления базами данных (СУБД), которые включают в себя слой средств управления.

Что такое данные?

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

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

Типы баз данных

В целом базы данных делятся на реляционные и нереляционные. Реляционные базы данных хорошо структурированы и поддерживают язык SQL (Structured Query Language). Нереляционные базы данных отличаются большим разнообразием и поддерживают различные структуры данных. Так как многие нереляционные базы данных не используют язык SQL, их часто называют базами данных NoSQL.

Типы структур данных

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

В линейных структурах элементы объединяются в последовательность.

Массив

Связанный список

Двоичное дерево

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

Граф

В графовой структуре элементы упорядочены в виде неиерархической сети узлов со сложными связями между ними.

Хэш-таблица

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

Документоориентированные базы данных

В документоориентированной базе данных большие объемы информации об одной сущности объединены в один объект (документ), отделенный от других объектов. Объекты необязательно должны быть сопоставлены друг с другом. Это позволяет изменить один такой объект, не затрагивая другие.

Реляционные базы данных

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

Примеры реляционных баз данных: SQL Server, Azure SQL, MySQL, PostgreSQL и MariaDB.

Нереляционные базы данных

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

Примеры нереляционных баз данных: MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis и Neo4j.

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

Для одного из типов нереляционной базы данных — базы данных объектов — используется объектно-ориентированное программирование. Объекты кодируются с данными о состоянии (фактические данные), которые хранятся в поле или переменной, и поведении, которые можно отобразить с помощью метода или функции. Объекты могут храниться в постоянном хранилище, а также считываться и сопоставляться напрямую без использования API или какого-либо средства. Это обеспечивает более быстрый доступ к данным и более высокую производительность. При этом базы данных объектов не так популярны, как другие типы баз данных, и их обслуживание может оказаться сложной задачей.

Выполняющиеся в памяти базы данных и кэши

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

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

Примеры баз данных

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

Финансовые транзакции

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

Каталоги для электронной коммерции

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

Социальные сети

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

Персонализированные результаты поиска

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

Бизнес-аналитика

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

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

Для управления данными администраторы баз данных используют системы управления базами данных (СУБД), особенно при работе с большими данными. Большие данные — это огромные объемы структурированных и неструктурированных данных, которые система часто получает в реальном или почти реальном времени. СУБД также помогает управлять данными, которые используются в нескольких приложениях, или данными, находящимися в нескольких расположениях.

Разные системы управления предлагают разные уровни организации, масштабируемости и применения. При выборе СУБД учитывается не только тип упорядочиваемых данных и способ доступа к ним, но и место расположения данных, тип архитектуры базы данных и способ масштабирования.

Где расположены ваши данных: в облаке, локально или в обеих средах?

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

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

Ваша база данных имеет централизованную, распределенную или федеративную архитектуру?

В централизованной базе данных все данные находятся в одной системе. Эта единая система — точка доступа для всех пользователей.

Распределенная база данных может охватывать реляционные и нереляционные базы данных. В распределенных базах данных данные хранятся в нескольких физических расположениях — на нескольких локальных компьютерах или в сети взаимосвязанных компьютеров.

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

Какое масштабирование вы будете использовать при увеличении объема данных: вертикальное или горизонтальное?

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

Горизонтальное увеличение (или уменьшение) масштаба реализуется путем добавления (удаления) компьютеров в пуле ресурсов.

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

Базы данных Azure

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

Знакомство с семейством баз данных Azure SQL

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

Уверенное масштабирование с использованием Базы данных Azure для PostgreSQL

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

Подробнее об Azure PostgreSQL

Создание высокопроизводительных приложений с использованием Azure Cosmos DB

Azure Cosmos DB — это полностью управляемая база данных NoSQL с открытыми API и гарантированной скоростью для любого масштаба.

Подробнее об Azure Cosmos DB

Эффективная обработка больших объемов трафика с помощью Кэша Azure для Redis

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

Подробнее о Кэше Azure для Redis