Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / oracle+postgresql+mssql+mysql / 17 сообщений из 17, страница 1 из 1
23.12.2008, 23:48
    #35731222
H.A.M.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Какая СУБД лучше?
(rofl)

Шутка, это не холивар. Мне нужна литература по этим СУБД следующего толка:

1. Что такое версионник/блокировочник в контексте конкретной СУБД. Т.е. каким боком эти вещи в каждой из них применяются и по каким причинам.
2. Особенности реализации механизмов блокирования/версионирования (для обеспечения различных уровней изоляции транзакций - далее УИТ).
3. Собственно все поддерживаемые ими УИТ с примерами кода, подробно показывающего "вот тут по дефолту read committed, делаем alter session set isolation_level serializable - получаем вот это, а вот это и это не поддерживается".
4. Все-все что еще связано с локами и с тем, как это влияет на производительность OLTP-системы, в частности о таких вещах, как "юзер а делает select на 2.5 минуты и этим не дает юзеру b обновить/вставить/удалить/тоже сделать select".
5. Конкретные примеры с кодом SQL, pl/sql, pgplsql, T-SQL... В общем, практические изыскания.

Версии СУБД - oracle 10+, postgres - 8.3+, mssql - 2005+, mysql - не знаю, последняя какая - только ее. По ораклу есть дока/concepts, там все есть, я в ней неплохо ориентируюсь, поэтому в основном проблемы с оставшимися. Особенно интересуют статьи на 3-4 странички с краткой выжимкой "по сути вопроса", а не талмуды на 1000 страниц. Языки - RU/EN. В яндексе гуглил, но это все немного не то.

Спасибо всем, кто откликнется.

--------------------
We are there
--------------------
...
Рейтинг: 0 / 0
24.12.2008, 00:10
    #35731251
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Выжимку не подскажу, но полезную информацию по MySQL можно почерпнуть на mysqlperformanceblog.com
...
Рейтинг: 0 / 0
24.12.2008, 08:55
    #35731447
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Для MS SQL:
1-4. Inside Microsoft® SQL Server™ 2005: The Storage Engine By Kalen Delaney.
5. Inside Microsoft® SQL Server™ 2005: T-SQL Programming By Itzik Ben-Gan (Solid Quality Learning), Dejan Sarka; Roger Wolter
...
Рейтинг: 0 / 0
24.12.2008, 11:11
    #35731735
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
про блокировки, транзакции и т.д. почитай вот это
http://www.osp.ru/os/2002/04/181330/ (ч. 1)
http://www.osp.ru/os/2002/05/181466/
http://www.osp.ru/os/2002/11/182110/
http://www.osp.ru/os/2003/02/182649/
...
Рейтинг: 0 / 0
24.12.2008, 14:16
    #35732385
H.A.M.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
mysqlperformanceblog.com - 10х, информация разбросана по постам, но поиск вроде дает нормальные результаты. Буду искать там.

pkarklin Для MS SQL: <<skipped>>
Ох, "многа букаф" чувствую. (464 страницы и 544, при этом цена... м-м-м). Качну на будущее, если найду где за так.

kdvпро блокировки, транзакции и т.д. почитай вот это <<skipped>>
Спасибо, но там - чистая теория.
"Введение в управление транзакциями" - это я знаю, нужно именно как ЭТО делается в перечисленных СУБД (с тех. подробностями реализации).

PS:
Идеальный пример вот тут (для Oracle):
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i5702


--------------------
We are there
--------------------
...
Рейтинг: 0 / 0
24.12.2008, 16:32
    #35732905
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
авторСУБД (с тех. подробностями реализации)
а нафиг, с тех. подробностями?
могу предложить объяснение версионности в InterBase/Firebird :-)
...
Рейтинг: 0 / 0
24.12.2008, 17:17
    #35733083
H.A.M.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
kdvа нафиг, с тех. подробностями?
Ну не так выразился. "тех. подробности" не в смысле того, как там чего накодили... Просто объяснения в стиле "вот тут локи такие для этого ". Вот мы берем такой лок ставим при таком действии и получим этот уровень изоляции потому что ... .
Ну как-то так, не знаю как еще сказать - в доке оракла так расписано, хочется по другим СУБД найти что-то похожее, систематизировать. Нужно.

interbase/firebird не интересуют.
--------------------
We are there
--------------------
...
Рейтинг: 0 / 0
24.12.2008, 17:28
    #35733136
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
H.A.M.в доке оракла так расписано, хочется по другим СУБД найти что-то похожее

Вы думаете, в доке по другим СУБД это не рассписано?!
...
Рейтинг: 0 / 0
24.12.2008, 17:44
    #35733207
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
а для чего такое ? я много класных документов видел в докладах на конференции VLDB вот хороший документ по постгресу и кажется примерно такой же видел по mysql/innodb (по ораклу совсем подробно), но там скорее технические подробности как в субд реализованы те или иные вещи, чем презентация возможностей.
...
Рейтинг: 0 / 0
24.12.2008, 19:35
    #35733492
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
авторВот мы берем такой лок ставим при таком действии и получим этот уровень изоляции потому что ....
обычно бывает наоборот. "при таком-то уровне изолированности мы ставим вот такие локи и у нас получается вот такая фигня..."
поскольку уровни изолированности стандартизированы, то пляшут обычно от них, и реализуют их соответствующими локами, версионностью и так далее. В документации такое должно быть описано, хотя может и не быть.

кстати, те ссылки что я дал, как раз там пляска от блокировок и расписана, разве нет?

И насчет "практических изысканий" - думаю, копать это тебе придется долго.

авторinterbase/firebird не интересуют.
это зря. interbase - первый версионник (1984 год). все остальные - вторичны :-) Впрочем, и сделаны совершенно по другому. Единственный близкий - PostgreSQL.

p.s. сразу скажу насчет "вторичности" Оракла в смысле версионности - версия 6, поддерживавшая блокировки на уровне записей, вышла только в 1988 году.
Также, в Оракле версии 4 в октябре 1984 года появилось "read consistency", но что это такое в деталях, я в инете так и не нашел (именно относительно реализации в v4). В некоторых местах вообще утверждается, что нормальная версионность появилась в Оракле только в версии 7.
кстати, интересный документ
http://www.firebirdsql.org/doc/whitepapers/fb_vs_ibm_vs_oracle.pdf
описывается прямо битва на тему локов между Ораклом и ИБМ.
...
Рейтинг: 0 / 0
24.12.2008, 20:08
    #35733529
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
kdv
В некоторых местах вообще утверждается, что нормальная версионность
появилась в Оракле только в версии 7.

Как человек, работавший именно с этой версией могу сказать, что
версионность там была весьма ограничена. ЕМНИП, число версий
ограничивалось двумя. Т.е. текущая - в БД и предыдущая в сегменте
отката. Естественно, размер отката был ограничен, так что "Snapshot is
too old" всегда караулил свою жертву.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.12.2008, 20:42
    #35733556
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Dimitry Sibiryakov
Как человек, работавший именно с этой версией могу сказать, что
версионность там была весьма ограничена. ЕМНИП, число версий
ограничивалось двумя. Т.е. текущая - в БД и предыдущая в сегменте
отката. Естественно, размер отката был ограничен, так что "Snapshot is
too old" всегда караулил свою жертву.

не было такого в семерке, я по ней как раз оракл изучал, там уже можно было понаделать тучу роллбек сегментов хоть на каждую транзакцию и они уже тогда имели точно такую же кольцевую структуру что и сегоднешний оракл.
вот дока: http://www.lsbu.ac.uk/oracle/oracle7/server/doc/SAD73/ch17.htm
...
Рейтинг: 0 / 0
24.12.2008, 22:17
    #35733659
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
kdv
кстати, интересный документ
http://www.firebirdsql.org/doc/whitepapers/fb_vs_ibm_vs_oracle.pdf
описывается прямо битва на тему локов между Ораклом и ИБМ.
действительно забавный документ, поискал оригинал от ИБМ - неужели бимеры написали такую глупость или там вырвано из контекста. оракл на уровне сериализабле получит отлуп ORA-08177: can't serialize access for this transaction, точно так же как и ФБ ...

ЗЫ. компания предок интербейз физически появилось позже реализации роллбэк сегмента в оракле и собственно, в момент выхода оракла с роллбэк сегментом Старки работал на DEC. Мне к стате интересно как утрясались вопросы интелектуальной собсвености с DEC, когда Старки ушел из DEC и создал своего клона RDB (собственно такой же вопрос к Ларри, переманившего людей из DEC для оракла).
...
Рейтинг: 0 / 0
24.12.2008, 22:30
    #35733672
H.A.M.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
pkarklin Вы думаете, в доке по другим СУБД это не рассписано?!
Думаю расписано. Более того, по ораклу и mssql я даже более-менее нашел, где!
Но хочется чего-то систематизированного в одной куче - я по этой теме не могу сам найти чего-то стоящего.
kdvобычно бывает наоборот. "при таком-то уровне изолированности мы ставим вот такие локи и у нас получается вот такая фигня..."
Ну это философский вопрос из серии "курица или яйцо?". Я могу сказать: "при помощи локов мы добиваемся такого-то УИТ вот в этой конкретной СУБД" (не обязательно мы - она "сама") поэтому "Вот мы берем такой лок ставим при таком действии и получим этот уровень изоляции потому что ...."
Но я не буду спорить - мне без разницы как это назвать.
kdvэто зря. interbase - первый версионник (1984 год). все остальные - вторичны
Так мне и нужно именно детали по вторичным. Меня не интересует interbase, нужно именно как это есть в перечисленных четырех.
kdvhttp://www.firebirdsql.org/doc/whitepapers/fb_vs_ibm_vs_oracle.pdf
описывается прямо битва на тему локов между Ораклом и ИБМ.
Интересно, но там очень поверхностно - объяснять про версионность на примере MS Word...
Но мне, в принципе, что-то такое и нужно, только postgres+oracle+mysql+mssql, а не DB2+firebird+oracle...
--------------------
We are there
--------------------
...
Рейтинг: 0 / 0
24.12.2008, 22:36
    #35733678
H.A.M.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Yo.!а для чего такое ? я много класных документов видел в докладах на конференции VLDB вот хороший документ по постгресу и кажется примерно такой же видел по mysql/innodb (по ораклу совсем подробно), но там скорее технические подробности как в субд реализованы те или иные вещи, чем презентация возможностей.
Несмотря на то, что много букав, и только по postgres, дока понравилась (смотрел одним глазом, но вроде интересно). Прочитаю. А не подкинете такое же по mysql и oracle?


PS: kdvа нафиг, с тех. подробностями?
Отсею самое лучшее и напишу конкурента всем этим штукам :D
...
Рейтинг: 0 / 0
24.12.2008, 23:28
    #35733731
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
Yoкогда Старки ушел из DEC и создал своего клона RDB (собственно такой же вопрос к Ларри, переманившего людей из DEC для оракла).
так в IB не было "роллбэк сегментов". Но вообще вопрос интересный.

я когда-то скопировал "исторический текст"
http://www.ibase.ru/history.htm

Однако, многоверсионный доступ описан в литературе в 1981 году Филиппом Бернштейном и Натаном Гудменом (Philip Bernstein and Nathan Goodman), которые впоследствии работали в Computer Corporation of America (Замечание: для чтения документов ACM требуется оплата подписки). Документ Бернштейна и Гудмена цитируют диссертацию D.P. Reed 1978 года, где достаточно четко описана MVCC, и утверждается, что это оригинальная работа. Документ Рида цитируется 66-ю авторами в the Guide to Computing Literature, и 180 раз Бернштейном и Гудменом.

Так что, идеи многоверсионности появились как минимум в виде обсуждения в документах намного раньше чем InterBase. Однако, до реализаций так и не дошло. DEC Rdb/ELN была коммерческой СУБД, использующей MVCC, и была выпущена прямо перед InterBase, но она также разработана Джимом Старки в тот же период времени и имеет одно и то же ядро (JRD) (Rdb/VMS в свою очередь, явилась прародителем Oracle RDB). Все что существовало до этого, это некоммерческое приложение, обсуждаемое в документе Рида.

Джим Старки упоминает в комментариях, что он не был в курсе документа Рида, и не обсуждал этот вопрос с Бернштейном, а пришел к этой идее независимо, но несколько позже.


то есть, я неправ по поводу "первости" IB. И RDB/ELN была первой, кто использовал MVCC. И получается что Старки скопировал это в InterBase. Потом он эту версионность видоизменил и воткнул в свою Netfrastructure. Которую потом продал. И которая, возможно, стала базой для Falcon.
В общем, "чудны дела твои...".
...
Рейтинг: 0 / 0
25.12.2008, 00:02
    #35733763
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle+postgresql+mssql+mysql
по иннодб у меня такой документ забуркмарклен, а по ораклу у меня куча документов подробных латчам, сбору статистик, оптимизатору, но по стораджу нет ... собсвенно в документации все вроде и так ясно.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / oracle+postgresql+mssql+mysql / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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