Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / IBM DB2 vs MS SQL / 25 сообщений из 35, страница 1 из 2
22.02.2011, 12:41
    #37130226
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Стала задача миграции c postgress на один из 2 вариантов
MS SQL или IBM DB2

Если проблемы при переходе с PG на MS могу оценить, то с оценкой перехода на IBM тяжеловато.
Прошу помощи и подсказки в оценки сложности/не совеместимости диалектов, типов данных..
...
Рейтинг: 0 / 0
22.02.2011, 13:16
    #37130333
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Voland_de_mortСтала задача миграции c postgress на один из 2 вариантов
MS SQL или IBM DB2
Поскольку попил бабла - нетехническая задача, то оптимальный выбор обычно делается с
помощью ГСЧ (ака "монетка").
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.02.2011, 13:18
    #37130336
Росгоснанораспилтрест
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
А за что больше отката дают?
...
Рейтинг: 0 / 0
22.02.2011, 13:48
    #37130427
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Voland_de_mortСтала задача миграции c postgress на один из 2 вариантов
MS SQL или IBM DB2

Если проблемы при переходе с PG на MS могу оценить, то с оценкой перехода на IBM тяжеловато.
Прошу помощи и подсказки в оценки сложности/не совеместимости диалектов, типов данных..
db2 при такой постановки сильно проигрывает, там нет версионного механизма вообще. на мсскл и его snapshot isolation level портировать PG будет гораздо проще. диалекты и типы фигня, под db2 вам полностью концепцию менять придется.
а чем Pg не устроил, что мигрировать задумали ? почему такие странные кандидаты на миграцию ?
...
Рейтинг: 0 / 0
22.02.2011, 13:51
    #37130433
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
кандидаты связаны с тем, какие сервера стоят на стороне заказчика. Новое ПО ставить не будут.
...
Рейтинг: 0 / 0
22.02.2011, 13:52
    #37130435
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.! db2 при такой постановки сильно проигрывает, там нет версионного механизма вообще. на мсскл и его snapshot isolation level портировать PG будет гораздо проще. диалекты и типы фигня, под db2 вам полностью концепцию менять придется.


а в чем концепт менять прийдется? Где подводные камни будут?
...
Рейтинг: 0 / 0
22.02.2011, 13:57
    #37130451
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Voland_de_mortкандидаты связаны с тем, какие сервера стоят на стороне заказчика. Новое ПО ставить не будут.

Что, у заказчика вот так одновременно стоят два недешёвых SQL сервера?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.02.2011, 14:18
    #37130515
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Voland_de_mortа в чем концепт менять прийдется? Где подводные камни будут?
в том что нельзя портировать в лоб. почитайте что такое версионный механизм, чем отличается от блокировочного. вкратце у Pg версионный механизм, там select читает согласованные данные на момент старта запроса не накладывая блокировок, db2 дефолтный режим читает несогласованную кашу накладывая блокиовки. т.е. если вы начнете портировать с Pg в лоб получите кашу вместо результата и тьму дедлоков. а если у вас еще длинные читающие запросы есть (репорты например) так и вовсе без перепроектирвания таблиц не обойтись.
...
Рейтинг: 0 / 0
22.02.2011, 14:57
    #37130622
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.!Voland_de_mortа в чем концепт менять прийдется? Где подводные камни будут?
в том что нельзя портировать в лоб. почитайте что такое версионный механизм, чем отличается от блокировочного. вкратце у Pg версионный механизм, там select читает согласованные данные на момент старта запроса не накладывая блокировок, db2 дефолтный режим читает несогласованную кашу накладывая блокиовки. т.е. если вы начнете портировать с Pg в лоб получите кашу вместо результата и тьму дедлоков. а если у вас еще длинные читающие запросы есть (репорты например) так и вовсе без перепроектирвания таблиц не обойтись.

ок, я понял. Надеялся, что не все так печально с ISOLATION LEVEL в DB2
по мимо блокировок и связанных с ними проблем, что еще может доставить неприятности?
...
Рейтинг: 0 / 0
22.02.2011, 14:58
    #37130623
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
РосгоснанораспилтрестА за что больше отката дают?
отката не дают) и деньгу не делим..
...
Рейтинг: 0 / 0
22.02.2011, 15:29
    #37130704
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.!Voland_de_mortа в чем концепт менять прийдется? Где подводные камни будут?
в том что нельзя портировать в лоб. почитайте что такое версионный механизм, чем отличается от блокировочного. вкратце у Pg версионный механизм, там select читает согласованные данные на момент старта запроса не накладывая блокировок, db2 дефолтный режим читает несогласованную кашу накладывая блокиовки. т.е. если вы начнете портировать с Pg в лоб получите кашу вместо результата и тьму дедлоков. а если у вас еще длинные читающие запросы есть (репорты например) так и вовсе без перепроектирвания таблиц не обойтись.В db2 9.7 вы не получите локов и дедлоков больше, чем у вас их уже есть.
Read consistency важна только для тех алгоритмов, где это действительно нужно, для алгоритмов, которые написаны именно с учётом такого поведения сервера.
А это, мягко говоря, не для каждого алгоритма нужно.
Вот скажите, Yo!, вы что, телепат, чтобы говорить такие вещи про систему, о которой вы вообще ничего не знаете?
...
Рейтинг: 0 / 0
22.02.2011, 15:49
    #37130761
Bogdanov Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Mark BarinsteinRead consistency важна только для тех алгоритмов, где это действительно нужно, для алгоритмов, которые написаны именно с учётом такого поведения сервера.Read consistency важна для большинства операций в приложении занимающемся финансовым/бухгалтерским (насчет остальных врать не буду) учетом. Это не является проблемой для блокировочника, так как разработчики уже соответствующим образом ориентированы и привыкли это предусматривать.
Разработчики, использующие версионники, обычно вообще не задумываются над согласованным чтением, так как версионник автоматически обеспечивает такое поведение. То есть там все операции уже "написаны именно с учётом такого поведения сервера". При переходе на блокировочник, в котором по умолчанию read consistency отсутствует, такая система гарантиировано огребет кучу проблем - потребуется либо внимательнейшим образом анализировать все операции на предмет возможности отказа от согласованного чтения, либо тупо повысить уровень изоляции, увеличив соответствующим образом и количество блокировок.
...
Рейтинг: 0 / 0
22.02.2011, 18:02
    #37131129
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Mark BarinsteinВ db2 9.7 вы не получите локов и дедлоков больше, чем у вас их уже есть.

глупости. в 9.7 просто введено чуть больше разновидностей "грязного" чтения (формально удолетворяет ansi RC, но по сути грязное). меньше локов -> больше сюрпризов, не известно что еще лучше.

Mark BarinsteinRead consistency важна только для тех алгоритмов, где это действительно нужно, для алгоритмов, которые написаны именно с учётом такого поведения сервера.
А это, мягко говоря, не для каждого алгоритма нужно.
Вот скажите, Yo!, вы что, телепат, чтобы говорить такие вещи про систему, о которой вы вообще ничего не знаете?
система спроектирована под версионник и ТС никогда не сталкивался с блокировочными механизмами. тут не нужно быть телепатом, что бы гарантировать, что на блокировочнике версионная концепция огребет по полной. Read consistency просто один из моментов. а еще есть блокировки при чтении, эскалация и многое другое.
если в его системе длинный отчет читает данные во время OLTP нагрузки так и вовсе пол системы придется перепроектировать заново.
...
Рейтинг: 0 / 0
22.02.2011, 18:42
    #37131206
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.!Mark BarinsteinВ db2 9.7 вы не получите локов и дедлоков больше, чем у вас их уже есть.
глупости. в 9.7 просто введено чуть больше разновидностей "грязного" чтения (формально удолетворяет ansi RC, но по сути грязное). меньше локов -> больше сюрпризов, не известно что еще лучше.Где именно в моём утверждении вы нашли глупость?
"грязное" чтение есть возможность увидеть незакомиченные чтения других приложений.
Если у вас есть своё понятие "грязного" чтения, не смешивайте его с ansi уровнями.
По какой же такой вашей сути оно "грязное"?
Yo.!система спроектирована под версионник и ТС никогда не сталкивался с блокировочными механизмами. тут не нужно быть телепатом, что бы гарантировать, что на блокировочнике версионная концепция огребет по полной. Read consistency просто один из моментов. а еще есть блокировки при чтении, эскалация и многое другое.
если в его системе длинный отчет читает данные во время OLTP нагрузки так и вовсе пол системы придется перепроектировать заново.Все эти проблемы с эскалацией рашаются увеличением locklist.
По-умолчанию запросы работают на уровне CS, в том числе и "длинные отчёты".
Т.е. блокируется только текущая строка, на которой курсор стоит.
Читетели и писатели не блокируют друг друга.
Что надо перепроектировать?

2 ТС:
При переносе системы надо проанализировать все алгоритмы в приложении, которые могут начать неправильно работать из-за отсутствия read consistency, если такие алгоритмы вообще есть.
Отсальные возможные проблемы не так значительны.

2 Yo.!:
Большая просьба - не пишите, пожалуйста, о том, чего не знаете.
А именно о том, как там в DB2 всё работает.
Просто вы либо намеренно, либо нет, но постоянно вводите людей в заблуждение...
...
Рейтинг: 0 / 0
22.02.2011, 19:44
    #37131267
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo любит потроллить на эту тему, только правда вся в том что при исполнении OLTP-операций все системы ведут себя как блокировочник.
А снэпшот вещь конечно-же полезная, но для отчетов а не операций.
...
Рейтинг: 0 / 0
23.02.2011, 02:22
    #37131617
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Mark Barinstein"грязное" чтение есть возможность увидеть незакомиченные чтения других приложений.
Если у вас есть своё понятие "грязного" чтения, не смешивайте его с ansi уровнями.

раз у вас такое трепетное отношение к терминам ansi я буду называть его "грязное+", годиться ?

Mark BarinsteinПо какой же такой вашей сути оно "грязное"?
у CS без last committed феномен lost update приключался иногда, CS c last committed (дефолтный с 9.7) феномен lost update просто гарантирует. поэтому я позиционирую этот IL как "грязное+", он слабей обычного CS.

Mark BarinsteinВсе эти проблемы с эскалацией рашаются увеличением locklist.
По-умолчанию запросы работают на уровне CS, в том числе и "длинные отчёты".
Т.е. блокируется только текущая строка, на которой курсор стоит.
Читетели и писатели не блокируют друг друга.
Что надо перепроектировать?

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

Ggg_oldYo любит потроллить на эту тему, только правда вся в том что при исполнении OLTP-операций все системы ведут себя как блокировочник.
А снэпшот вещь конечно-же полезная, но для отчетов а не операций.
ну давай разберемся где правда. примитивный пример есть таблица accounts с полями id, acc_number, balance, вторая движение payments (id, acc_id, amount). т.е. ели с одного счета на другой перебрасывается сумма 20, то в одной транзакции с одного счета -20, на другой счет +20 и обновление балансов обоих счетов. покажи на блокировочнике как получить сумму средств на всех счетах не прерывая поток пишущих транзакций ?
...
Рейтинг: 0 / 0
23.02.2011, 02:29
    #37131621
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.!ну давай разберемся где правда. примитивный пример есть таблица accounts с полями id, acc_number, balance, вторая движение payments (id, acc_id, amount). т.е. ели с одного счета на другой перебрасывается сумма 20, то в одной транзакции с одного счета -20, на другой счет +20 и обновление балансов обоих счетов. покажи на блокировочнике как получить сумму средств на всех счетах не прерывая поток пишущих транзакций ?Ggg_old же написал - да, для отчетов полезно
ну где еще сумма всех счетов нужна?
...
Рейтинг: 0 / 0
23.02.2011, 02:52
    #37131623
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
SergSuperGgg_old же написал - да, для отчетов полезно
ну где еще сумма всех счетов нужна?
оно полезно везде где читатели сталкиваются с писателями и каша выдаваемая на уровне RC не канает. где нужна - смотри TPC-E
...
Рейтинг: 0 / 0
23.02.2011, 04:37
    #37131641
Alexander Ryndin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Не спора ради, а для общего развития - как в отсутствии read consistency можно сделать, например, экспорт таблички?
...
Рейтинг: 0 / 0
23.02.2011, 08:45
    #37131703
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo, там не каша, если голову приложить.
У меня будет табличка проводок с указанием времени проводки. И когда я захочу получить состояние системы на момент времени N какой угодно с момента старта системы, то логическая структура должна мне это позволить. Соответсвенно при старте отчета фиксируется время его запуска, потом селектятся все операции до этого момента времени. Т.К. эти записи операций не изменны (должны быть неизменны если все сделано правильно) и они не будут конкурировать с OLTP транзакциями то оно пройдет без прямой конкурнеции с горячими транзакциями, которые сам уже будут драться между собой. Я не хочу вдаваться в глуби, но так работала банковская система на моей предыдущей работе.
Но иметь снэпшот или ласткомиттед очень конечно полезно, но не критично.
По крайней мере многие биг системы в мире написаны и работают еще на мэйнфреймах в 70х и 80х годах и обслуживают абонентов по всему миру. А там не то что снэпшота, а и просто реляционка то не везде стоит.
...
Рейтинг: 0 / 0
23.02.2011, 08:48
    #37131705
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Но многие системы так не написаны и приходится видать спасаться снэпшотом. Эт да, не поспоришь.
...
Рейтинг: 0 / 0
23.02.2011, 11:10
    #37131842
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Alexander RyndinНе спора ради, а для общего развития - как в отсутствии read consistency можно сделать, например, экспорт таблички?
наложив шаред лок, стопорнув всех писателей ...

2Ggg_old

как выкручиваются у блокировочников я прекрасно знаю. я дал простой пример патерна достаточно часто встречающегося в версионниках. давай, покажи на это примере как ты без тотального редизайна ты собрался перенести на блокировочник. каждый раз вычислять баланс прочесывая таблицу payments уже на первом миллионе система захлебнется.
...
Рейтинг: 0 / 0
23.02.2011, 11:27
    #37131859
Alexander Ryndin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo.!Alexander RyndinНе спора ради, а для общего развития - как в отсутствии read consistency можно сделать, например, экспорт таблички?
наложив шаред лок, стопорнув всех писателей ...
Хотелось бы услышать не от вас Yo.!
...
Рейтинг: 0 / 0
23.02.2011, 11:32
    #37131863
Voland_de_mort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
DB2 поддерживает какие-то дополнительные расширения?
Такие как С# в MS SQL, pl/perl, pl/java в Postgree?
...
Рейтинг: 0 / 0
23.02.2011, 12:29
    #37131936
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM DB2 vs MS SQL
Yo, то не выкручивание ради блокировочника, а требование к системе иметь возможность получить ее состояние на любой момент времени, хоть на год назад. Когда так делается система, то и архитекура получается такой что дает возможность нормально работать и на блокировочнике и еще лучше если есть ласткоммитед/снэпшот. И согласителсь, что снэпшот к решению это задачи не имеет отношения, это вопрос архитектуры хранения данных.
Я просто не работал в бизнесе, а только в банках, и у нас есть понятие банковского дня, на конец которого все подсчитывается и закрывается и больше проводок туда задним числом не делается (это в идеале конечно). Посему подсчет текущего остатка на счете происходит как взять остаток на начало дня и накатить пяток другой операций за текущий день до момента начала операции. Посему и отчеты, которым не критично получить горячий остаток на счете в такой схеме в такой схеме работают нормально, во всяком случае фактор того что отчет грузит ввод-вывод и вымывает кэш уже становятся важными, ну и ресурсы на шаред локи тоже расходуются.
А если отчеты строятся по горячим записям и конкуренция как по локам так и по вводу/выводу становится такой, что система впадает в ступор, то как по мне правильно сделать второй отчетный сервер, по своместительсву резервный и пусть он колбасит отчеты.
Но я с вами конечно соглашаюсь, что наличие дополнительной возможности как снэпшот может решить задачу расчистки авгиевых конюшен в каждом конкретном случае без перепроектирования, покупки доп.серверов и другого гемора.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / IBM DB2 vs MS SQL / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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