Технологии Raima
Архитектура RDM
Архитектура RDM
Гибкая архитектура RDM дает вам множество конфигураций. Используйте RDM в приложении клиент / сервер или в одноранговом (встроенном) приложении практически на любой комбинации аппаратного и программного обеспечения. RDM может в полной мере использовать память как основной носитель данных, а постоянные данные могут храниться на диске.

Более глубокое погружение
Среда выполнения RDM состоит из двух мощных, но четко определенных модулей:
- Библиотека времени выполнения — эта повторно подключаемая библиотека становится частью вашей исполняемой программы. Он поддерживает кэш объектов базы данных, поскольку он отвечает на вызовы функций из вашей программы.
- Транзакционный файловый сервер — этот жесткий многопользовательский сервер одновременно взаимодействует с одной или несколькими библиотеками времени выполнения. Он управляет доступом к файлам базы данных. TFS отвечает на запросы среды выполнения для чтения объектов, блокировки объектов или применения транзакционных изменений.
Библиотека времени исполнения
В качестве повторно используемой библиотеки RDM полностью поддерживает многопоточные приложения. Каждый поток может открывать базу данных и работать с ней одновременно с другими.
Как связываемая библиотека, RDM работает с данными, хранящимися в кэше на основе кучи. Его надежные API-интерфейсы обеспечивают полную видимость и контроль над данными. SQL доступен через API на основе C, но также доступен через сторонние инструменты. Другие API-интерфейсы позволяют точно настраивать операции с базой данных с помощью представления курсора или объектно-ориентированного представления.
Транзакционный файловый сервер
По своей сути TFS — это библиотека функций. Эти функции вызываются библиотекой времени выполнения. Если TFS работает в отдельном процессе, ее функции вызываются как RPC (удаленные вызовы процедур) с использованием TCP / IP между компьютерами и общей памятью на одном компьютере.
Однако функции TFS также могут быть связаны непосредственно с вашим приложением. Это дает значительные преимущества в производительности и простоту эксплуатации. Это быстрее, потому что удаленные вызовы процедур становятся локальными вызовами процедур (в процессе). Это проще, потому что все выполняется в вашей программе, и нет отдельного процесса, который нужно запускать первым.
Конфигурации
Да, библиотека времени выполнения и TFS мощные и четко определенные, но их можно настроить несколькими способами. На рисунках ниже показаны лишь некоторые из них.
Конфигурация с несколькими компьютерами — невероятно быстро
Когда задействовано несколько компьютеров, они общаются через TCP / IP. Если клиент и сервер вместо этого находятся на одном компьютере, для его ускорения используется общая память.
Многопоточная конфигурация с одним компьютером — еще быстрее
Но когда среда выполнения и TFS находятся в одном процессе, межпроцессного взаимодействия избегают, что приводит к еще большей скорости.
Многопоточные приложения отлично подходят для работы с несколькими окнами на экране, каждое с независимым содержимым.

Однопоточный (эксклюзивный доступ) — быстрее!
Более простые однопользовательские приложения имеют преимущество, потому что нет одновременного доступа к базе данных, следовательно, нет блокировки или ожидания.

Однопоточная база данных в памяти — самая быстрая
Теперь загрузите базу данных с диска в память, и у вас будет управление базой данных со всеми остановками.
Опция базы данных в памяти RDM позволяет использовать изменчивые (она исчезает при остановке приложения) и постоянные (загружаются с диска и сохраняются на диск) базы данных.
Это быстрее всех вариантов, потому что нет задержки на чтение диска и ожидания записи на диск во время фиксации транзакции.
Но есть опасность для потери данных, если приложение завершает работу без сохранения данных.
