
Сентябрь 2005
Компания КРОК - сертифицированный мастер-партнер Oracle (OCAP)
Д. Емельянов,
руководитель направления СУБД,
С. Бирюков,
эксперт по СУБД,
компания КРОК
TimesTen In-Memory Database — база данных реального времени для Oracle
TimesTen – это технология, которая позволяет управлять данными в реальном времени. Наиболее востребована она в телекоммуникационной и финансовой сферах и используется для обеспечения работы приложений с повышенными требованиями к производительности: выставление счетов в реальном времени, торговля ценными бумагами, сетевые взаимодействия, поддержка деятельности авиакомпаний и т.д.
На основе технологии TimesTen компания Oracle разработала TimesTen In-Memory Database – базу данных реального времени, легко интегрируемую с СУБД Oracle. До этого отсутствие полноценной высокопроизводительной БД реального времени было проблемой для компаний, работающих с базами данных, – существующие решения БД реального времени не отвечали их требованиям по скорости обработки и доступа к данным.
TimesTen In-Memory Database отличается от стандартных решений алгоритмом работы — сама база данных реального времени находится в оперативной памяти. Это означает, что при работе используется принцип кэширования, то есть система не обращается к жесткому диску, что значительно сокращает время доступа к данным.
Первое знакомство
Инсталляция TimesTen In-Memory Database очень проста и не требует специальных знаний. Для работы с Oracle TimesTen необходимо установить клиент Oracle.
При выборе параметра “Полная установка” будут инсталлированы ядро системы и тестовые примеры, по которым можно проверять показатели производительности системы.
Провести настройку для конкретной базы данных очень легко (см. рис. 1).
Рис.1
Для подсоединения к базе данных необходимо в закладке “General Connection” установить имя пользователя, под которым будет осуществляться вход в базу данных, а в закладке “Oracle Connect” — имя базы данных (tnsnames). После настройки и входа в систему откроется многоуровневое меню для управления агентом кэширования (рис.2).
Рис.2
Работа с кэшированными таблицами
У пользователя БД TimesTen есть возможность кэширования таблиц с использованием графического web-интерфейса или с использованием командной строки. Мы рассмотрим вариант работы с командной строкой.
Доступ к данным осуществляется при присоединении с помощью утилиты ttIsql.
C:\> ttIsql -connStr “dsn=timesten”
Command> select * from test;
< 1, AAA >
< 2, BBB >
< 3, CCC >
< 4, DDD >
4 rows found.
Command> cachegroup;
Cache Group TESTUSER.READCACHE:
Cache Group Type: Read Only (Autoload on Create)
Autorefresh: Yes
Autorefresh Mode: Incremental
Autorefresh State: On
Autorefresh Interval: 5 Seconds
Autorefresh Limit: 10000
Root Table: TESTUSER.TEST
Table Type: Read Only
1 cache group found.
Command> select * from READCACHE;
< 1, AAA >
< 2, BBB >
< 3, CCC >
< 4, DDD >
4 rows found.
Также возможна работа с группой связанных таблиц. Группа попадает в память целиком и может использоваться в запросах или вставках. Работа с группами увеличивает производительность приложения для реальной обработки данных. Так, при тесте, проведенном специалистами КРОК, скорость составила около 30 Мб/сек (рис.3).
Рис.3
Перспективы применения и развития технологии TimesTen
Принцип работы TimesTen (размещение данных в оперативной памяти) позволяет увеличить производительность СУБД в несколько раз. Специалисты КРОК отмечают большие перспективы подобных решений как в телекоммуникационной и банковской отраслях, так и на энергопредприятиях. Можно прогнозировать, что в ближайшее время технология найдет широкое применение в масштабных средах распределенных данных, которые используются, например, в логистике и управлении запасами. Новая опция TimesTen (TimesTen to TimesTen) позволяет кэшированным данным распределенных БД общаться между собой, минуя обращение непосредственно к базам данных, что еще больше увеличивает эффективность работы и обеспечивает возможность восстановления и целостность данных.
|