![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Задача: реализовать хранение связок "логин, пароль и т.п." для пользователей. Связок у пользователя может быть много. Структура связок хаотична т.е. это можем быть не логин-пароль, а ключь или логин и два пароля.
Организована система следующим образом. Есть таблица пользователей: id, name, xml. Поле xml имеет тип text и содержит полноценный XML документ. Все связки инкапсулированны в XML документ. 1 элимент - 1 связка. Безопасность подхода не рассматривает т.к. пример сильно изменен для наглядности - реально мы храним другие данные, но их структура совпадает со связками доступа. В общем, на основание всего вышеизложенного есть следующие вопросы: 1. Легально ли в данном случае использовать движок MyISAM? Как видите - выборка тут идет только по id, но поле xml часто обновляется полностью. + Другие таблица по хорошему часто будет ссылаться на этот id. 2. На сколько разумно вообще тут использовать XML? Работы с ним много (добавление связок, выборка связок по условиям, удаление связок, обновление связок). 3. Что произойдет внутри движка MyISAM, если несколько пользователей одновременно обновят свои XML? И при какой частоте обращений к таблице начинаются подобные проблемы? (Я прочитал, что update в MyISAM блокирует таблицу, но это теория - не как не могу осознать масштабы практических проблем). Это сообщение отредактировал(а) BuShaRt - 17.4.2013, 17:38 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
MyISAM умеет foreign key? Проверка FK требует shared лока. С учетом того, кто гранулярность блокировки MyISAM - таблица, иненсивная модификация связаных таблиц сделает недоступной модификацию мастер таблицы. На сколько разумно вообще тут использовать MySQL. ![]() В один момент времени изменять данные в таблице может только одна сессия. Все остальные сессии, пытающиеся модифицировать таблицу, в это время ожидают на блокировке. Среднее время ожидания тем больше, чем больше одновременных попыток изменения данных. Полный коллапс наступает тогда, когда скорость прироста количества модифицирующих сессий достигает и превышает скорость выполнения операции модификации. Это сообщение отредактировал(а) Zloxa - 18.4.2013, 00:17 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |