Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 4 5 6 7 8 9 [10] 11 12 13   вперед  Ctrl
 Re: Система ЭОД - неудача или успех ?  [new]
Favn
Member

Откуда:
Сообщений: 585
Yo.!
where nvl(field1||field1,'ThisIsNull') = 'ThisIsNull'
на этом можно окончить с перфоменсом ?
Хорошо, сделали индекс ON tab1 (NVL(field1,'ThisIsNull'));

Я правильно понимаю, что теперь, чтобы его заметил оптимизатор, во всех запросах вместо
where field1 is null надо писать
where nvl(field1||field1,'ThisIsNull') = 'ThisIsNull'?
А во всех запросах с сортировкой, к примеру, писать order by nvl(field1,'ThisIsNull')?
16 сен 10, 10:13    [9447814]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67427
Блог
pkarklin
Александр, полагаю, Вы в курсе, что такая же "замечательная оптимизация" есть и у MS SQL?!

Ну, учитывая, что мы с Вами и с Merle ещё лет семь назад обсуждали тонкости её реализации в MSSQL - таки наверное в курсе :)

StalkerS
чем ближе система к чистой oltp (писателей больше, читателей меньше)

Могу лишь ещё раз подчеркнуть, что у Вас забавное (с моей личной точки зрения) представление об oltp. Для меня oltp - это "очень много более-менее простых писателей и ещё немного больше более-менее простых читателей".

StalkerS
(т.е. представьте, что вам необходимо сделать оракл для pure writing environment с нулевым или крайне незначительным числом читателей). Можно-ли оптимизировать теперь архитектуру Оракл (и как) с учетом этого?

В рассматриваемых моментах - скорее нет, чем да. Для того, чтобы отказаться от redo, нужно отказаться от журнализирования, инкрементальных бэкапов и вообще половины всего хорошего, что придумано с 70-го года. Чтобы отказаться от undo, придётся отказаться от восстановления после сбоев. Таким образом, если не говорить о глобальном редизайне и применении для тех же целей каких-либо принципиально иных механизмов - "оптимизировать" не получится. В том-то и прелесть версионности в Oracle, что она практически не потребляет дополнительных ресурсов, разница только в том, что информация в rollback сегментах дольше сохраняет статус актуальной.
16 сен 10, 10:19    [9447881]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67427
Блог
SergSuper
если конкретно - банк работал каждым филиалом в своей базе, потом решил что база должна быть общая, сеть теперь позволяет

И изначально не сделал репликации? Ну... в голове надо иметь не опилки, конечно. Хотя это лирика.

SergSuper
т.е. если надо перенести клиента, то сначала он проверялся в базе приемнике по ФИО, дате рождения, адресу .... и мне бы не помешал совет об эффективном выполнении

1. Создать в таблице уникальный индекс по набору проверяемых полей
2. insert into client select * from client@otherinstance log errors into err$client reject limit unlimited

SergSuper
но сейчас все работает автоматом

Критерии сравнения всё равно надо как-то задавать. В том числе по ним можно автоматом создать индекс - это не медленнее, чем писать руками a1.f = a2.f or a1.f is null and a2.f is null. В целом описанный способ - не быстрейший, но по скорость/простота для этого случая, пожалуй, оптимален.
16 сен 10, 10:29    [9447986]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
StalkerS
Member

Откуда: Melbourne
Сообщений: 1344
softwarer
Могу лишь ещё раз подчеркнуть, что у Вас забавное (с моей личной точки зрения) представление об oltp. Для меня oltp - это "очень много более-менее простых писателей и ещё немного больше более-менее простых читателей".

называйте как желаете. Главное, что-бы было понятно отличие систем с большим числом писателей и малым числом читателей (особенно читателей сравнительно тяжелых запросов, простые читатели типа select Name where ID = 567 не будут сильно долго видеть на блокировках в любом случае) и систем с большим числом читателей и малым писателей. Лень искать точное определение OLTP, но оно очень близко к первому типу

softwarer

В рассматриваемых моментах - скорее нет, чем да. Для того, чтобы отказаться от redo, нужно отказаться от журнализирования, инкрементальных бэкапов и вообще половины всего хорошего, что придумано с 70-го года. Чтобы отказаться от undo, придётся отказаться от восстановления после сбоев. Таким образом, если не говорить о глобальном редизайне и применении для тех же целей каких-либо принципиально иных механизмов - "оптимизировать" не получится. В том-то и прелесть версионности в Oracle, что она практически не потребляет дополнительных ресурсов, разница только в том, что информация в rollback сегментах дольше сохраняет статус актуальной.

зачем отказаться от журналирования, только от поддержки версий. Mне вот кажется сильно сомнительным, что никакие оптимизации не получится прикрутить. Скажем зачем у вас журнал разделен на 2 части - undo и redo и запись об одной и той-же операции пишется в оба места? Где-то читал, что это как раз оптимизиция под версионность
16 сен 10, 11:06    [9448297]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17472
автор
В том-то и прелесть версионности в Oracle, что она практически не потребляет дополнительных ресурсов

моя плакает. пляска REDO/UNDO/REDO и хранение дополнительных данных в блоках не потребляет ресурсов?
16 сен 10, 11:19    [9448394]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
sdvsamara
Member

Откуда: Самара
Сообщений: 201
StalkerS
зачем отказаться от журналирования, только от поддержки версий.


Дык в Oracle журналирование и есть поддержка версий. Если в нём отказаться от версионности, это означает отказаться от журналирования.
16 сен 10, 11:23    [9448425]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
StalkerS
Member

Откуда: Melbourne
Сообщений: 1344
sdvsamara
Дык в Oracle журналирование и есть поддержка версий. Если в нём отказаться от версионности, это означает отказаться от журналирования.

вот я к тому, что ваше журналирование выполнено по всей видимости с учетом оптимизации под версионность, и без этого возможно могла-бы быть реализована более оптимально
16 сен 10, 11:27    [9448450]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Yo.!
Guest
StalkerS

а почему ссылка на msdn по Visual Studio-тo? Нормальные ссылки давать нужно, типа этой


не знаю, 5 лет назад вела на мсскл

StalkerS
чем ближе система к чистой oltp (писателей больше, читателей меньше) тем меньше присутствует Reader/writer blocking и тем меньше здесь нужна версионность

это не правда. тест TPC-C, ничего более чистого не найти, транзакции вообще не пересекаются, ожиданий на блокировках там в принципе нет. казалось бы блокировочник тут должен быть просто на голову выше, правильно ? а что в суровой действительности ? оракл не смотря на "обузу" версионности на одинаковом железе быстрее даже в таком тесте.
16 сен 10, 11:46    [9448604]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
а что в суровой действительности ? оракл не смотря на "обузу" версионности на одинаковом железе быстрее даже в таком тесте.


А можно прямой линк, где "быстрее на одинаковом железе"? Дабы мне не копаться. Заранее благодарен!
16 сен 10, 11:50    [9448650]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Yo.!
Guest
pkarklin


А можно прямой линк, где "быстрее на одинаковом железе"? Дабы мне не копаться. Заранее благодарен!


вот против мсскл
http://oraclemind.blogspot.com/2006/11/tpc-c-oracle-10-vs-mssql2k5.html

вот против DB2
http://oraclemind.blogspot.com/2005/10/tpc-c-oracle-vs-ibm.html

а вот тут видно какое преимущество нужно обеспечить мсскл, чтоб вывести вперед:
http://oraclemind.blogspot.com/2006/11/tpc-c-oracle-10-vs-mssql2k5.html

т.е. по факту оракл со своей писаниной в UNDO и REDO сверху UNDO все равно оказывается быстрей, даже там где для блокировочника созданы более чем идеальные условия несталкивающихся транзакций.
16 сен 10, 12:05    [9448795]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
sdvsamara
Member

Откуда: Самара
Сообщений: 201
StalkerS
sdvsamara
Дык в Oracle журналирование и есть поддержка версий. Если в нём отказаться от версионности, это означает отказаться от журналирования.

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


Да журналирование и есть версионность. Мы же всё равно пишем предыдущее состояние строки в журнал для возможности отката. Оптимизированно там в том смысле, что журналирование ведётся так, чтобы удобно и быстро можно было доставать версии из журнала. Причём это дело развивается, раньше были rollback сегменты, а сейчас undo tablespace.
16 сен 10, 12:10    [9448825]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3789
Favn
Yo.!
where nvl(field1||field1,'ThisIsNull') = 'ThisIsNull'
на этом можно окончить с перфоменсом ?
Хорошо, сделали индекс ON tab1 (NVL(field1,'ThisIsNull'));

Я правильно понимаю, что теперь, чтобы его заметил оптимизатор, во всех запросах вместо
where field1 is null надо писать
where nvl(field1||field1,'ThisIsNull') = 'ThisIsNull'?
А во всех запросах с сортировкой, к примеру, писать order by nvl(field1,'ThisIsNull')?

или я туплю или таки строка в field1 со значением 'ThisIsNull' пройдет условие!!!!
16 сен 10, 12:18    [9448909]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Ivan Durak
или я туплю или таки строка в field1 со значением 'ThisIsNull' пройдет условие!!!!
'ThisIsNull' || 'ThisIsNull' = 'ThisIsNullThisIsNull'
16 сен 10, 12:20    [9448933]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
iv_an_ru
Member

Откуда: Новосибирск
Сообщений: 20368
sdvsamara
это дело развивается, раньше были rollback сегменты, а сейчас undo tablespace.

... и песенка ослика-ораклиста ушла в историю.
16 сен 10, 12:22    [9448950]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Yo.!
вот против мсскл
вот против DB2
а вот тут видно какое преимущество нужно обеспечить мсскл, чтоб вывести вперед:

мда.., любой коллекционер такому фанатизму и постоянству только позавидует. Подборки на одну тему с 2005 года!
16 сен 10, 12:23    [9448963]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3789
Зайцев Фёдор
Ivan Durak
или я туплю или таки строка в field1 со значением 'ThisIsNull' пройдет условие!!!!
'ThisIsNull' || 'ThisIsNull' = 'ThisIsNullThisIsNull'

о да, не заметил склейку.

Но честно говоря, это же не нормально
16 сен 10, 12:33    [9449078]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!,

Это здорево, конечно. Берем текущий ТОП 10 некластерных конфигураций для TPC-C:

http://www.tpc.org/tpcc/results/tpcc_perf_results.asp?resulttype=noncluster&version=5%¤cyID=0

Берем единственный результат MS SQL в этом списке:

http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=110083001

Total System Cost: 879,563 USD
Performance: 1,807,347 tpmC
Price/Performance: .49 USD per tpmC

CPU Type: Intel Xeon X7560 2.26GHz
Total # of Processors: 4
Total # of Cores: 32
Total # of Threads: 64


и ближайщий превосходящий результат Oracle:

http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=107103101

Total System Cost: 10,306,995 USD
Performance: 2,196,268 tpmC
Price/Performance: 4.70 USD per tpmC


Total # of Processors: 32
Total # of Cores: 64
Total # of Threads: 128

Апупеть, какое превосходство, аж на целых 12%, при разнице в стоимости оборудования более чем на порядок!!! Будем еще меряться?
16 сен 10, 12:42    [9449156]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Yo.!
Guest
Ivan Durak
Зайцев Фёдор
Ivan Durak
или я туплю или таки строка в field1 со значением 'ThisIsNull' пройдет условие!!!!
'ThisIsNull' || 'ThisIsNull' = 'ThisIsNullThisIsNull'

о да, не заметил склейку.

Но честно говоря, это же не нормально

да никто таким бредом не занимается, ну если боишся что ThisIsNull может встречатся ну возьми 256 бит ключ вместо ThisIsNull.
16 сен 10, 12:44    [9449179]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3789
Yo.!
Ivan Durak
Зайцев Фёдор
Ivan Durak
или я туплю или таки строка в field1 со значением 'ThisIsNull' пройдет условие!!!!
'ThisIsNull' || 'ThisIsNull' = 'ThisIsNullThisIsNull'

о да, не заметил склейку.

Но честно говоря, это же не нормально

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

это ненормально не потому, что строка может встретится, а потому, что простая проверка на нулл в такую херню превращается.
16 сен 10, 12:46    [9449192]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
StalkerS
Member

Откуда: Melbourne
Сообщений: 1344
Yo.!

не знаю, 5 лет назад вела на мсскл

ну здорово, дал ссылку и даже не посмотрел, куда она ведет
Yo.!

это не правда. тест TPC-C, ничего более чистого не найти, транзакции вообще не пересекаются, ожиданий на блокировках там в принципе нет. казалось бы блокировочник тут должен быть просто на голову выше, правильно ? а что в суровой действительности ? оракл не смотря на "обузу" версионности на одинаковом железе быстрее даже в таком тесте.

насколько помню, в суровой действительности новые версии скуля обычно отрабатывают тесты tpc быстрее текущей версии оракла
sdvsamara

Да журналирование и есть версионность. Мы же всё равно пишем предыдущее состояние строки в журнал для возможности отката. Оптимизированно там в том смысле, что журналирование ведётся так, чтобы удобно и быстро можно было доставать версии из журнала. Причём это дело развивается, раньше были rollback сегменты, а сейчас undo tablespace

ну так вот раз оптимизированно под версионность, значит уже не будет так оптимально в случае когда версионность не нужна, верно?
16 сен 10, 12:48    [9449216]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Yo.!
Guest
pkarklin

Апупеть, какое превосходство, аж на целых 12%, при разнице в стоимости оборудования более чем на порядок!!! Будем еще меряться?

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

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

StalkerS

насколько помню, в суровой действительности новые версии скуля обычно отрабатывают тесты tpc быстрее текущей версии оракла

ты путаешь желаемое с действитильным
16 сен 10, 12:56    [9449287]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!,

Теперь посмотрим сюда:

http://www.tpc.org/tpcc/results/tpcc_price_perf_results.asp?resulttype=noncluster

И понимаем, что тест "на одинаковом оборудовании" не совсем показателен. Точнее, он совсем не показателен. И видим, что при разнице в Price/tpmC в 25% MS SQL рвет Oracle по производительности, как тузик грелку - более чем в шесть раз.

Надеюсь, не надо объяснять, что "чистая" производительность потребителю, она как-бы не очень интересна.
16 сен 10, 12:59    [9449318]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Yo.!
формула1 ездит буквально на 12% быстрее спорткара, при большей стоимости на 2 порядка.


Понимаешь, я не готов платить за увеличение скорости на 12% на порядок больше денег.

Yo.!
ты сравниваешь системы между которыми 3 года и 2 поколения, причем разных архитектур.


Угу. И это сравнение очень показательно. Где тест Oracle на новом оборудовании нового поколения?
16 сен 10, 13:07    [9449409]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67427
Блог
StalkerS
зачем отказаться от журналирования, только от поддержки версий.

"Зачем отказываться от коробки передач, только от её крышки".

StalkerS
Mне вот кажется сильно сомнительным, что никакие оптимизации не получится прикрутить.

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

Какие-то - наверное, получится. Существенные - вряд ли.

StalkerS
Скажем зачем у вас журнал разделен на 2 части - undo и redo

Это... м... существенно неверное утверждение. Журнал не поделен на части, журнал - это redo. В журнале сохраняется информация об изменении большинства объектов БД, в том числе - об изменении undo.

StalkerS
Где-то читал, что это как раз оптимизиция под версионность

Ни в коей степени. Это "оптимизация под откат транзакций", в том числе под восстановление после сбоев.

sdvsamara
Дык в Oracle журналирование и есть поддержка версий. Если в нём отказаться от версионности, это означает отказаться от журналирования

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

sdvsamara
Причём это дело развивается, раньше были rollback сегменты, а сейчас undo tablespace.

И шо, Вы таки хотите сказать, что в базах с undo tablespace нет rollback сегментов?

pkarklin
Берем единственный результат MS SQL в этом списке:

и ближайщий превосходящий результат Oracle

Вы, конечно, виртуозно играете доступными материалами, но раз Microsoft сливает в секции дорогих решений, попробуйте таки сравнить на сколь возможно похожем железе. Для этого достаточно взглянуть на Top Ten Price/Performance Results:

МестоСерверАппаратураДата измеренияСтоимость
1OracleHP ProLiant ML350 G608/16/10.39 USD
2MSSQLHP ProLiant DL580 G710/15/10.49 USD

Так что продолжайте меряться ;-)
16 сен 10, 13:07    [9449410]     Ответить | Цитировать Сообщить модератору
 Re: Система ЭОД - неудача или успех ?  [new]
Yo.!
Guest
pkarklin
Yo.!,

Теперь посмотрим сюда:

http://www.tpc.org/tpcc/results/tpcc_price_perf_results.asp?resulttype=noncluster

И понимаем, что тест "на одинаковом оборудовании" не совсем показателен. Точнее, он совсем не показателен. И видим, что при разнице в Price/tpmC в 25% MS SQL рвет Oracle по производительности, как тузик грелку - более чем в шесть раз.

Надеюсь, не надо объяснять, что "чистая" производительность потребителю, она как-бы не очень интересна.


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

что касается прйс/перфоменс, судить о нем по тестам TPC-C совершенно глупо. во первых по тому что оракл как ты видишь рвет мсскл по этой позиции и занимает верхнюю строчку. во вторых там расчет идет по прайсу, а я не слышал чтоб кто либо когда либо купил EE эдишен без двухзначной скидки. в третих там зачастую сравнивается теплое (бесконечные лицензии) с мягким (трехлетние)
16 сен 10, 13:11    [9449440]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 4 5 6 7 8 9 [10] 11 12 13   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить