Dec 02, 2007 19:36
Начал подробное знакомство с Mnesia. Уже давно читал про эту амнезию, и вот ведь странная вещь - все пишут о ней как об обычной бд, сравнивают ее с разными там MySQL, находят достоинства и недостатки. Больше последних.
И при этом все молчат как рыбы о проектировании в Эрланге c применением мнезии. Это, интересно, что - заговор Эрлангистов?
Другой причины, видимо, нет. Потому, что вскрытие показывает: Мнезия - это никакая не БД.
Это реализация транзакционной памяти для мутабельных разделяемых объектов в эрлпнге. Вы можете в рамках распределенной транзакции выполнить совершенно произвольный эрланговский код, и система сама позаботится о синхронизации. Вы можете динамически менять схему на лету, менять местоположение данных, и все это не останавливая прикладного кода. Если хотите persistance - система позаботится и об этом, надо просто сказать.
Но это не БД - к ней стоит относится как к части языка. Да, мнезия дает некоторые функции БД, но это не главное. Главное - именно мнезия превращает Эрланг в настоящий язык параллельного программирования, раскрывая всю его мощь. Глядя на мнезию, становится наконец понятно, как проектировать кластерные приложения, вот он, недостающий элемент.
Короче, секрет Эрлангистов раскрыт. Ну, теперь у нас дела пойдут. Когда разберусь, напишу.
проектирование,
erlang