Mnesia - 1 Вступление
Содержание |
Mnesia
Version 4.4.10
Mnesia - это распределенная Система Управления Базами Данных(СУБД), предназначенная для телекоммуникационных приложений и других Erlang приложений, которые требуют непрерывных операций и проявляют слабовыраженные свойства приложений реального времени.
1 Вступление
Эта статья описывает Mnesia DBMS. Mnesia - это распределенная Система Управления Базами Данных, предназначенная для телекоммуникационных приложений и других Erlang приложений, которые требуют непрерывных операций и проявляют слабовыраженные свойства приложений реального времени. Это один из параграфов Open Telecom Platform (OTP), которая, в свою очередь, является управляющей системной платформой для построения телекоммуникационных приложений.
1.2 Система Управления Базами Данных Mnesia
1.2.1 Возможности
Mnesia содержит в себе следующие возможности, которые в совокупности предоставляют отказоустойчивость и распределенность системы управления базами данных, написанной на Erlang:
- Схема(schema) базы данных может динамически реконфигурироваться в режиме реального времени.
- Таблицы(tables) могут быть объявлены с такими свойствами как месторасположение, репликация и живучесть.
- Таблицы могут быть перемещены или реплицированы между несколькими нодами(nodes) улучшая отказоустойчивость. The rest of the system can still access the tables to read, write, and delete records.
- Месторасположение таблицы прозрачно для программиста. В программах обращение к таблице ведется по имени, а система уже сама устанавливает связь с таблицей.
- Транзакции могут быть распределены и в рамках одной транзакции может быть вызвано достаточно большое количество функций.
- Несколько транзакций могут запускаться одновременно и их выполнение полностью синхронизируется самой СУБД. Mnesia гарантирует, что не может быть ситуации, когда два процесса оперируют одними и теми же данными.
- Transactions can be assigned the property of being executed on all nodes in the system, or on none. Транзакция также может быть не учтена в угоду скорости выполнения. Это, так называемая "грязная операция"(dirty operations), которая уменьшает загруженность системы и увеличивает скорость выполнения программы.
Детально о данных возможностях описано в следующих параграфах.
1.2.3 Область действия и назначение
Данная документация является частью документации OTP. В ней описывается как разрабатывать приложения на базе СУБД Mnesia и как интегрировать и использовать СУБД Mnesia с OTP. Описано как писать программы, а также имеются многочисленные примеры в которых показано как работать с Mnesia.
1.2.5 Содержание данной статьи
Данная статья состоит из следующих глав:
- Глава 2, "Начало работы с Mnesia" , знакомит вас с Mnesia на примерах. В примерах показано как запускать Erlang, особенности каталога в котором хранится база данных, инициализация схемы базы данных, запуск Mnesia и создание таблиц. Так же обсуждается, как инициализировать определяющую запись(record).
- Глава 3, "Создание баз данных в Mnesia", более подробное описание Главы 2, а именно функции Mnesia, которые определяют схему базы данных, запуск Mnesia и создание необходимых таблиц.
- Глава 4, "Транзакции и другие состояния доступа", описывает свойства транзакций, которые делают Mnesia устойчивой к ошибкам распределенной СУБД реального времени. Так же, в данной главе обсуждается концепция использования блокировок, которые надлежащим образом обеспечивают взаимодейсвтие с таблицами и, так называемых, "грязных операциях"("dirty operations") или быстрых вызовов, которые выполняются без транзакций увеличивая тем самым скорость выполнения и понижая накладные расходы на выполнение операций.
- Глава 5, "Разнообразные возможности Mnesia", описывает возможности, которые используются для построения большинства приложений, взаимодействующих с базами данных. В эти возможности входят: индексирование, контрольные точки, распределенность и отказоустойчивость, данные могут храниться не на диске, а в оперативной памяти, умение проводить репликацию данных, local content tables (локализация содержимого таблиц), параллелизм и объектно-ориентированое программирование в Mnesia.
- Глава 6, "Системная информация Mnesia", описывает файлы, содержащиеся в каталоге базы данных, конфигурацию данных, выгрузку таблиц и ядра, а также такие важные моменты как бэкапирование данных, полное и аварийное восстановление.
- Глава 7, "Объединение Mnesia с SNMP", в этой короткой главе в общих чертах показана интеграция с SNMP.
- Дополнение А, "Сообщения об ошибках Mnesia ", список сообщений об ошибках в Mnesia и что они означают.
- Дополнение Б, "Интерфейс восстановления бэкапа", представлен код программы в которой используестся данная возможность.
- Дополнение В, "Интерфейс восстанвления активного доступа", представлен код программы в которой используестся данная возможность.
- Дополнение Г, "Интерфейс восстановления захешированной фрагментированной таблицы", представлен код программы в которой используестся данная возможность.
