Дані та аналітика
Що таке база даних?
База даних (database) — це впорядковане сховище інформації, у якому дані можна швидко знаходити, змінювати і надійно зберігати, навіть коли з ними одночасно працює багато користувачів. Керує базою окрема програма — СКБД (система керування базами даних), наприклад PostgreSQL або MySQL.
У реляційних базах дані зберігаються в таблицях із чіткою структурою, а зв’язки між таблицями задаються явно: замовлення посилаються на клієнтів, товари — на категорії. До таких баз звертаються мовою SQL.
У нереляційних (NoSQL) базах структура гнучкіша: документи, пари «ключ — значення», графи. Їх обирають, коли наперед невідомо, якими будуть дані, або коли потрібна швидкість на дуже великих обсягах.
Головна відмінність бази даних від звичайного файлу — гарантії. Вона захищає дані від втрати під час збою, не дозволяє двом користувачам зіпсувати один запис і працює швидко навіть на мільйонах рядків.
Де застосовується
База даних є в кожному застосунку, якому треба щось пам’ятати: інтернет-магазин зберігає товари й замовлення, банк — рахунки та операції, CRM — угоди й листування. Структуру бази проєктує бекенд-розробник, а підтримують її адміністратор баз даних і DevOps-інженер.
Тип бази обирають під задачу. PostgreSQL і MySQL використовують для основної логіки, де важлива цілісність даних. Redis ставлять поруч як швидкий кеш, MongoDB — для документів із непередбачуваною структурою, а векторні бази з’явилися в AI-проєктах для пошуку за змістом.
Приклад
Два менеджери одночасно оформлюють останню одиницю товару. База не дозволить обом списати той самий залишок: операція другого дочекається завершення першої і закінчиться помилкою. Якби дані зберігалися у файлі, магазин продав би товар двічі.
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name VARCHAR(120) NOT NULL,
email VARCHAR(160) UNIQUE NOT NULL
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
customer_id INT NOT NULL REFERENCES customers(id),
total NUMERIC(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT now()
);
Часті запитання
Чим база даних відрізняється від файлу Excel?
Гарантіями та масштабом. База не дозволить двом людям зіпсувати один запис, збереже дані при відключенні живлення, перевірить правильність зв’язків і швидко працюватиме з мільйонами рядків. Таблиця Excel цього не гарантує і розрахована на одну людину.
Що обрати: SQL чи NoSQL?
Якщо дані мають зрозумілу структуру і зв’язки між ними важливі — гроші, замовлення, документи, — обирають реляційну базу. NoSQL доречна, коли структура даних заздалегідь невідома, обсяги дуже великі, а частиною гарантій можна пожертвувати заради швидкості. У великих системах їх часто поєднують.
Що таке індекс і навіщо він потрібен?
Це додаткова структура, яка допомагає знаходити рядки без перегляду всієї таблиці — як алфавітний покажчик у книзі. Індекси значно прискорюють пошук, але сповільнюють запис і займають місце, тому їх створюють лише для потрібних полів.
Що таке СКБД?
Система керування базами даних — програма, яка зберігає дані й обробляє запити до них: PostgreSQL, MySQL, MS SQL Server, Oracle. У розмовах «база даних» і «СКБД» часто плутають, хоча база — це самі дані, а СКБД — програма, яка ними керує.
Навчання аналітиці даних в OWU
Опануйте професію аналітика даних на практичних курсах із менторами та реальними проєктами.
Обрати курс