TimesTen

редактировать
TimesTen
Oracle logo.svg
Разработчик (и) Oracle Corporation
Стабильный выпуск 11g Release 2 (11.2.2.8.0)
Платформа Кросс-платформенность
Тип Система управления реляционными базами данных
Лицензия Собственная
Веб-сайтДомашняя страница TimesTen OTN

TimesTen - это in-memory, система управления реляционными базами данных с постоянством и возможностью восстановления. Первоначально разработанный и реализованный в лабораториях Hewlett-Packard в Пало-Альто, Калифорния, TimesTen выделился в отдельный стартап в 1996 году и был приобретен Oracle Corporation в 2005 году..

Все данные в базе данных TimesTen находятся в физической памяти (RAM), что означает, что никакие операции с данными не требуют дискового ввода-вывода. В этом отличие от традиционных реляционных баз данных, оптимизированных для дисков, таких как Oracle Database, DB2, Informix или SQL Server, проекты которых должны содержать алгоритмы, которые пытаются минимизировать доступ к диску. TimesTen обеспечивает приложения с коротким, согласованным временем отклика и очень высокой пропускной способностью, необходимой приложениям с рабочими нагрузками, интенсивно использующими базы данных.

Поскольку память работает намного быстрее, чем жесткий диск, TimesTen используется в приложениях, где обслуживание- соглашения об уровне требуют низкого и предсказуемого времени отклика, например, для телекоммуникаций, приложений для торговли финансовыми услугами в реальном времени, сетевого оборудования и крупных веб-приложений. Кроме того, в отличие от других систем кэширования памяти, которые используют пары ключ-значение (например, Memcached, Hazelcast или Coherence ), к TimesTen можно получить доступ через стандартные интерфейсы и предоставляет функциональные возможности языка запросов SQL.

Приложения с данными, находящимися в Oracle Database, могут использовать TimesTen с помощью опции кэширования базы данных (в отличие от Oracle Database In-Memory), в которой TimesTen функционирует как база данных кэширования в памяти. перед Oracle Database.

TimesTen работает на большинстве основных платформ Unix / Linux и на различных платформах Windows, как на 32- битовый и 64-битный режимы.

Содержание

  • 1 Технология
    • 1.1 Архитектура
      • 1.1.1 Общие библиотеки
      • 1.1.2 Резидентная база данных в памяти
      • 1.1.3 Процессы базы данных
      • 1.1.4 Режимы подключения
    • 1.2 Доступность и целостность
      • 1.2.1 Файлы контрольных точек и транзакций
      • 1.2.2 Репликация
    • 1.3 Кэш базы данных в памяти
    • 1.4 Уведомление о событиях
  • 2 История
  • 3 Ссылки
  • 4 Внешние ссылки

Технология

TimesTen - это технология управления базами данных в памяти, которая обеспечивает очень быстрое время доступа к данным. Предполагается, что все данные будут находиться в физической памяти (ОЗУ) во время выполнения. Результат - очень низкое время отклика, что обеспечивает высокую пропускную способность даже на обычном оборудовании.

Архитектура

Общие библиотеки

Функциональность TimesTen содержится в наборе общих библиотек, которые разработчики приложений связываются со своими приложениями, позволяя TimesTen выполняться как часть процесса приложения. Этот подход с разделяемой библиотекой отличается от традиционных систем РСУБД, где база данных по существу представляет собой набор отдельных процессов, к которым приложения подключаются посредством некоторой формы межпроцессного взаимодействия. Эта коммуникация может принимать форму соединения клиент / сервер, охватывающего сеть, или это может быть какая-то форма внутрисистемного IPC, такая как соединение сокета домена Unix или общая память механизм соединения на основе.

Резидентная база данных в памяти

Данные для каждой активной базы данных TimesTen хранятся в сегменте разделяемой памяти, что позволяет нескольким базам данных TimesTen быть активными одновременно, а также позволяет приложению одновременный доступ к нескольким базам данных TimesTen в одной системе. На 64-битных платформах размер базы данных TimesTen практически ограничен только объемом RAM, доступной на ее главном компьютере. У одного клиента есть производственная база данных TimesTen размером около двух терабайт, используемая для обработки транзакций в режиме онлайн.

процессов базы данных

Для запуска TimesTen требуется запуск фонового процесса, называемого главным образом TimesTen. daemon, который затем запускает несколько процессов subdaemon TimesTen для управления каждой базой данных, созданной в системе. Эти процессы поддела выполняют такие операции с базой данных, как:

  1. загрузка и выгрузка базы данных в ОЗУ
  2. запись периодических нечетких контрольных точек базы данных TimesTen на диск
  3. запись журнала транзакций записи из буфера журнала в памяти в файлы журнала транзакций на диске
  4. обработка взаимоблокировок

Режимы подключения

Клиентские приложения, которые подключаются к традиционным дисковым реляционным базы данных обычно используют TCP / IP или другой механизм IPC для связи с процессом сервера базы данных. В TimesTen приложения, которые находятся на том же сервере, что и база данных TimesTen, могут напрямую подключаться к образу базы данных в памяти с помощью прямого драйвера TimesTen, устраняя необходимость в каком-либо межпроцессном взаимодействии любого типа, обеспечивая тем самым чрезвычайно быструю производительность. Если приложение находится на удаленном сервере, оно также может подключаться к базе данных TimesTen, используя традиционную модель клиент / сервер доступа к данным.

Доступность и целостность

Контрольные точки и файлы журнала транзакций

Все данные TimesTen существуют в ОЗУ, однако TimesTen использует энергонезависимое хранилище (например, жесткий диск) для базы данных стойкость и восстанавливаемость. База данных TimesTen хранит все изменения данных транзакций в буфере журнала в памяти, который в конечном итоге сохраняется на диске в виде файлов журнала транзакций. Кроме того, TimesTen также сохраняет на диске моментальные снимки базы данных в памяти, называемые файлами контрольных точек. Комбинация файлов контрольных точек и файлов журнала транзакций позволяет TimesTen обеспечивать возможность восстановления в случае сбоя системы. TimesTen реализует параллельный менеджер журналов, чтобы максимизировать пропускную способность в больших SMP-системах.

По умолчанию TimesTen работает в режиме непродолжительной фиксации. В этом режиме операция фиксации происходит исключительно в памяти, а запись записей журнала для транзакции на диск происходит асинхронно с фиксацией. Это обеспечивает очень низкое время отклика и очень высокую пропускную способность за счет возможной потери небольшого объема данных в случае сбоя системы. Также предоставляется настоящий синхронный режим фиксации (режим надежной фиксации); Этот режим позволяет избежать потери данных за счет снижения производительности. При работе в режиме синхронной фиксации TimesTen обеспечивает автоматическую оптимизацию групповой фиксации. TimesTen позволяет архитектору / разработчику балансировать производительность и безопасность данных, обеспечивая управление режимом фиксации на трех разных уровнях: база данных, соединение и транзакция. Другой вариант защиты данных и обеспечения высокой доступности - использовать репликацию TimesTen.

Репликация

Механизм репликации TimesTen позволяет высокодоступной системе, отправляя обновления базы данных между двумя или больше хозяев. При репликации TimesTen главный хост отправляет обновления одному или нескольким хостам-подписчикам. TimesTen рекомендует конфигурацию пары активный-резервный для максимальной доступности. Пара активный-резервный состоит из двух главных баз данных, активной и резервной базы данных. В дополнение к активной и резервной базам данных можно настроить несколько баз данных подписчиков для работы в качестве копий для аварийного восстановления или ферм только для чтения.

Репликация в TimesTen реализуется агентом репликации, процессом демона, который нацелен на каждую базу данных TimesTen, участвующую в репликации. Агент репликации отправляет и получает обновления между базами данных, взаимодействуя с агентами репликации других баз данных, участвующих в той же схеме репликации. Регистрация изменений осуществляется с помощью анализа журналов с оптимизацией в памяти; при нормальных условиях эксплуатации записи об изменениях фиксируются из буфера журнала в памяти без необходимости какого-либо дискового ввода-вывода. Связь между агентами репликации осуществляется через эффективный потоковый протокол, построенный на основе обычных соединений TCP / IP. Агент репликации является многопоточным, и в версии 11.2.2 TimesTen поддерживает параллельную репликацию для увеличения пропускной способности. Рабочая нагрузка репликации автоматически распараллеливается для увеличения пропускной способности при сохранении корректности.

Кэш базы данных в памяти

TimesTen обеспечивает возможность кэширования данных из источника Oracle Database. При таком использовании TimesTen называется Oracle In-Memory Database Cache (IMDB Cache), опцией продукта Oracle Database.

Чтобы использовать кэширование Oracle Database, нужно определить один или несколько объектов SQL, известных как cache группы. Группа кэша - это набор из одной или нескольких связанных таблиц базы данных, позволяющий использовать подмножества ее строк и / или столбцов. Каждая таблица базы данных в группе кэша должна иметь определенный первичный ключ или уникальный индекс, объявленный в наборе столбцов, не допускающих значения NULL, и должны быть связаны в иерархии родитель-потомок через первичный ключ - ограничения внешнего ключа. Предикаты SQL могут использоваться для управления тем, какие данные следует кэшировать.

После того, как группа кешей определена, группа кешей может быть «загружена», что позволяет кэшировать данные Oracle Database в TimesTen. После этого приложения могут выполнять чтение и запись в группы кэша, и все изменения данных будут синхронизироваться с соответствующими таблицами базы данных Oracle автоматически или вручную.

Уведомление о событиях

TimesTen предоставляет механизм уведомления о событиях через API журнала транзакций (XLA). XLA предоставляет функции, которые позволяют приложениям получать уведомления об изменениях данных, происходящих в таблицах TimesTen (а также DDL, происходящих в базе данных TimesTen). XLA также можно использовать вместе с материализованными представлениями, чтобы упростить процесс отслеживания изменений, внесенных в строки, охватывающие несколько таблиц. XLA работает, анализируя поток журнала транзакций TimesTen аналогично агенту репликации. Развертывания приложений базы данных, которые не включают базу данных Oracle, которая хочет использовать TimesTen в качестве базы данных кэша в памяти, могут использовать XLA для сбора обновлений и с помощью пользовательского кода приложения применять эти обновления к своей внутренней базе данных.

История

TimesTen была основана в лабораториях HP Мари-Анн Неймат, Шерри Листгартен и Куртом Шоенсом под названием «Smallbase». В HP Жан-Рене Бувье решил встроить Smallbase в HP OpenCall, что позволило впервые использовать продукт в коммерческих целях в 1995 году. В 1996 году продукт был выделен в отдельный венчурный капитал финансировал стартап, базирующийся в Маунтин-Вью, Калифорния под руководством генерального директора Джима Гроффа. Продукт стал популярным для телекоммуникационного оборудования, так как время отклика в миллисекундах или даже микросекунд требовалось для таких приложений, как коммутация пакетов. В компании было 90 сотрудников, и она была прибыльной, когда была приобретена Oracle Corporation в 2005 году. После приобретения Неймат оставался директором по развитию TimesTen в Oracle, добавив в продукт многие функции баз данных Oracle, такие как поддержка для PL / SQL и интеграции с Oracle SQL Developer и Oracle Enterprise Manager.

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-11 13:00:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте