новости сообщество форум вики
Статья   Обсуждение   Просмотр   История  

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 и что они означают.
  • Дополнение Б, "Интерфейс восстановления бэкапа", представлен код программы в которой используестся данная возможность.
  • Дополнение В, "Интерфейс восстанвления активного доступа", представлен код программы в которой используестся данная возможность.
  • Дополнение Г, "Интерфейс восстановления захешированной фрагментированной таблицы", представлен код программы в которой используестся данная возможность.
 

так же

Личные инструменты
Представиться системе



 

 

Навигация

документация

внешние ссылки

друзья

прочее

Инструменты