Raima Database Manager

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 11:09, 20 февраля 2019.
RDM
Raima.png
Разработчики: Raima
Постоянный выпуск: 14.1
Операционная система: Кросс-платформенное программное обеспечение
Тип ПО: СУБД
Лицензия: Пользовательское соглашение
Веб-сайт raima.com/raima-database-manager/

Raima Database Manager (или RDM) - это совместимая с ACID система управления базами данных, предназначенная для использования в приложениях для встроенных систем. RDM обеспечивает поддержку нескольких API: низкоуровневый C API, C ++ и SQL (обычный, ODBC, JDBC, ADO.NET и LabView). RDM легко портируется и доступен на Windows, Linux, Unix и некоторых других операционных системах. Также доступна лицензия исходного кода.

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

История

Raima Inc. первоначально выпустила RDM в 1984 году под названием db_VISTA. Это была одна из первых систем управления базами данных сетевой модели микрокомпьютера, предназначенная исключительно для использования с приложениями на языке Си. Сопутствующий продукт под названием db_QUERY был представлен в 1986 году и стал первой SQL-подобной утилитой для создания запросов и отчетов для базы данных сетевой модели.

В 1993 году была выпущена производная от db_VISTA СУБД, разработанная для обеспечения высокопроизводительной клиент-серверной части с обработкой транзакций, Raima Database Server (RDS). Это была первая СУБД, предоставившая ODBC API в качестве своего собственного интерфейса SQL. Это была также первая система SQL, которая включила использование сетевой модели в свои функции DDL. Вскоре после этого RDS был переименован в Velocis, а в 2001 году - в RDM Server. Версия RDM Server 8.4 была выпущена в 2012 году.

Разработка RDM (также известного как RDM Embedded) продолжалась. Были добавлены такие функции, как зеркалирование и репликация баз данных, многоверсионность данных для параллельных транзакций, доступ к серверу одновременно для нескольких файлов транзакций, шифрование, а также SQL, разработанный специально для использования в приложениях для встраиваемых систем. Версия 12.0 RDM была выпущена в 2013 году.

Также в 2013 году RDM представила первую платформу SQL СУБД, доступную для использования с графическим языком программирования LabView компании National Instruments.[1]

Версия 14.0 RDM была выпущена в третьем квартале 2016. RDM v. 14.0 содержал абсолютно новый механизм хранения данных, оптимизированный специально для работы с резидентными наборами данных в памяти. IMDB (In-memory Database) позволяет значительно повысить производительность и сократить требования к обработке по сравнению со старыми реализациями в памяти или на диске.

Версия 14.1 RDM была выпущена в первом квартале 2018. Новая версия ориентирована на простоту использования, мобильность и скорость работы. С новым форматом файлов Raima стало возможным развернуть где угодно базу данных, разработав ее всего раз. Производительность увеличивается более чем на 50-100% в зависимости от варианта использования по сравнению с предыдущими выпусками RDM. Raima расширила и улучшила поддержку SQL, снапшотов и геолокации.

Особенности

Версия 14.1 объединяет строки исходного кода и функции из Raima Database Manager и RDM Server. RDM 14.1 включает в себя следующие основные функции: обновленная поддержка в памяти, снапшоты, поддержка R-деревьев, сжатие, шифрование, SQL, SQL PL и независимость от платформы - БД можно разработать один раз, а развернуть где угодно. RMD 14.1 включает в себя функции для портирования, такие как прямое копирование и вставка, которые позволяют разрабатывать и развертывать на разных целевых платформах, независимо от архитектуры. Релиз включает оптимизированный интерфейс на основе курсора, расширенную поддержку SQL и хранимые процедуры, поддерживающие SQL PL; он также поддерживает ODBC (C, C ++), ADO.NET (C #) и JDBC (Java). Поддерживаемые среды разработки включают Microsoft Visual Studio, Apple XCode, Eclipse и Wind River Workbench. Переработанная и оптимизированная архитектура формата файлов базы данных обеспечивает соответствие требованиям ACID и защиту данных с помощью отдельных форматов для хранения в памяти, на диске или в гибридном хранилище. Форматы файлов скрывают особенности аппаратной платформы (например, порядок байтов). Версии для загрузки включают примеры тестов скорости и производительности RDM..[2]

Транзакционной файлового сервера (TFS)

Программный компонент в системе RDM, который поддерживает безопасные многопользовательские транзакционные обновления набора файлов и отвечает на запросы страниц. Утилита TFServer связывается с TFS, чтобы она могла работать как отдельная утилита, позволяющая пользователям запускать RDM в распределенной вычислительной среде. TFS также может быть напрямую связан с приложением, чтобы избежать большого количества запросов при вызове отдельного сервера.

Работа транзакционного файлового сервера RDM

Режимы работы

  • Однопроцессный, многопоточный
  • Многопроцессный, отдельный транзакционный файловый сервер
  • Многопроцессный, общий внутрипроцессный транзакционный файловый сервер

Динамический DDL

  • Поддержка изменений базы данных и самих таблиц "на лету"

Шифрование

  • AES 128, 192, 256 бит

Дополнительные типы данных SQL

  • Date
  • Time
  • Datetime
  • Binary
  • Unicode
  • Bit

Cовместимость

RDM совместим со следующими поставщиками данных и драйверами:

  • Поставщик данных ADO.Net 4.0
  • Драйвер JDBC 4.2 Type 4
  • ODBC 3.51 Драйвер

Поддерживаемые деревья

  • Поддержка индексации B-Tree
  • Поддержка индексации R-Tree
  • Поддержка индексации хеш-таблиц

Снапшоты

  • Изоляция снапшотов позволяет осуществлять чтение в базе данных при параллельном выполнении транзакций записи. Так как RDM берет замороженный образ текущего состояния системы, информация может быть прочитана без остановки записи. В любой момент времени пользователь может создать "снимок" конкретных таблиц, вызвав API rdm_dbStartSnapshot(). После этого система RDM создаст статический образ указанных таблиц, любые изменения в которых не отразятся на снимке. Затем пользователь может свободно выполнять записи в эту таблицу вне снапшота, и любые операции чтения не будут ожидать завершения или отмены этих записей. Как только снимок больше не нужен, от него можно избавиться с помощью простой транзакции. Эта функция обеспечивает конечному пользователю наибольшее количество возможных операций записи и чтения одновременно.

Поддержка "круглых" таблиц

  • Запись или таблица может быть определена как «круглая». В случае круглых таблиц, когда таблица заполняется, RDM все еще позволяет создавать новые экземпляры записей. Новые экземпляры записей будут перезаписывать существующие, начиная с самых старых. RDM не допускает явного удаления экземпляров записей в круглой таблице.
  • Определение круглых таблиц включает ограничение размера. Это позволяет выделить фиксированный объем дискового пространства для хранения самых последних экземпляров определенного типа записи. Например, это может быть полезно для хранения данных о событиях, которые генерируются быстро, когда существенными являются только самые последние полученные данные. Круглые таблицы устраняют риск того, что входящие данные могут быть не сохранены из-за нехватки места, при этом избегая необходимости для приложения удалять устаревшие данные.

Ограничения базы данных

  • Максимальное количество одновременно открытых баз данных: без ограничений
  • Максимальное количество записей в базе данных: без ограничений
  • Максимальный размер файла базы данных: ограничен только файловой системой
  • Максимальное количество таблиц в базе данных: без ограничений
  • Максимальное количество записей в таблице: без ограничений
  • Максимальный размер записи: 32 КБ (исключая BLOB или VARCHAR)
  • Максимальное количество полей в таблице: без ограничений
  • Максимальное количество ключей в базе данных: без ограничений
  • Требования к оперативной памяти: настраивается пользователем, минимум 50 кб
  • След кода: начиная с ~ 270 кб, в зависимости от ОС и функций базы данных

Поддерживаемые типы данных

  • BLOB
  • Character
  • Widechar
  • Varchar
  • DBADDR (ROWID)
  • Floating Point – 32- и 64-битные
  • Integer – 8-, 16-, 32- и 64-битные
  • C Struct (Только ядро)
  • Data/Time/Timestamp
  • BCD (SQL Decimal)
  • GUID

Поддерживаемые платформы

Ссылки

Источники