Ответ
OLTP (Online Transaction Processing) — это класс систем, предназначенных для обработки большого количества коротких оперативных транзакций в реальном времени.
Характеристики OLTP-систем:
- Многочисленные короткие транзакции: Например, добавление товара в корзину, списание средств, регистрация пользователя.
- ACID-гарантии: Обеспечивают целостность данных.
- Atomicity (Атомарность)
- Consistency (Согласованность)
- Isolation (Изолированность)
- Durability (Долговечность)
- Оптимизация под запись: Частые операции INSERT, UPDATE, DELETE.
- Нормализованная схема данных: Для минимизации избыточности и аномалий при изменении.
Пример транзакции на Java (JDBC):
Connection conn = dataSource.getConnection();
try {
conn.setAutoCommit(false); // Начало транзакции
PreparedStatement debit = conn.prepareStatement(
"UPDATE accounts SET balance = balance - ? WHERE id = ?"
);
debit.setBigDecimal(1, transferAmount);
debit.setInt(2, fromAccountId);
debit.executeUpdate();
PreparedStatement credit = conn.prepareStatement(
"UPDATE accounts SET balance = balance + ? WHERE id = ?"
);
credit.setBigDecimal(1, transferAmount);
credit.setInt(2, toAccountId);
credit.executeUpdate();
conn.commit(); // Фиксация транзакции
} catch (SQLException e) {
conn.rollback(); // Откат при ошибке
throw e;
}
Сравнение с OLAP: OLTP обслуживает операционную деятельность, а OLAP — аналитическую. Данные из OLTP-систем периодически загружаются в OLAP-хранилища для анализа.