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

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

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


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

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

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

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

Mark BarinsteinRead consistency важна только для тех алгоритмов, где это действительно нужно, для алгоритмов, которые написаны именно с учётом такого поведения сервера.
А это, мягко говоря, не для каждого алгоритма нужно.
Вот скажите, Yo!, вы что, телепат, чтобы говорить такие вещи про систему, о которой вы вообще ничего не знаете?
система спроектирована под версионник и ТС никогда не сталкивался с блокировочными механизмами. тут не нужно быть телепатом, что бы гарантировать, что на блокировочнике версионная концепция огребет по полной. Read consistency просто один из моментов. а еще есть блокировки при чтении, эскалация и многое другое.
если в его системе длинный отчет читает данные во время OLTP нагрузки так и вовсе пол системы придется перепроектировать заново.
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131206
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
IBM DB2 vs MS SQL
    #37131267
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo любит потроллить на эту тему, только правда вся в том что при исполнении OLTP-операций все системы ведут себя как блокировочник.
А снэпшот вещь конечно-же полезная, но для отчетов а не операций.
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131617
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
IBM DB2 vs MS SQL
    #37131621
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ну давай разберемся где правда. примитивный пример есть таблица accounts с полями id, acc_number, balance, вторая движение payments (id, acc_id, amount). т.е. ели с одного счета на другой перебрасывается сумма 20, то в одной транзакции с одного счета -20, на другой счет +20 и обновление балансов обоих счетов. покажи на блокировочнике как получить сумму средств на всех счетах не прерывая поток пишущих транзакций ?Ggg_old же написал - да, для отчетов полезно
ну где еще сумма всех счетов нужна?
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131623
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuperGgg_old же написал - да, для отчетов полезно
ну где еще сумма всех счетов нужна?
оно полезно везде где читатели сталкиваются с писателями и каша выдаваемая на уровне RC не канает. где нужна - смотри TPC-E
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131641
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не спора ради, а для общего развития - как в отсутствии read consistency можно сделать, например, экспорт таблички?
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131703
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo, там не каша, если голову приложить.
У меня будет табличка проводок с указанием времени проводки. И когда я захочу получить состояние системы на момент времени N какой угодно с момента старта системы, то логическая структура должна мне это позволить. Соответсвенно при старте отчета фиксируется время его запуска, потом селектятся все операции до этого момента времени. Т.К. эти записи операций не изменны (должны быть неизменны если все сделано правильно) и они не будут конкурировать с OLTP транзакциями то оно пройдет без прямой конкурнеции с горячими транзакциями, которые сам уже будут драться между собой. Я не хочу вдаваться в глуби, но так работала банковская система на моей предыдущей работе.
Но иметь снэпшот или ласткомиттед очень конечно полезно, но не критично.
По крайней мере многие биг системы в мире написаны и работают еще на мэйнфреймах в 70х и 80х годах и обслуживают абонентов по всему миру. А там не то что снэпшота, а и просто реляционка то не везде стоит.
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131705
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но многие системы так не написаны и приходится видать спасаться снэпшотом. Эт да, не поспоришь.
...
Рейтинг: 0 / 0
IBM DB2 vs MS SQL
    #37131842
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander RyndinНе спора ради, а для общего развития - как в отсутствии read consistency можно сделать, например, экспорт таблички?
наложив шаред лок, стопорнув всех писателей ...

2Ggg_old

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


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