База данных — это компьютеризированная система, содержащая организованную информацию. Она облегчает поиск, обработку и фильтрацию данных.
Базы данных существуют задолго до компьютеров. Раньше данные хранились в журналах, библиотеках и картотеках — всё было записано на бумаге, занимало много места и с трудом поддавалось резервному копированию. С появлением компьютеров открылись принципиально новые возможности.
База данных — не единственный способ хранения информации, но один из самых эффективных. Наряду с хранением информации она облегчает управление данными и их осмысление.
В отличие от файлов, не нужно загружать весь документ целиком — извлекается только нужная запись.
Данные как ценный ресурс
Данные — бесценный ресурс для современного бизнеса, но их также сложно собирать, использовать и защищать. Полезность данных зависит от различных условий и процессов, которые обеспечивают их качество и актуальность.
Данные поступают из разных источников: других баз данных, мониторинговых систем, анализа поведения, статистики. Инструменты: программы автоматизации, парсеры, счётчики и люди. На этом этапе создаются новые данные и получаются данные из внешних источников.
⚠️ Важно
Знание жизненного цикла данных помогает распознавать возможности для автоматизации на каждом этапе — от сбора до удаления.
1 - Реляционные базы данных
Организуют данные в таблицы (сущности) из строк и столбцов. Каждая строка — это кортеж (экземпляр сущности), каждый столбец — атрибут. Таблицы связаны через ключи, что позволяет делать сложные запросы.
📌 Ключевые понятия
Таблица = сущность · Строка = кортеж · Столбец = атрибут · Первичный ключ = уникальный идентификатор строки
2 - Нереляционные (NoSQL) базы данных
Не используют таблицы. Хранят неструктурированные данные: документы, изображения, JSON. NoSQL расшифровывается как «Not Only SQL» — они могут поддерживать SQL, но не ограничены им.
🌲 Пример графовой БД
Семейное дерево — упрощённый пример: Узлы = люди, Рёбра = родственные связи между ними.
Моделирование данных
Если вы не уверены в выборе — используйте моделирование. Начните с концептуальной модели: определите сущности, атрибуты и связи. По мере проработки станет очевидно, какая структура данных подходит лучше всего.
Когда нужно несколько баз данных
Иногда одной базы недостаточно. Например: реляционная СУБД как основное хранилище + Elasticsearch для полнотекстового поиска. В таком случае важно выбрать каноническую базу данных — ту, которая «владеет» данными. Остальные хранят лишь копии.
⚠️ Правило нескольких БД
При использовании нескольких баз одна всегда должна быть каноническим источником истины. Обновления в копиях производятся только вслед за изменениями в канонической базе.