# Какие бывают виды баз данных?

Базы данных классифицируют по модели хранения и организации данных. Основные виды:

***

### 1️⃣ Реляционные (SQL)

* Данные хранятся в виде **таблиц** (строки и столбцы).
* Используют язык SQL для работы.
* Поддерживают связи между таблицами (foreign key).
* Примеры: **PostgreSQL, MySQL, Oracle, MS SQL Server**.
* Подходят для структурированных данных и транзакций.

***

### 2️⃣ Документные (NoSQL)

* Хранят данные в виде **JSON-подобных документов**.
* Гибкая схема (можно хранить разные поля в разных документах).
* Примеры: **MongoDB, CouchDB**.
* Подходят для хранения данных с динамической структурой (например, профили пользователей).

***

### 3️⃣ Ключ-значение

* Данные хранятся в виде пар **ключ → значение**.
* Очень быстрый доступ.
* Примеры: **Redis, Memcached**.
* Используются для кэша, хранения сессий.

***

### 4️⃣ Графовые

* Данные представлены в виде **вершин и рёбер** (связи).
* Эффективны для задач с большим количеством связей (соцсети, рекомендательные системы).
* Примеры: **Neo4j, ArangoDB**.

***

### 5️⃣ Колонночные

* Данные хранятся по колонкам, а не по строкам.
* Удобно для аналитики и больших выборок по определённым столбцам.
* Примеры: **Apache Cassandra, HBase, ClickHouse**.

***

### 6️⃣ Временные (Time-series)

* Оптимизированы для хранения данных с временными метками.
* Применяются для IoT, мониторинга, метрик.
* Примеры: **InfluxDB, TimescaleDB, Prometheus**.

***

### 7️⃣ Объектные

* Хранят объекты (как в ООП), вместе с их методами и свойствами.
* Пример: **db4o, ObjectDB**.

***

#### Краткая таблица

| Тип БД        | Особенность           | Пример применения          |
| ------------- | --------------------- | -------------------------- |
| Реляционная   | Таблицы и связи       | Банковские системы         |
| Документная   | JSON-документы        | Профили пользователей      |
| Ключ-значение | Быстрый кэш           | Сессии, токены             |
| Графовая      | Связи между объектами | Соцсети, рекомендации      |
| Колонночная   | Хранение по столбцам  | Big Data, аналитика        |
| Временная     | Метки времени         | Логи, метрики              |
| Объектная     | Объекты с методами    | Специализированные системы |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kaze.gitbook.io/qa-theory/bazy-dannykh/kakie-byvayut-vidy-baz-dannykh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
