За счет чего же достигается такое уменьшение времени отклика при использовании InMemory Database? На рисунке 1 приведены архитектуры традиционной дисковой СУБД и СУБД TimesTen.
Из рисунка видно, что во-первых приложения TimesTen осуществляют прямой доступ к БД. При этом экономится время на передачу SQL запроса от приложения к СУБД и на возврат результата (IPC).
Кроме того, оптимизатор запросов TimesTen и индексы устроены так, что они сразу выдают адрес памяти, где лежит требуемая запись. В случае традиционной СУБД идет ссылка на таблицу, затем на ее страницу (блок), затем идет поиск записи в странице. На это уходит время. Да и индексы в TimesTen оптимизированы для работы с БД в
оперативной памяти. ImMemory Database не использует буферный кэш и не несет накладных расходов по управлению буферным кэшем и по загрузке/выгрузке данных между диском и кэшем. Потери на операциях ввода- вывода сведены к минимуму.
|