[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for YDB](../index.md) > [Концепции](index.md) > Режимы работы OLTP или OLAP

# Режимы работы OLTP или OLAP

При работе с базами данных выделяют два основных сценария: On-line Transaction Processing (Онлайн обработка транзакций, [OLTP](../../glossary/oltp.md)) и On-line Analytical Processing (Онлайн аналитическая обработка, [OLAP](../../glossary/olap.md)).

Режим OLTP ориентирован на быстрое выполнение большого потока транзакций, каждая из которых обрабатывает сравнительно небольшой объем данных. А режим OLAP в основном предназначен для анализа данных с более низким относительно OLTP числом транзакций, но со значительно большим объемом обрабатываемых данных.

Режимы работы OLTP и OLAP доступны как для бессерверного режима, так и для режима с выделенными инстансами Yandex Managed Service for YDB.

## Режим работы OLTP

Используемые в OLTP-нагрузках данные рекомендуется хранить в [строковых таблицах](https://ydb.tech/docs/ru//concepts/datamodel/table#row-oriented-tables).

Строковые таблицы лучше всего подходят для OLTP-нагрузок с большим количеством коротких транзакций и высоким числом параллельных пользователей, когда нужно быстро читать или изменять целые сущности (строки) — по ключу, с частыми `INSERT`/`UPDATE`/`DELETE`. Такой формат минимизирует I/O при доступе к полной записи, хорошо работает с индексами, ограничениями и транзакциями (ACID), обеспечивая низкую задержку и целостность данных. Он оптимален для оперативных систем — интернет-магазинов, банковских и биллинговых приложений, CRM/ERP, систем бронирования — где типичные запросы затрагивают немного строк, но множество столбцов.

Режим работы OLTP идентичен в бессерверном режиме и в режиме с выделенными инстансами Yandex Managed Service for YDB.

{% note warning %}

В базах данных Yandex Managed Service for YDB, работающих в режиме OLTP, нельзя создавать колоночные таблицы.

{% endnote %}

## Режим работы OLAP

Базы данных OLAP предназначены для аналитической обработки данных. С их помощью удобно решать задачи периодического анализа данных, строить [витрины данных](../../glossary/datamart.md) или выполнять любые другие аналитические задачи.

{% note warning %}

При работе внутри одной базы данных OLAP- и OLTP-нагрузки делят общие ресурсы базы данных, при этом профили использования ресурсов базы данных для OLAP- и OLTP-нагрузок существенно отличаются друг от друга. Не рекомендуется объединять в рамках одной базы данных production нагрузки разных типов из-за взаимовлияния профилей нагрузки друг на друга.

{% endnote %}

Используемые в OLAP-нагрузках данные рекомендуется хранить в [колоночных таблицах](https://ydb.tech/docs/ru//concepts/datamodel/table#column-oriented-tables).

Колоночные таблицы YDB хранят данные каждого столбца отдельно (независимо) от других столбцов. Такой принцип хранения данных оптимизирован для использования в OLAP-сценариях, так как при построении аналитических отчетов часто используются лишь несколько столбцов исходных данных и колоночное хранение позволяет считывать с дисков только те столбцы, которые непосредственно участвуют в запросе. Еще один плюс такого подхода — высокая степень сжатия данных, так как в рамках каждого столбца зачастую хранятся повторяющиеся или близкие данные. Минусом является то, что выполнение операций над полными строками становится более затратным из-за необходимости восстанавливать их на лету из отдельных ячеек.

OLAP-режим доступен в Yandex Managed Service for YDB как для бессерверного режима, так и для режима с выделенными инстансами. Для режима с выделенными инстансами OLAP-функциональность доступна на стадии [General Availability](../../overview/concepts/launch-stages.md). Для бессерверного режима OLAP реализован как экспериментальная beta-функция (OLAP/Analytics β) и находится на стадии Preview.

В режиме работы OLAP каждому узлу YDB выделяется больший объем оперативной памяти, чем в режиме OLTP, что необходимо для выполнения аналитических запросов с большим объемом данных. Если объем обрабатываемых данных в запросе превышает объем оперативной памяти, YDB использует [спиллинг](resources.md#spilling) — записывает промежуточные результаты выполнения аналитических запросов на диск.

{% note warning %}

- В настоящий момент использование бессерверных баз данных `OLAP (Analytics β)` не тарифицируется. Оплачивается только используемый объем хранения данных по тарифам [Serverless Yandex Managed Service for YDB](../pricing/serverless.md#rules-storage).
- Временное хранилище (спиллинг) в выделенных (dedicated) базах данных тарифицируется отдельно. Смотрите [Правила тарификации для режима Dedicated в Managed Service for YDB](../pricing/dedicated.md).
- Максимальное количество параллельно выполняемых запросов в выделенных (dedicated) базах данных в режиме OLAP по умолчанию равно 10. Данное ограничение задаётся параметром `CONCURRENT_QUERY_LIMIT` в [пуле ресурсов](https://ydb.tech/docs/ru//concepts/glossary#resource-pool) `olap`. Вы можете изменить его самостоятельно. Об управлении потреблением ресурсов в YDB читайте в [документации](https://ydb.tech/docs/ru//dev/resource-consumption-management).

{% endnote %}

## Смотрите также {#see-also}

* [Описание строковых таблиц](https://ydb.tech/docs/ru//concepts/datamodel/table#row-oriented-tables)
* [Описание колоночных таблиц](https://ydb.tech/docs/ru//concepts/datamodel/table#column-oriented-tables)
* [Выбор первичного ключа таблицы](https://ydb.tech/docs/ru//dev/primary-key)