|
|
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть сл. задача, необходимо ваше мнение. Поднимал тему в разделе Java, но посоветовали спросить в этой ветке. Дано: Веб-приложение. Серверная часть на Java. Клиенты подключаются с помощью стандартного браузера и производят операции над данными. Число клиентов – до 5000. Операции – просмотр (поиск, сортировка, фильтрация), создание, удаление, изменение записей. Данные находятся в реляционной БД. Возможны ситуации, когда более чем один пользователь вносит изменения в один объект модели данных. Эти изменения могут быть не конфликтующими (пользователи изменяют разные поля и это не нарушает целостность данных) и конфликтующими (пользователи изменяют одно и то же поле(поля) или же разные поля с нарушением целостности данных или связанные поля разных объектов так же с нарушением целостности). Задача: Реализовать подсистему обнаружения и разрешения коллизий в веб-приложении с высокой эффективностью, минимальными затратами на передачу данных между клиентом и сервером и минимальным эффектом на производительности клиентской и серверной части. Вопросы: 1. Стандартные / распространённые / общепринятые способы разрешения таких коллизий в веб-приложениях 2. Существующие реализации этих способов в продуктах / фреймворках / библиотеках и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 12:18:54 |
|
||
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
simonov21но посоветовали спросить в этой ветке.Не вижу такого. Если у вас есть MySQL-специфичные вопросы - задавайте. Если нет - перенесу топик в подфорум Программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 12:41:19 |
|
||
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
Это вопрос не по Java. Ищи по ключевым словам SQL, DBMS, Optimistic/Pessimistic locking. вот из этой темы http://www.sql.ru/forum/1189346-a/razreshenie-kolliziy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 12:55:32 |
|
||
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
simonov21 Это вопрос не по Java. Ищи по ключевым словам SQL, DBMS, Optimistic/Pessimistic locking. вот из этой темы http://www.sql.ru/forum/1189346-a/razreshenie-kolliziy Это я видел. Только вам дали общие термины, не привязанные к конкретной СУБД. А MySQL - это конкретная СУБД. Если хотите, мы, конечно, можем начать грузить вас различиями в блокировках между движками MyISAM и InnoDB, но сомневаюсь, что вам нужно именно это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 12:57:41 |
|
||
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
Если хотите, мы, конечно, можем начать грузить вас различиями в блокировках между движками MyISAM и InnoDB Хочу) грузите пожалуйста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 13:07:51 |
|
||
|
Разрешение коллизий в БД
|
|||
|---|---|---|---|
|
#18+
simonov21, Если кратко, то общий смысл такой - в MyISAM блокируется только вся таблица целиком, поэтому разные сессии могут вносить изменения строго по очереди. Если нужно внести согласованные данные сразу в несколько таблиц и если есть риск нарушения это согласованности при одновременной работе сразу нескольких сессий, то приходится сначала явно блокировать все нужные таблицы, вносить изменения, разблокировать таблицы. Что приводит к резкому падению производительности в условиях частой модификации данных. В общем, к использованию не рекомендуется. - в InnoDB блокировки обычно построчные, присутствует механизм транзакций. Модифицированные записи блокируются до коммита. Возможно самостоятельно блокировать нужные записи в произвольном наборе таблиц от модификации другими сессиями. Подробнее см. тынц (первые три подраздела). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 13:19:03 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39124052&tid=1832395]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 350ms |

| 0 / 0 |
