|
|
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
Какая СУБД лучше? (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 -------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 23:48 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
Выжимку не подскажу, но полезную информацию по MySQL можно почерпнуть на mysqlperformanceblog.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 00:10 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
Для 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 08:55 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
про блокировки, транзакции и т.д. почитай вот это 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/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 11:11 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
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 -------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 14:16 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
авторСУБД (с тех. подробностями реализации) а нафиг, с тех. подробностями? могу предложить объяснение версионности в InterBase/Firebird :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 16:32 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
kdvа нафиг, с тех. подробностями? Ну не так выразился. "тех. подробности" не в смысле того, как там чего накодили... Просто объяснения в стиле "вот тут локи такие для этого ". Вот мы берем такой лок ставим при таком действии и получим этот уровень изоляции потому что ... . Ну как-то так, не знаю как еще сказать - в доке оракла так расписано, хочется по другим СУБД найти что-то похожее, систематизировать. Нужно. interbase/firebird не интересуют. -------------------- We are there -------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 17:17 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
H.A.M.в доке оракла так расписано, хочется по другим СУБД найти что-то похожее Вы думаете, в доке по другим СУБД это не рассписано?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 17:28 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
а для чего такое ? я много класных документов видел в докладах на конференции VLDB вот хороший документ по постгресу и кажется примерно такой же видел по mysql/innodb (по ораклу совсем подробно), но там скорее технические подробности как в субд реализованы те или иные вещи, чем презентация возможностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 17:44 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
авторВот мы берем такой лок ставим при таком действии и получим этот уровень изоляции потому что .... обычно бывает наоборот. "при таком-то уровне изолированности мы ставим вот такие локи и у нас получается вот такая фигня..." поскольку уровни изолированности стандартизированы, то пляшут обычно от них, и реализуют их соответствующими локами, версионностью и так далее. В документации такое должно быть описано, хотя может и не быть. кстати, те ссылки что я дал, как раз там пляска от блокировок и расписана, разве нет? И насчет "практических изысканий" - думаю, копать это тебе придется долго. автор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 описывается прямо битва на тему локов между Ораклом и ИБМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 19:35 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
kdv В некоторых местах вообще утверждается, что нормальная версионность появилась в Оракле только в версии 7. Как человек, работавший именно с этой версией могу сказать, что версионность там была весьма ограничена. ЕМНИП, число версий ограничивалось двумя. Т.е. текущая - в БД и предыдущая в сегменте отката. Естественно, размер отката был ограничен, так что "Snapshot is too old" всегда караулил свою жертву. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 20:08 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Как человек, работавший именно с этой версией могу сказать, что версионность там была весьма ограничена. ЕМНИП, число версий ограничивалось двумя. Т.е. текущая - в БД и предыдущая в сегменте отката. Естественно, размер отката был ограничен, так что "Snapshot is too old" всегда караулил свою жертву. не было такого в семерке, я по ней как раз оракл изучал, там уже можно было понаделать тучу роллбек сегментов хоть на каждую транзакцию и они уже тогда имели точно такую же кольцевую структуру что и сегоднешний оракл. вот дока: http://www.lsbu.ac.uk/oracle/oracle7/server/doc/SAD73/ch17.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 20:42 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
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 для оракла). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 22:17 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
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 -------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 22:30 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
Yo.!а для чего такое ? я много класных документов видел в докладах на конференции VLDB вот хороший документ по постгресу и кажется примерно такой же видел по mysql/innodb (по ораклу совсем подробно), но там скорее технические подробности как в субд реализованы те или иные вещи, чем презентация возможностей. Несмотря на то, что много букав, и только по postgres, дока понравилась (смотрел одним глазом, но вроде интересно). Прочитаю. А не подкинете такое же по mysql и oracle? PS: kdvа нафиг, с тех. подробностями? Отсею самое лучшее и напишу конкурента всем этим штукам :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 22:36 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
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. В общем, "чудны дела твои...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 23:28 |
|
||
|
oracle+postgresql+mssql+mysql
|
|||
|---|---|---|---|
|
#18+
по иннодб у меня такой документ забуркмарклен, а по ораклу у меня куча документов подробных латчам, сбору статистик, оптимизатору, но по стораджу нет ... собсвенно в документации все вроде и так ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 00:02 |
|
||
|
|

start [/forum/topic.php?fid=35&gotonew=1&tid=1553006]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 386ms |

| 0 / 0 |
