Oracle TimesTen In-Memory Database — это реляционная база данных, предназначенная для работы полностью в оперативной памяти с поддержкой SQL и совместимостью с Oracle Database на уровне данных и операций. Разработанная для приложений, требующих очень низкой задержки и высокой пропускной способности, система реализует хранение и обработку таблиц в памяти, обеспечивая микросекундные и низкими миллисекундными задержки операций чтения и записи. TimesTen может использоваться как самостоятельная СУБД для встроенных или распределённых приложений, а также как кэш перед традиционной дисковой Oracle Database для ускорения доступа к горячим данным.
Архитектура TimesTen включает менеджер памяти, механизм управления транзакциями и репликации, средства обеспечения устойчивости и восстановления, а также интеграцию с клиентскими библиотеками и драйверами SQL. СУБД поддерживает ACID-транзакции, контроль параллелизма и оптимизацию выполнения запросов в условиях работы в памяти. Для устойчивости данных используются журналы изменений и дампы на диск, что позволяет восстанавливать состояние после перезапуска или отказа узла. TimesTen широко применяется в сценариях реального времени, финансовых приложениях, телекоммуникациях и других областях, где критичны задержки и пропускная способность.
- Хранение в памяти: все активные таблицы и индексы хранятся в оперативной памяти для минимизации задержек доступа.
- SQL и реляционная модель: поддержка стандартного SQL и реляционных операций для совместимости с существующими приложениями.
- ACID и управление транзакциями: обеспечиваются атомарность, согласованность, изолированность и долговечность операций при помощи журналов и контрольных точек.
- Репликация и высокодоступность: механизмы синхронной и асинхронной репликации для обеспечения отказоустойчивости и распределённого развертывания.
- Интеграция с Oracle Database: возможность использования в качестве кэша перед Oracle Database с инструментами синхронизации и переноса данных.
- Устойчивость и восстановление: периодические дампы в постоянное хранилище и журналы изменений для восстановления после сбоев.
- Высокая пропускная способность: оптимизации структуры данных и алгоритмов для большого числа параллельных операций ввода-вывода.
- Поддержка клиентских API: драйверы и интерфейсы для распространённых языков и сред выполнения, включая средства для интеграции с middleware.
- Администрирование и мониторинг: инструменты для управления памятью, отслеживания производительности и настройки параметров работы в памяти.
- Применение в реальном времени: типовые сценарии включают торговые платформы, обработку потоков событий и приложения с жёсткими требованиями к задержкам.