![]() |
|
Модераторы: 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% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |