Metakit

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 01:24, 26 июня 2016.
Metakit
Разработчики: Jean-Claude Wippler
Операционная система: Кроссплатформенная
Тип ПО: Development Library
Лицензия: MIT License[1]
Веб-сайт www.equi4.com/metakit/

MetaKit — встраиваемая библиотека поддержки баз данных, имеющая малые размеры.

Общее

MetaKit это свободно распространяемая, кросс-платформенная, открытая (лицензия MIT) библиотека базы данных, которую вы можете включить в собственные приложения. Она разработана Жан-Клодом Вайплером из Equi4 Software. MetaKit распространяется с API для C++, Python и Tcl.

Как и другие базы данных MetaKit помогает управлять данными, которые вы храните на диске. Однако, он также делает некоторые вещи по-другому, нежели другие БД. Это дает MetaKit уникальные преимущества, некоторые из которых идеально сочетаются со скриптовыми языками, такими как Tcl.

  • И код и файлы портируемы. Порядок байтов определяется библиотекой
  • Для создание документо-ориентированных приложений используются вложенные структуры данных
  • Реструктуризация файлов "на лету" во время открытия
  • Дополненные коммиты/откаты изменений, данные могут быть сериализованы
  • Использование стабильного хранилища гарантирует, что файлы не повредятся при падении
  • Файлы открываются без чтения данных
  • API мимикрирует классы контейнеров.
  • Сортировка, группировка/присоединение отношений, set-операции, пермутации, хэширование
  • Наибольший int определяет формат хранилища.
  • Библиотека очень мало весит. Неиспользуемые функции обрезаются в статичные ссылки
  • Маленькое количество файлов интерфейса. Один хэдер перечисляет все нужные классы
  • Можно использовать из Python и Tcl

Концепты

Файл

MetaKit хранит все данны в одном или нескольких отдельных файлах на диске. При открытии файлов, им присваивается метка, которая ассоциирована с открытым файлом. Одновременно можно открыть несколько файлов и у каждого будет своя метка.

Представления

Позволяют разделять данные в файлах на области. Каждая из областей может содержать различные типы данных. Описание того, какие типы данных может содержать каждая область содержатся в их структуре. Представления декларируются, как tag.viewname. Представления эквивалентны таблицам в других базах данных.

Строки

Строки содержат данные связанные с объектом, который они представляют. Строки эквивалентны записям в других базах данных. Представления состоят из массива строк, которые размечены с индексацией, начинающейся с нуля.

Свойства

Свойства – это обособленные элементы данных. Каждая строка содержит хотя бы одно свойство. Каждая строка с единственным представлением содержит те же свойства, хотя их значения скорее всего будут различаться. Свойства не доступны напрямую, как представления и строки, но доступны через команды MetaKit, например, mk::get или mk::set.

Пример

# загружаем MetaKit
package require Mk4tcl

# открываем БД
mk::file open db mydata.db

# создание представления
set view [mk::view layout db.addressbook "name country"]

# создание новых строк
mk::row append $view name "Mark Roseman" country "Canada"
mk::row append $view name "Jean-Claude Wippler" country "The Netherlands"
mk::row append $view name "Jeff Hobbs" country "Canada"
mk::file commit $view

# поиск и печать
foreach row [mk::select $view country "Canada"] {
    puts [mk::get $view!$row name]
}

# закрываем БД
mk::file close db

Примечания

Ссылки

  • MetaKit [Электронный ресурс] : Материал из Википедии — свободной энциклопедии : Версия 70872701, сохранённая в 08:51 UTC 18 мая 2015 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2015. — Режим доступа: http://ru.wikipedia.org/?oldid=70872701
  • MetaKit: Quick and Easy Storage for your Tcl Application (англ.)