Metakit — различия между версиями
Последнее изменение этой страницы: 01:24, 26 июня 2016.
м |
|||
Строка 12: | Строка 12: | ||
Как и другие базы данных MetaKit помогает управлять данными, которые вы храните на диске. Однако, он также делает некоторые вещи по-другому, нежели другие БД. Это дает MetaKit уникальные преимущества, некоторые из которых идеально сочетаются со скриптовыми языками, такими как Tcl. | Как и другие базы данных MetaKit помогает управлять данными, которые вы храните на диске. Однако, он также делает некоторые вещи по-другому, нежели другие БД. Это дает MetaKit уникальные преимущества, некоторые из которых идеально сочетаются со скриптовыми языками, такими как Tcl. | ||
+ | |||
+ | * И код и файлы портируемы. Порядок байтов определяется библиотекой | ||
+ | * Для создание документо-ориентированных приложений используются вложенные структуры данных | ||
+ | * Реструктуризация файлов "на лету" во время открытия | ||
+ | * Дополненные коммиты/откаты изменений, данные могут быть сериализованы | ||
+ | * Использование стабильного хранилища гарантирует, что файлы не повредятся при падении | ||
+ | * Файлы открываются без чтения данных | ||
+ | * API мимикрирует классы контейнеров. | ||
+ | * Сортировка, группировка/присоединение отношений, set-операции, пермутации, хэширование | ||
+ | * Наибольший <code>int</code> определяет формат хранилища. | ||
+ | * Библиотека очень мало весит. Неиспользуемые функции обрезаются в статичные ссылки | ||
+ | * Маленькое количество файлов интерфейса. Один хэдер перечисляет все нужные классы | ||
+ | * Можно использовать из Python и Tcl | ||
==Концепты== | ==Концепты== |
Текущая версия на 01:24, 26 июня 2016
Разработчики: | Jean-Claude Wippler |
---|---|
Операционная система: | Кроссплатформенная |
Тип ПО: | Development Library |
Лицензия: | MIT License[1] |
Веб-сайт |
www |
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 (англ.)
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.