Transbase

Transbase
Trancebase.png
Создатели: Рудольф Байер
Разработчики: Transaction Software GmbH
Выпущена: 1987 года
Постоянный выпуск: 7.2
Состояние разработки: Активное
Написана на: C, .NET [Источник 1] и Java
Операционная система: Linux, OS X, Windows
Тип ПО: СУБД
Веб-сайт transaction.de

Transbase - СУБД, соответствующая стандартам SQL, и поддерживающая последние функции SQL2[Источник 2].

О СУБД

Transbase часто используется в приложениях и веб-сервисах из-за особенности продукта и ее гибкости. Разработчики могут использовать в полной мере все функции, определенные стандартом SQL (SQL 2003) или перенос приложений из других баз данных системы Transbase без дополнительных настроек. Также можно использовать специальные расширения языка, которые выходят за рамки стандарта SQL, тем самым упрощая создание запросов в приложении. Все актуальные версии Transbase доступны с одинаковой функциональностью на операционных системах: Windows, Linux и Mac OS. Программирование интерфейсов во всех случаях будет одинаковым, так что портирование на новые платформы может быть выполнена и без дополнительных изменений.

История

Профессор кафедры информатики в Техническом университете Мюнхена (TUM), Рудольф Байер разработал систему управления базами данных под названием Merkur в 1980-х годах [Источник 3]. Разработкой занималось большое количество студентов и аспирантов, в результате в 1987 г. была основана компания под названием Transaction Software GmbH, основанная Рудольфом Байером и несколькими сотрудниками его института в TUM. В 1989 году Merkur была переименована и названа Transbase. Она широко использовалась в сфере ремонта и документации в автомобильной промышленности, что вскоре привело к значительному числу портов для различных операционных систем, таких как: UNIX- образные системы, ОS Windows и Mac OS.

Принцип работы

Операции

Все операции в Transbase организованы как транзакции, а имеено: атомарны, последовательны, изолированы и долговечны (поддерживают модель ACID для надежности транзакций) . Transbase осуществляет два метода для обеспечения целостности транзакций: "Before images", "Data Logging" [Источник 4].

  1. Befor images представляет собой запись изменений, так что в случае ошибки, страницу базы данных можно будет восстановить.
  2. Data Logging предназначен специально для больший кэшей и для параллельной записи операций, его отличие от первого метода заключается в том, что страница базы данных не изменяется сразу, а после определенного количества транзакций.

Индексация

Для анализа и оценки больших объемов данных (Big Data) по различным критериям, реализована технология индексации данных Hypercube Transbase, которая структурирует многоуровневые данные и объединяет в себе многомерную и иерархическую кластеризацию данных. Благодаря бесшовной интеграции Hypercube Transbase в ядро Transbase, упрощается определение, обновление данных и увеличивает надежность системы. [Источник 5]

Параллельная обработка данных

Для увеличения производительности системы, базирующейся на многопроцессорной архитектуре, была реализована технология распараллеливания обработки данных Transbase Dynamic Multithreading. Путем разбития процесса обработки данных на несколько похожих потоков, происходит равномерное распределение нагрузки на оборудование и увеличение скорости работы системы. [Источник 6]

Репликация

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

Работа с СУБД

Все описанные ниже команды актуальны для версии Transbase 8.1 и выше

Установка

Установочный файл имеет расширение .sh или .exe в зависимости от выбранной вами операционной системы, имя файла содержит информацию о версии и сборке, а также информацию о платформе и индикатор для пакета Transbase. Для установки на OS Windows достаточно запустить файл, на UNIX-образных системах можно выполнить команду:

$ sh ./setup_tb8_1_1_2_19.B20180130091747-linux-x86_64_complete.sh

Все программное обеспечение в Unix -образных системах будет установлено в каталог Transbase, OS Windows требует разделение на два каталога: только для чтения и обновляемую часть. После принятия лицензионного соглашения и ввода пароля администратора установка будет завершена, при желании можно указать порт (по умолчанию- 2024) и указать путь к SSL-сертификату (по умолчанию шифрование отключено). По окончанию мы имеем сервер с установленным на нем Transbase без клиентских баз данных.

Создание баз данных

Работа с базами данных происходит непосредственно при помощи SQL запросов. Все команды выполняются в интерактивном интерфейсе tbi, который запускается командой:

$ TRANSBASE/bin/tbi
no database> connect //localhost:2024/admin
Login: 

После вводим логин- "tbadmin" и пароль, который мы задали при установке и выполняем команду создания базы данных с названием first:

Login: [tbadmin]
Password: 
admin > create database first;

Удаление баз данных

Для удаления базы данных с именем dbname необходимо в tbi выполнить команду:

admin > DROP Database dbname;

Настройка репликации

Служба репликации trancbase работает только с зашифрованными базами данных и значение размера журнала должен быть задан больше 1 МБ

Настройка Master

Для создания базы данных masterdb необходимо выполнить следующую команду в tbi:

admin > CREATE DATABASE masterdb SET encryption=RIJNDAEL_256,
			log_file_size=1, recovery_method=logging;

Настройка Slave

Подчиненная база данных slavedb создается при помощи следующей команды в tbi:

admin > CREATE DATABASE slavedb FROM REPLICATION masterdb;

Ее одноразовое обновление происходит при помощи команды в tbi:

admin > ALTER DATABASE slavedb UPDATE FROM REPLICATION ONCE;

Для постоянного обновления в синхронном, в асинхронном или в полусинхронном режиме выполняется команда в tbi:

admin > ALTER DATABASE slavedb UPDATE FROM REPLICATION START
			[SYNCHRONOUS|ASYNCHRONOUS|SEMISYNCHRONOUS];

Источники

  1. .NET Framework // Викиконспекты [2003-2019] . Дата обновления: 05.11.2018. URL: https://ru.wikipedia.org/wiki/.NET_Framework (дата обращения: 20.01.2019)
  2. Transbase developer support // Transbase [2014-2019]. Дата обновления 9.10.2018.URL: https://www.transaction.de/en/transbaser-inside/developer-support.html (дата обращения: 15.01.2019)
  3. Achievements and milestones of Transbase // Transbase [2014-2019]. Дата обновления 8.12.2018.URL: https://web.archive.org/web/20150216144153/http://www.transaction.de/about/company-history.html (дата обращения: 16.01.2019)
  4. Transbase documentation // Transbase [2014-2019]. Дата обновления 21.8.2018.URL: https://www.transaction.de/fileadmin/downloads/Transbase/transbase_docu.xhtml (дата обращения: 16.01.2019)
  5. Transbase hypercube special index // Transbase [2014-2019]. Дата обновления 13.12.2018.URL: https://www.transaction.de/en/transbaser-inside/hypercube-special-index-fulltext-search.html (дата обращения: 16.01.2019)
  6. Transbase // Викиконспект [2014-2019]. Дата обновления 13.12.2018.URL: https://en.wikipedia.org/wiki/Transbase (дата обращения: 16.01.2019)