Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / преимущества блокировочника по сравнению с версионниками / 17 сообщений из 17, страница 1 из 1
01.10.2014, 11:05
    #38763001
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
пожалуйста, подскажите

из недостатков блокировочников, насколько я знаю, более сложная и следовательно более дорогая разработка
потому как легче разрабатывать когда читатели и писатели не блокируют друг друга

из преимуществ, предположительно, меньше операций записи на дисковый массив, тогда как версионник каждую версию данных вынужден отдельно хранить, вроде бы так если упрощенно?

и если можно, вкратце преимущества db2 по сравнению с postgresql и/или enterprisedb
...
Рейтинг: 0 / 0
01.10.2014, 14:27
    #38763316
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
sanyock2,

Если что то рассматривать из версионников, то MSSQL имхо (опять же проще в администрировании)!
Db2 имеет ряд недостатков, имхо!!!
...
Рейтинг: 0 / 0
01.10.2014, 16:17
    #38763569
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
medoedsanyock2,
Если что то рассматривать из версионников, то MSSQL имхо

почему?

medoed(опять же проще в администрировании)!

это неважно
интересует под линукс
к MSSQL наиболее близкий, наверно, Sybase

medoedDb2 имеет ряд недостатков, имхо!!!

DB2 - не версионник
...
Рейтинг: 0 / 0
01.10.2014, 16:43
    #38763628
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
sanyock2medoedsanyock2,
Если что то рассматривать из версионников, то MSSQL имхо

почему?

medoed(опять же проще в администрировании)!

это неважно
интересует под линукс
к MSSQL наиболее близкий, наверно, Sybase

medoedDb2 имеет ряд недостатков, имхо!!!

DB2 - не версионник
Мде описАлся я! Конечно и MSSQL и DB2 блокировочники... Если под линукс, то да MSSQL не подойдет! :(
Чем мне нравится MSSQL - это процедуры, можно селект не заморачиваясь оттуда вернуть, удобно отлаживать, есть темповые таблицы и табличные переменные, можно триггеры дисейблезировать! Linked servers делаются на ура к любым СУБД. Многое можно делать визуально, а не скриптами. Студия удобная, родная!!! Профайлер удобный, опять же все визуально можно отловить, не то что всякими там мониторами как в DB2.

В DB2 есть прелести, но их не так много, имхо!!!
...
Рейтинг: 0 / 0
01.10.2014, 17:21
    #38763693
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
medoedDB2 - не версионник
MSSQL и DB2 блокировочники... [/quot]

MSSQL может быть как блокировочником, так и версионником в зависимости от опции, вроде бы начиная с юкона
...
Рейтинг: 0 / 0
01.10.2014, 17:27
    #38763709
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
medoedЧем мне нравится MSSQL - это процедуры, можно селект не заморачиваясь оттуда вернуть, удобно отлаживать, есть темповые таблицы и табличные переменные, можно триггеры дисейблезировать! Linked servers делаются на ура к любым СУБД.


ну этого разве что в абцессе нет
в плане linked servers кажется привлекательной связка
версионник_postgress -> бесплатная db2, любая другая субд

medoedМногое можно делать визуально, а не скриптами. Студия удобная,

удобная, но уже тяжеловата и шевелится почти как стуцдия db2 на джаве

medoedродная!!!

пофик

medoedПрофайлер удобный, опять же все визуально можно отловить, не то что всякими там мониторами как в DB2.
В DB2 есть прелести, но их не так много, имхо!!!
за ваши деньги любой каприз внешними инструментами типа тоадов и т.п.
...
Рейтинг: 0 / 0
01.10.2014, 17:31
    #38763715
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
пожалуйста, не обсуждайте MSSQL, это вообще не вариант пока MS не родит версию под linux
...
Рейтинг: 0 / 0
01.10.2014, 17:38
    #38763745
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
sanyock2,

Дык postgresql вроде по синтаксису похожа на Oracle и условно бесплатная, может ее и стоит заюзать?
...
Рейтинг: 0 / 0
01.10.2014, 17:52
    #38763777
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
medoedsanyock2,

Дык postgresql вроде по синтаксису похожа на Oracle и условно бесплатная, может ее и стоит заюзать?


оракл мне неинтересен

хотелось бы узнать о преимуществах блокировочника по сравнению с версионником и в частности DB2 по сравнению с Postgres,
хотя наверно как всегда "смотря для чего", если не учитывать разницу, которая обусловлена открытый/закрытый,
фактор стоимости тоже не особо важен
ну хотя бы основные важные почти для всех преимущества db2

если считать, что есть платный оперативный сапорт для того и другого
...
Рейтинг: 0 / 0
02.10.2014, 11:55
    #38764549
Warstone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
В общем случае у блокировочника более быстрый селект и инсерт... немного, но скорость блокировочника падает в 0, если идет и селвект и инсерт одновременно... То есть для хоть какого-то хай-лоада блокировочник не применим в принципе. Так-же как и для пишущих транзакций, так как если вы в пишущей транзакции все встали в очередь. Версионник избавлен от этих недостатков (ценой чуть более дорогого доступа к данным, с которым все версионники борются по разному).

Вообще: Если характер нагрузки "Положили, потом раздаем", то блокировочник будет чуть быстрее, но почему в этом случае не раздавать статикой (хотя это не всегда возможно). В остальных случаях - только версионник. Ну или MySQL с MyISAM'ом, если вас целостность данных не сильно беспокоит (а это бывает довольно часто).
...
Рейтинг: 0 / 0
02.10.2014, 18:28
    #38765268
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
sanyock2,

Версионник vs блокировочник в конечном счёте (в проекции на приложение) ложатся на оптимистичесую vs писсемистическую стратегии concurrency control.
Для одних приложений лучше одно, для других - другое.

Версионник вполне может нахлебаться транзакциями, отменяемыми в финале из-за конкурентного доступа, получив лавинообразное их увеличение из-за попыток повтора.
В то же время с блокировочником вполне можно работать в режиме optimistic locking (правда это требует большого количества подпрыгиваний):
http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.dbobj.doc/doc/c0051496.html

С другой стороны, сериализация доступа к данным может быть уместна, а может быть и пустой тратой времени.

IMHO в конечном счёте всё упрётся в квалификацию разработчиков.
Для блокировочника она должна быть высокой, чтобы приложение работало быстро, а для версионника - чтобы работало корректно.
...
Рейтинг: 0 / 0
03.10.2014, 12:44
    #38765956
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
По мне, все эти рассуждения сродни рассуждениям о том, сколько ангелов уместится на конце иглы. У http://jonathanlewis.wordpress.com/ среди цитат есть "Richard Feynman: It doesn’t matter how beautiful your theory is, it doesn’t matter how smart you are. If it doesn’t agree with experiment, it’s wrong". (Ну, а если эксперимент вообще нельзя провести...).

Эксперименты же ставятся в конкретных заданных условиях и должны быть воспроизводимыми. В нашем случае...

1. Для начала, надо выбрать модель. Например, если моделировать то, с чем я имею дело в нашей конторе, те юзера, что занимаются вводом, работают на своих "делянках" и не пересекаются друг с другом, а те, что занимаются отчётами, строят их по тем данным, ввод которых давным-давно завершён. Очевидно, блокировки и уровни изоляции СУБД здесь практически безразличны. Очевидно, в других моделях могут быть другие ситуации.

2. Выбрать СУБД и версии. Отмечу, что DB2 давно перестала быть чистым блокировочником, и может не блокировать во многих ситуациях, в которых блокировала раньше. (Надо поставить адекватные настройки для определённой модели).

3-... Далее можно создать структуру БД, заполнить таблицы данными, написать код. Провести нагрузочные тестирования и сравнения. Обсудить условия и получившиеся результаты. Провести корректировки с повторными тестами, если нужно.

Первое обязательно.

Второе важно, потому что "версионники" и между собой сильно разнятся, "блокировочники" тоже, поэтому их поведение может сильно разниться на одной и той же модели.

Третье очень трудоёмко и потому возникает соблазн заменить это "мысленным экспериментом", но реальность так не изучить и цфир не получить. А реальность любит преподносить сюрпризы. Разумеется, при реальном эксперименте в тестировании влезает куча реальных посторонних факторов, вроде настроек буферов, способностей оптимизатора, адекватности индексирования и пр. С другой стороны, а нужен кому-то реально ответ на абстрактный вопрос "преимущества блокировочника по сравнению с версионниками", а не на конкретный "какую СУБД имеет смысл выбрать для такого-то проекта"?
...
Рейтинг: 0 / 0
03.10.2014, 12:46
    #38765963
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
medoedsanyock2,

Дык postgresql вроде по синтаксису похожа на Oracle и условно бесплатная, может ее и стоит заюзать?

DB2 намного более похожая (в смысле - гораздо более совместимая по коду с Oracle), кстати.
...
Рейтинг: 0 / 0
03.10.2014, 17:06
    #38766442
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
Victor Metelitsamedoedsanyock2,

Дык postgresql вроде по синтаксису похожа на Oracle и условно бесплатная, может ее и стоит заюзать?

DB2 намного более похожая (в смысле - гораздо более совместимая по коду с Oracle), кстати.
Тут не спорю, но автору Oracle как раз не интересует. Поэтому такая схожесть ему пофиг...
...
Рейтинг: 0 / 0
04.10.2014, 09:48
    #38766794
sanyock2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
Victor Metelitsa2. Выбрать СУБД и версии. Отмечу, что DB2 давно перестала быть чистым блокировочником, и может не блокировать во многих ситуациях, в которых блокировала раньше. (Надо поставить адекватные настройки для определённой модели).


наверно про это:
http://freedb2.com/new-cool-stuff-in-db2-express-c-9-7-new-concurency-model/
насколько такое неблокирование срабатывает реже, неблокирование в чистых версионниках типа PostgreSQL, Firebird?


Victor MetelitsaТретье очень трудоёмко и потому возникает соблазн заменить это "мысленным экспериментом", но реальность так не изучить и цфир не получить. А реальность любит преподносить сюрпризы. Разумеется, при реальном эксперименте в тестировании влезает куча реальных посторонних факторов, вроде настроек буферов, способностей оптимизатора, адекватности индексирования и пр. С другой стороны, а нужен кому-то реально ответ на абстрактный вопрос "преимущества блокировочника по сравнению с версионниками", а не на конкретный "какую СУБД имеет смысл выбрать для такого-то проекта"?

перед сравнением DB2 с версионником, хотелось бы лучше понять аспекты сравнения сферического блокировочника со сферическим версионником в области concurrency, понятно, что реализации как блокировочников, так и версионников немного отходят от чистой теории и где ты пытаются по своему оптимизировать, улучшить, кастомизировать
...
Рейтинг: 0 / 0
12.10.2014, 12:27
    #38774278
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
[quot sanyock2]Victor Metelitsa
перед сравнением DB2 с версионником, хотелось бы лучше понять аспекты сравнения сферического блокировочника со сферическим версионником в области concurrency, понятно, что реализации как блокировочников, так и версионников немного отходят от чистой теории и где ты пытаются по своему оптимизировать, улучшить, кастомизировать

1. сферический блокировочник требует заметно более сложного проектирования и знаний от архитекта. там где студент на версионнике просто нафигачит поле баланс, блокировочнику нужно будет нагородить кучу дополнительных структур, что бы вовремя обновления баланса, вся система не встала раком на блокировках чтения этого баланса.

2. нужно детально разбираться во всем зоопарке блокировок. блокировки предикатов, блокировки намерений и прочая муть. нужно разбираться в хинтах аля skip_committed ...

3. Read Committed у блокировочника не гарантирует ничего. нет даже гарантии, что ты не получишь в результируемом наборе одну и ту же запись дважды или трижды (если ее за время RC чтения обновили и запись "переехала"), а применение более высоких уровней изолированности опасно дедлоками
...
Рейтинг: 0 / 0
13.10.2014, 12:03
    #38774912
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преимущества блокировочника по сравнению с версионниками
Взять двух абстрактных сферических коней, прибавить к ним конкретную слегка раскисшую от дождя дорожку, мысленно сравнить удобство управления сферическим жокеем тем или иным конём и присудить общую победу одному из коней - вот это, я понимаю, сравнение.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / преимущества блокировочника по сравнению с версионниками / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]