|
|
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
сравнение фич SQL Server 2008 и DB2 LUW. решил вынести тему из топика ms sql server -> ubuntu , чтобы не уходить в offtop. Хотя тема и флеймовая, но я просил бы не прикапываться к "запятым и точкам" и реально перечислить знающих людей (например, Favn) в чем указанная версия DB2 превосходит по их мнению SS2008. Возможно, оппоненты смогут опровергнуть эти эти утверждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 15:48 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnНе являюсь знатоком MSSQL, поэтому поправьте, если я не прав. Почему я написал "практически догнал" - в 2008 появились наконец-то MERGE и WITH-рекурсия. Тем не менее, в описании SELECT я не нашел никаких вариантов на тему "select from DML", типа DB2-шного select * from [ new | old | final ] table ( [ merge | insert | update ] ... ) where ...; а оно, да еще с with - действительно мощнейший механизм. OUTPUT ни есть решение SELECT FROM DML? http://technet.microsoft.com/en-us/library/ms177564.aspx FavnПохоже, долгая дорога до DB2 предстоит с XML поддержкой - многого не хватает, да и нативность деревьев сомнительна (можно почитать тут). Коротко - странная индексация, в одном поле может быть только одна схема, нет версий схем, нет чистого (без SQL) XQuery... Про многоплатформенность и превосходство бесплатной версии - и говорить не о чем. Вот про что я не в курсе, про то не в курсе. Ибо, сугубо мое имхо, нечего делать XML в реляционном движке. Поэтому не готов дискутировать на предмет "странности индексации, версии схем и т.п." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:01 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Зайцев ФёдорFavnВ чем SS2008 перегнал DB2 - кроме упоминавшегося snapshot, сказать не могу.ценой ? )Enterprise - да, SS2008 дешевле. Express-C - дешевле даже SS Express, т.к. и за Windows платить не обязательно :) Сравнимые версии - платный Express-C (4 ядра, 4 ГБ ОП) стоит 3000$ в год. SS Workgroup ( 2 проца, 4 Гб ОП) - 4000$ + годовая подписка на суппорт - не знаю скока. Но в SS Workgroup в отличии от Express-C нет (навскидку, чего сейчас увидел): High Availability, Replication, Backup Compression. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:02 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnSS Workgroup ( 2 проца, 4 Гб ОП) - 4000$ + годовая подписка на суппорт - не знаю скока. ну если Вам не нужна Premier Mission Critical Support (что вряд-ли, учитывая выбранную редакцию), то бесплатно в части фиксов, пачей и т.п. Так что уже за два года Express-C превысит по цене затраты на WG. Вот тут (естественно "однобоко" :)) приводится сравнение: http://www.microsoft.com/sqlserver/2008/ru/ru/compare-ibm-db2.aspx Favn, могли бы Вы высказаться по этому поводу или привести "противоположное сравнение". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:08 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinOUTPUT ни есть решение SELECT FROM DML? http://technet.microsoft.com/en-us/library/ms177564.aspx Похоже на то - замечание снимается. Смутило, правда, что "An UPDATE, INSERT, or DELETE statement that has an OUTPUT clause will return rows to the client even if the statement encounters errors and is rolled back." Это что, в случае select по результатам output - тоже так? Оо pkarklinВот про что я не в курсе, про то не в курсе. Ибо, сугубо мое имхо, нечего делать XML в реляционном движке. Поэтому не готов дискутировать на предмет "странности индексации, версии схем и т.п."Ну, раз ведущая тройка включила XML storage в свои РСУБД - наверно, делать есть чего :) Во многих случаях реально полезно - прекрасный заменитель BLOB-CLOB с возможностью эффективно копаться в их содержимом запросом и даже изменять. Ну да ладно, вычеркнем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:33 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnЭто что, в случае select по результатам output - тоже так? Да, без обработчика ошибок не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:42 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklin Вот тут (естественно "однобоко" :)) приводится сравнение: http://www.microsoft.com/sqlserver/2008/ru/ru/compare-ibm-db2.aspx ухты, какой там интересный документик лежит: http://download.microsoft.com/download/6/C/D/6CDC123B-A159-438C-BBAD-7750EE5D0D67/IDC-Server%20Workloads%20Forecast.pdf ЗЫ. а на написание гетзефактс мс могла бы и спеца нанять, имхо там что не "факт" - то сравнение теплого с мягким, типа разогнаные по частоте двухядерные итаники сравнивают с устаревшмими одноядерными итаниками. не ужели кто-то потом "это" серьезно воспримет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 16:46 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnЗайцев ФёдорFavnВ чем SS2008 перегнал DB2 - кроме упоминавшегося snapshot, сказать не могу.ценой ? )Enterprise - да, SS2008 дешевле. Express-C - дешевле даже SS Express, т.к. и за Windows платить не обязательно :) Сравнимые версии - платный Express-C (4 ядра, 4 ГБ ОП) стоит 3000$ в год. SS Workgroup ( 2 проца, 4 Гб ОП) - 4000$ + годовая подписка на суппорт - не знаю скока. Но в SS Workgroup в отличии от Express-C нет (навскидку, чего сейчас увидел): High Availability, Replication, Backup Compression. на мой взгляд, годовая подписка - палка о двух концах. сначала может быть и дешевле, но через два года - уже дороже SS2008 SE. На всякий случай укажу основные компоненты, которые входят в SQL Server 2008 SE * собственно ядро базы данных * репликация (снапшоты, транзакции, слияние, кажется мироринг) * HA в виде failover cluster на двух нодах * ETL инструментарий - SSIS * аналитический (OLAP) сервер, включая DataMining - SSAS * сервер отчетности - SSRS, может интегрироваться в портал MS Office SharePoint 2007 или бесплатный аналоги Windows SharePoint Services * среда разработки Visual Studio Business Intelligence с различными типами проектов * help, msdn давайте сравнивать сравнимые вещи - Камаз с Мазом, а не раллийный Камаз и запорожец. особенно по цене. По этой причине, давайте определимся с версией DB2, с которой проводится сравнение. Скачки то в сторону Express-C, то в версии под z/OS приносят мало пользы. итак, можно сравнить по компонентам и тут на мой взгляд DB2 мало что может предложить: 1. ETL - нет 2. OLAP, DM - нет 3. отчетности - нет HA - я уже привел возможности SS, что из этого может предложить сравниваемая версия DB2? опять призываю не флеймить по поводу отсутствия/наличия запятых. если кому интересно, могу выложить список фич, версии SE/EE с сайта MS, которые они позиционируют для этого продукта. PS. мне реально интересно, т.к. периодически приходится с IBM сотрудничать по темам DWH. PPS. сравнение рыночных долей, кто сколько продал - просьба в другую тему PPPS. в данном контексте сравнивать Oracle, ASE/ASA пока не очень интересно, на них копий поломано и так достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:05 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
help, msdn - Information Managment - Абсолют' ный -посковый робот по MSDN для - ленивых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:09 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
I_love_MSDN, ссылку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:18 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
I_love_MSDNInformation Managment В какую редакцию входит бесплатно или сколько стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:20 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron HA - я уже привел возможности SS, что из этого может предложить сравниваемая версия DB2? в платную подписку DB2 Express-C FTL входит HADR (аналог database mirroring) [quot AAron] PS. мне реально интересно, т.к. периодически приходится с IBM сотрудничать по темам DWH. если не секрет, то по каким именно темам ? DB2 ? Сognos ? DataStage ? другое ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:22 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinI_love_MSDNInformation Managment В какую редакцию входит бесплатно или сколько стоит? Она бесплатна вообще. Для всех версий, как по сети, так и локально можно установить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:22 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
I_love_MSDN Online "Платон мне друг, но..." Имхо, такими ссылками сразу прививается "нелюбовь" к DB2 :)) Ибо придумать такое чудовище как Infocenter (во всех его инкарнациях) это надо было постараться :)) Если бы не редбуки, все было бы вообще печально. MSDN и OTN в этом плане далеко впереди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:31 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Это точно. Редбуки круты, бесплатны и их море. Так же, сам sql cook book чего стоит :) Но тут показали MSDN - в ответ ИнфоЦентр) Идея-то в корне одна и та же. - Абсолют' ный -посковый робот по MSDN для - ленивых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:33 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinВот тут (естественно "однобоко" :)) приводится сравнение: http://www.microsoft.com/sqlserver/2008/ru/ru/compare-ibm-db2.aspx Favn, могли бы Вы высказаться по этому поводу или привести "противоположное сравнение".Поискал. IBM, как обычно, маркетингом не замарачивается - последние сравнения DB2 v.8 с MSSQL 2000 и Oracle 9/10 тут и тут. Думаю, сейчас оно все имеет скорее историческую ценность :) Хотя, букав много, все на вскидку не осилил. Сам писать не буду - ни времени, ни нахальства не хватит :) По поводу сравнения от MS, поробую по пунктам, насколько сам понял: TCO и ROI 1. Для Enetrprise - да. 2. Паритет. 3. Все в одной куче, где правда, где нет. Например, XML сейчас в любую DB2 входит бесплатно. Производительность и масштабируемость 1. Треп. TPC - не показатель, да и DB2 там в лидерах по куче позиций. 2. Просто перечислены фичи SS, как будто в DB2 нет аналогов - неявная ложь. Порадовала "поддержка сжатия, не уступающая и даже превосходящая таковую у IBM DB2 UDB" - уж определились бы :) Высокий уровень доступности 1. Треп 2. Нет. Более того, лицензия на "теплый" сервер гораздо дешевле, чем на основной. 3. Если имеется в виду остановка записи и возможность копирования - запросто. 4. Нет сравнения. Сжатие бэкапов бесплатно доступно даже в Express-C. Безопасность Про уязвимости - смешно, особенно, если вспомнить сам Windows, без кот. SS не работает. В остальном - не нашел, чего нет в DB2, причем в составе поставки. И, кстати, не понял - а что, row-level security у MS нет? Управляемость По поводу политик - не знаю, в остальном бред - в DB2 есть аналогичные инструменты. Производительность труда разработчиков Совсем смешно. Особенно плач на тему "Пользователи DB2 вынуждены использовать разные инструменты для различных задач." - а пользователи MS обязаны радоваться одной-единственной платформе На самом деле, для DB2 есть бесплатный MS VisualStudio Add-On, она прекрасно интегрирована в .Net. Есть IBM DataStudio (частично бесплатная), есть интеграция с кучей app-серверов. Я уже молчу про "поддержку" Java в MS SQL. :) А очень мне интересная ссылка "Compare SQL Server and IBM DB2 from a development perspective" кидает не туда. БИЗНЕС-АНАЛИТИКА Не моя тема. Да, кое-что входит в SS и отдельно покупается для DB2. ХРАНИЛИЩА ДАННЫХ Перечислены фичи SS. Что в DB2 есть то же самое - сказать как-то забыли. А сжатие бэкапов - бесплатно в любой версии, не только в Enterprise. OLTP А то в DB2 этого нет. Особенно радуют "поддержка реляционных данных, XML" - офигенное преимущество Интеграция с SAP А что - в DB2 нет? Сравнение-то где? Итог - да, в цене топ-версий приемущество. По функционалу сравнение практически отсутствует. Чаще перечислены "предметы гордости" без указания их наличия/отсутствия в DB2. Фуф. Упарилсо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:36 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAronдавайте сравнивать сравнимые вещи - Камаз с Мазом, а не раллийный Камаз и запорожец. особенно по цене. По этой причине, давайте определимся с версией DB2, с которой проводится сравнение. Скачки то в сторону Express-C, то в версии под z/OS приносят мало пользы.Я и попытался, сравнивая платную DB2 Express-C FTL Subscription с платной же, сравнимой по цене и аппартным ограничениям MS Workgroup, а не Standard. Про z/os я вообще ни слова не писал, да я с ней и не работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:54 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklin Вот тут (естественно "однобоко" :)) приводится сравнение: http://www.microsoft.com/sqlserver/2008/ru/ru/compare-ibm-db2.aspx По бизнес-аналитике согласен, аналогов в DB2 "из коробки" нет ни в каких редакциях. Все остальное просто нереальный маркетинговый зомбобулшит, даже как-то стыдно становится за Microsoft Oracle и тот критикует по пунктам и за дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:54 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Favn, предупреждение об однобокости документа было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:56 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Да, сравнение возможностей по версиям DB2 LUW находится тут . А то на сайте IBM найти что-либо нужное не просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:56 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
мне как неспециалисту по DB2 очень трудно сравнивать её с чем-либо. отчасти это связано с документацией, которую я не знаю, как добыть. честно говоря, зайдя на сайт IBM, почти невозможно установить, что 1) IBM продаёт DB2 2) DB2 вообще сууществует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 17:59 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Ну у них сайт тот еще. Мне не встречался человек, который бы сказал, что ibm.com удобен. - Абсолют' ный -посковый робот по MSDN для - ленивых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 18:01 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Да, что касается сравнения "однотипных" редакций. 1. Бесплатная, без ограничения по размеру и с мин. ограничением по фичам (не считая Enterprise - практически только без HA и Replication) DB2 Express-C. Работает на бесплатных ОС. Можно свободно распространять. 2. Бесплатная в нужной широкой общественности части Data Studio (платны только pureSQL, кот. только для Java и за деньги на сервере, да "полезный" XQuery builder) для разработки всего, в т.ч. под Web Services. 3. Нативная интеграция с кучей бесплатных app-серверов от IBM WebSphere Community (J2EE) до всяких PHP и perl. Для "систем под ключ на продажу" - вариант вообще уникальный, полная халява, и сравнить-то не с чем. И "запорожцем" это ну ни как не назовешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 18:26 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдормне как неспециалисту по DB2 очень трудно сравнивать её с чем-либо. отчасти это связано с документацией, которую я не знаю, как добыть. честно говоря, зайдя на сайт IBM, почти невозможно установить, что 1) IBM продаёт DB2 2) DB2 вообще сууществуетДа уж, маркетинг - самое слабое место IBM. Может потому, что слишком много продуктов. Или просто слишком большая компания. Докуметация online. Документация в pdf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 18:35 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Favn, да как-то все равно... не запорожец, так фольксваген жук... тех же годов. например, нет партицирования таблиц, ограничения по памяти - 2ГБ, MQT нет, репликации нет, компрессия покупается как аддор, партицирование БД между нодами (Database Partitioning) не поддерживается насчет стоимости - еще раз, 2-3 года подписки стоят столько же, сколько SQL Server 2008 SE с парой десятков пользователей. так что разницы здесь - нет. предлагаю сравнить DB2 Workgroup / DB2 Enterprise с аналогичными SQL Server SE / EE. В общем, сходу я не вижу преимуществ в функциях. вообще, таблица сравнивает версии DB2. аналогичное сравнение редакций SQL Server есть например здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 22:27 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
А SQL Server ограничения? 4Гб база? У экспрессовского? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2009, 22:30 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron например, нет партицирования таблиц, ограничения по памяти - 2ГБ, MQT нет, репликации нет, компрессия покупается как аддор, партицирование БД между нодами (Database Partitioning) не поддерживается "ачуметь!"(c) А "ключи от квартиры, где деньги лежат" не надо поставлять вместе с DB2 Express-C ??? Вот ведь гады айбиэмские, ну никак не хотят ентерпрайзовые фичи нахаляву раздавать. Сволочи, однозначно. Если и дальше будут подобные "аргументы", то смысла в дискусси 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 08:37 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
db2man, очередной треп. я преложил выбрать редакции, которые уместно сравнивать. на что получил табличку с IBM со сравнением возможностей всех редакций за исключением EEE . все выводы - на ее основе. если они не корректны - прокомментируйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 11:47 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron очередной треп. Не треп, а сарказм на очевидную глупость Или Вы будете утверждать, что отцитированная мной Ваша фраза не относится к DB2 Express-C ? AAron я предложил выбрать редакции, которые уместно сравнивать. на что получил табличку с IBM со сравнением возможностей всех редакций за исключением EEE . все выводы - на ее основе. если они не корректны - прокомментируйте. Ecли у Вас такая короткая память, то перечитайте первую страницу, где : 1. Вы предложили "спарринг" 2. Вам на него ответил Favn. 3. pkarklin привел ссылку на "исследование" от Microsoft и предложил Favn'у его откомментиовать 4. Предлагаемое сравнение было любезно Favn'ом сделано и В ДОПОЛНЕНИЕ была приведена ссылка на описание DB2 editions для тех, кто испытывает трудности с поиском инфы на ibm.com А дальше на белом запорожце/жуке коне выезжаете Вы и начинате компаризить слонов с муравьями. P.S. Видимо конструктива в очередной раз не получится, а жаль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 14:46 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Тут по сути не может быть конструктивного разговора. Всегда кто-нибудь да будет тянуть одеяло на себя. - Абсолют' ный -посковый робот по MSDN для - ленивых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 15:03 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Отвечаю на ... db2manочередной треп. А дальше на белом запорожце/жуке коне выезжаете Вы и начинате компаризить слонов с муравьями. P.S. Видимо конструктива в очередной раз не получится, а жаль. Я предлагал выбрать версию: AAronПо этой причине, давайте определимся с версией DB2, с которой проводится сравнение. Скачки то в сторону Express-C, то в версии под z/OS приносят мало пользы. ну так укажите, что хотите сравнить? бесплатность DB2 Express-C? но это не критерий данного сравнения, он имеет отношение к сравнению маркетинга, а не фич СУБД. На мой взгляд DB2 WG, DB2 E имеют шансы на сравнение с SQL Server SE/EE. Напомню, показанная табличка с версиями DB2, на основании которой делались выводы, расположена здесь Мне тоже жаль, что все аргументы опять выливаются в "сам дурак", "зато в DB2 Express-C бесплатно" и "а что вы хотели от бесплатной СУБД". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 15:18 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAronМне тоже жаль, что все аргументы опять выливаются в "сам дурак", "зато в DB2 Express-C бесплатно" и "а что вы хотели от бесплатной СУБД".Само наличие полноценной, свежей и полностью совместимой по функционалу (камень в огород Оракл :) ) бесплатной версии - само по себе большое преимущество. Кстати, сравнивая цену, не забывайте и про немалую стоимость WinServer (на Prof СУБД не поставишь из-за ограничений на 10 коннектов), которую можно съэкономить под DB2-Linux. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 19:05 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Попробую по существу на основании устаревшего документа. Речь там идет о DB2 v8.2 и MS SQL 2000 (а так же Oracle 10g, но про него опускаю), так что просьба поправить, если что уже изменилось. Итак, преимущества DB2: 1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи. DB2 allows the creation of various types of B-tree indexes. DB2 can also generate bitmap indexes 'on the fly' as required for index ANDing and ORing during query execution. DB2's B-tree indexes can support simultaneous forward and backward scans, and can contain additional data columns in the key in order to avoid accessing the data for query processing. These indexes can be record-based, mapping keys to individual records, or blockbased, mapping keys to extents of clustered data. SQL Server stores all indexes as b-trees, but has no support of backward cursors and does not support generation of other types “on the fly”. 2. row-level security - кажется, в SS до сих пор ее нет. По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF. 3. Реорганизация таблиц - SS on-line не поддерживает, хотя поддерживает кластерные индексы. Кроме того, в DB2 есть фича multi-dimensional clustering, позволяющая использовать многомерную оптимизацию физ. размещения записей при партиционировании. There are advantages for DB2 because of its in-place table reorganization utility that minimizes disk space allocation, the multi-dimensional clustering (MDC) tables that never need reorganizing to maintain data clustering and the previously mentioned “throttling”-feature that applies here as well. There is no explicit utility for table reorganization in SQL Server – the drop and (re-)create of the clustered index defragments the data pages. During this process the table is locked and therefore unavailable. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 19:23 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Теперь вспомню, что я проектировщик, разработчик, а совсем не DBA, хотя и учился админству DB2 LUW. Так что со своей колокольни, пока по тому же документу: 1. DB2 поддерживает широчайший спектр технологий, как от MS, так и стандартных ;) Так, для MS-среды есть 3 родных драйвера (ODBC, ADO, .Net provider), 3 для Java (type2, type4, SQLJ), 2 для PHP. А у SS практически отсутствует поддержка не-MS технологий, причем даже Java, не говоря уже о всяких PHP, поддерживается через убогий ODBC-мост, без родных драйверов. Забавно, что DB2 интегрируется в MS-среду практически не хуже SS, даже в Visual Studio через бесплатный Add-on. А самое смешное, что полная поддержка .Net, например возможность написать SP на Visual Basic под CLR, появилась в DB2 раньше "DB2 is the only DBMS that supports true static SQL. While Oracle provides similar support for OLE DB, MS ADO, C/C++ and Java, both CLR-compliance and some classic (Cobol, Fortran) options found in DB2 are missing. Both provide JDBC Type 2 and 4 drivers in support of JDBC 3.0 features that are JDK 1.4 compliant. SQL Server, however, is exclusively focused on Microsoft AD paradigms." 2. В SS нет объектно-реляционных расширений. В DB2 главная их вкусность не в описании типов/перегрузке функций, а в определении функций обработки их содержащих BLOB'ов и даже в создании своих способов индексации, с возможностью их использования стандартным оптимизатором. Кстати, что text и spatial в SS появились, я понял, а как насчет image/audio/video? "DB2 and Oracle both offer a wide range of object/relational extensions including stored procedures, user-defined data types and user-defined functions in support of strong typing, inheritance and method overload. These extensions can be used for O/R application development. They are also the building blocks for complex data type extensions (e.g. for text, audio, video, spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer integrated object-relational features, although storage of unstructured data is possible with BLOB and image data types. DB2 and Oracle both offer a wide range of object/relational extensions including stored procedures, user-defined data types and user-defined functions in support of strong typing, inheritance and method overload. These extensions can be used for O/R application development. They are also the building blocks for complex data type extensions (e.g. for text, audio, video, spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer integrated object-relational features, although storage of unstructured data is possible with BLOB and image data types. Both DB2 and Oracle offer a set of pre-defined extensions addressing similar requirements: DB2’s video, audio and image extender and Oracle’s InterMedia cartridge. Extender and data cartridge technology opens a market for 3rd party extensions – we have seen a variety of available extenders, including currency, encryption, security and optical products. When developing extensions, it is important to provide clues to the database optimizer in order to enable correct decisions for optimized extension access. Both DB2 and Oracle provide mechanisms to do this." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 19:44 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Теперь от себя, как разработчика: 3. Static SQL. Позволяет включать SQL прямо в текст программы и обрабатывать прекомпилером. При этом сам SQL из тексте программы исчезает и помещается в "package" в БД. Преимущества: - выше безопасность - подсмотреть/подменить SQL даже в отладчике не получится. - можно запретить юзеру вообще работать с БД, только запускать программу с этим package. - можно спокойно использовать высшие "медленные" уровни оптимизации - оптимизация произойдет, когда скажешь, а не динамически в моемнт потенциально высокой нагрузки. Реоптимизация настраивается. То же возможно и в Java (native SLQJ). 4. Часто используемые динамические запросы тоже можно превращать в static package, перенося затраты на их оптимизацию на время низкой загрузки или после массированных изменений. 5. SP на процедурном SQL PL также превращаются в package, и после этого выполняются самим движком SQL без переключения контекста. Думаю, что в интерпретируемом Transact-SQL процедурная часть и запросы выполняются (как и в Оракл) разными модулями. А UDF на SQL PL в DB2 вообще не выполняются :) Они in-line подставляются в вызвавший их запрос и переписываются-оптимизируются в месте с ним. 6. Оптимизатор настолько суров, что не использует хинты - задается только 1 из 10 уровней оптимизации. В принципе, внешняя возможность хинтов есть, но они описываются не в запросе, а админом во внешнем файле, и разработчику незачем ими заморачиваться - это в общем-то "аварийная" техника. 7. Не знаю есть ли в SS аналог такой фичи - SP и UDF на C++ могут быть "unfenced", т.е. работать с буферами данных из адресного пространства сервера, без переключения контекста. Ну и самое важное отличие - возможность выбора любой ОС, программного окружения, средств разработки, серверного железа. Без привязки к одному "единственному и неповторимому" вендору. Фуф. Хватит на сегодня :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 20:14 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnПопробую по существу на основании устаревшего документа. Речь там идет о DB2 v8.2 и MS SQL 2000 (а так же Oracle 10g, но про него опускаю), так что просьба поправить, если что уже изменилось. Итак, преимущества DB2: 1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи. 2. row-level security - кажется, в SS до сих пор ее нет. По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF. 3. Реорганизация таблиц - SS on-line не поддерживает, хотя поддерживает кластерные индексы. Кроме того, в DB2 есть фича multi-dimensional clustering, позволяющая использовать многомерную оптимизацию физ. размещения записей при партиционировании. сравнивать в 2009 году версии 2000 года - имхо неправильно 1. как я понимаю, индекс один, но может сканироваться в разных направлениях? такого нет. можно создать два индекса с разными направлениями, но это несколько другое. в версии 2005+ индекс может хранить не только индексируемые поля, но и дополнительные для исключения дополнительных обращений к таблицам. в 2009 на индекс дополнительно можно наложить условие фильтрации 2. честно, не в курсе. 3. насчет реорганизации - есть команды dbcc, они позволяют дефрагментировать индекс/таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 21:32 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnТеперь вспомню, что я проектировщик, разработчик, а совсем не DBA, хотя и учился админству DB2 LUW. Так что со своей колокольни, пока по тому же документу: 1. DB2 поддерживает широчайший спектр технологий, как от MS, так и стандартных ;) Так, для MS-среды есть 3 родных драйвера (ODBC, ADO, .Net provider), 3 для Java (type2, type4, SQLJ), 2 для PHP. А у SS практически отсутствует поддержка не-MS технологий, причем даже Java, не говоря уже о всяких PHP, поддерживается через убогий ODBC-мост, без родных драйверов. Забавно, что DB2 интегрируется в MS-среду практически не хуже SS, даже в Visual Studio через бесплатный Add-on. А самое смешное, что полная поддержка .Net, например возможность написать SP на Visual Basic под CLR, появилась в DB2 раньше "DB2 is the only DBMS that supports true static SQL. While Oracle provides similar support for OLE DB, MS ADO, C/C++ and Java, both CLR-compliance and some classic (Cobol, Fortran) options found in DB2 are missing. Both provide JDBC Type 2 and 4 drivers in support of JDBC 3.0 features that are JDK 1.4 compliant. SQL Server, however, is exclusively focused on Microsoft AD paradigms." 2. В SS нет объектно-реляционных расширений. В DB2 главная их вкусность не в описании типов/перегрузке функций, а в определении функций обработки их содержащих BLOB'ов и даже в создании своих способов индексации, с возможностью их использования стандартным оптимизатором. Кстати, что text и spatial в SS появились, я понял, а как насчет image/audio/video? "DB2 and Oracle both offer a wide range of object/relational extensions including stored procedures, user-defined data types and user-defined functions in support of strong typing, inheritance and method overload. These extensions can be used for O/R application development. They are also the building blocks for complex data type extensions (e.g. for text, audio, video, spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer integrated object-relational features, although storage of unstructured data is possible with BLOB and image data types. DB2 and Oracle both offer a wide range of object/relational extensions including stored procedures, user-defined data types and user-defined functions in support of strong typing, inheritance and method overload. These extensions can be used for O/R application development. They are also the building blocks for complex data type extensions (e.g. for text, audio, video, spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer integrated object-relational features, although storage of unstructured data is possible with BLOB and image data types. Both DB2 and Oracle offer a set of pre-defined extensions addressing similar requirements: DB2’s video, audio and image extender and Oracle’s InterMedia cartridge. Extender and data cartridge technology opens a market for 3rd party extensions – we have seen a variety of available extenders, including currency, encryption, security and optical products. When developing extensions, it is important to provide clues to the database optimizer in order to enable correct decisions for optimized extension access. Both DB2 and Oracle provide mechanisms to do this." 1. странно требовать от VC драйвера AIX или z/OS. кстати, в Feature Pack есть драйвера для рнр и жавы. 2. можно создавать CLR-типы данных, но в TSQL объектности действительно нет. Можно создавать CLR-функции/процедуры, используя там ООП. поля clr-типов можно индексировать стандартными механизмами. насчет video/audio - честно, не представляю, как можно на языке SQL работать с такими данными, а главное - зачем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 21:41 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron1. странно требовать от VC драйвера AIX или z/OS. кстати, в Feature Pack есть драйвера для рнр и жавы. читать как от MS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 21:42 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnТеперь от себя, как разработчика: 3. Static SQL. Позволяет включать SQL прямо в текст программы и обрабатывать прекомпилером. При этом сам SQL из тексте программы исчезает и помещается в "package" в БД. Преимущества: - выше безопасность - подсмотреть/подменить SQL даже в отладчике не получится. - можно запретить юзеру вообще работать с БД, только запускать программу с этим package. - можно спокойно использовать высшие "медленные" уровни оптимизации - оптимизация произойдет, когда скажешь, а не динамически в моемнт потенциально высокой нагрузки. Реоптимизация настраивается. То же возможно и в Java (native SLQJ). 4. Часто используемые динамические запросы тоже можно превращать в static package, перенося затраты на их оптимизацию на время низкой загрузки или после массированных изменений. 5. SP на процедурном SQL PL также превращаются в package, и после этого выполняются самим движком SQL без переключения контекста. Думаю, что в интерпретируемом Transact-SQL процедурная часть и запросы выполняются (как и в Оракл) разными модулями. А UDF на SQL PL в DB2 вообще не выполняются :) Они in-line подставляются в вызвавший их запрос и переписываются-оптимизируются в месте с ним. 6. Оптимизатор настолько суров, что не использует хинты - задается только 1 из 10 уровней оптимизации. В принципе, внешняя возможность хинтов есть, но они описываются не в запросе, а админом во внешнем файле, и разработчику незачем ими заморачиваться - это в общем-то "аварийная" техника. 7. Не знаю есть ли в SS аналог такой фичи - SP и UDF на C++ могут быть "unfenced", т.е. работать с буферами данных из адресного пространства сервера, без переключения контекста. Ну и самое важное отличие - возможность выбора любой ОС, программного окружения, средств разработки, серверного железа. Без привязки к одному "единственному и неповторимому" вендору. Фуф. Хватит на сегодня :) 3. пакаджей в SS нет, насколько я понимаю, частично описанные здесь возможности решаются через LINQ. могу ошбаться. 4. динамические запросы - по всей видимости мы понимаем разные вещи под динамическими запросами. в моей картине мера динамический запрос "select * from " + @tbl не оптимизируется заранее никак. 5. вообще, при выполнении SP она целиком компилируется (либо план уже берется из кеша). не уверен насчет двух движков 6. SS не столько суров, он позволяет использовать хинты, но в документации написано - на свой страх и риск. кстати, ораклисты приводят большое количество хинтов как плюс 7. SS2000-2008 позволяют писать на С++ процедуры. насчет контекста - не в курсе. ни разу не использовал. предпочитаю использовать SQL. раз уж я достаточно подробно ответил - расчитываю все же получить комментарии к моим вопросам по документу и озвучить версии DB2, которые сравниваем - продукт, версию, редакцию. а то сравнение аморфное. насчет самого важного отличия - есть плюсы и минусы. а сервер СУБД как правило не мигируют с одной ОС на другую по несколько раз в месяц. на моей памяти, ни один оракловый проект не переносился Win <--> Linux <--> *nix. как правило, для серьезных проектов сервер планируют от железа и до СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2009, 22:16 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Aaron2. ...Можно создавать CLR-функции/процедуры, используя там ООП... У нас тоже. И не только CLR ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 00:14 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Позволю себе прокомментировать... Почастям... Favn1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи. Читаем: DB2 includes the capability for backward index scan. Backward index scan can improve performance of a SELECT statement with an ORDER BY column DESC clause because it reduces the need for DB2 to do sorts. In addition, the backward index scan capability can reduce the need for descending indexes because DB2 can use ascending indexes to scan backward. Запрос: Код: plaintext 1. 2. 3. 4. 5. 6. Реальный план с SS: Код: plaintext 1. 2. 3. 4. Так что, хоть вперед\хоть взад. ;) Причем давно. SS2005-indexes with included columns: In SQL Server 2005, you can extend the functionality of nonclustered indexes by adding nonkey columns to the leaf level of the nonclustered index . By including nonkey columns, you can create nonclustered indexes that cover more queries. SS2008 - filtered indexes: A filtered index is an optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. It uses a filter predicate to index a portion of rows in the table . A well-designed filtered index can improve query performance, reduce index maintenance costs, and reduce index storage costs compared with full-table indexes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 09:05 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Сравнивать СУБД адекватно можно, если работали одинаковый промежуток времени на обеих СУБД на реальных проектах. На мой взгляд MSSQL2005 не плохой сервер. Как мне раньше казалось. Но последнее время начал сталкиваться с неприятными неожиданностями. К примеру если к одному полю имеем более 253 foreign keys, то при простом delete from users where uid = 60 (учитывая что этот user используется в множестве таблиц, более 500) сервер отказывает... Оптимизатор строит запрос проверки и запрос то очень велик... Странно что эту ошибку и в 2008 не устранили. У DB2 слава богу таких проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 09:57 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
webusНо последнее время начал сталкиваться с неприятными неожиданностями. К примеру если к одному полю имеем более 253 foreign keys Вот нежданчик так нежданчик :) Может в консерватории стоит что-то поменять ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:28 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Вот нежданчик так нежданчик :) Может в консерватории стоит что-то поменять ? В чем вопрос то ? Или вам такая ошибка не знакома: Код: plaintext 1. Код: plaintext Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:38 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
webus Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ? Я конечно возможно не в курсе последних веяний в разработке баз данных, но на мой скромный взгляд, от 200 констрейнтов на одно поле кому угодно поплохеет (интересно, что уж не 1000 ?). Просто интересно: ЗАЧЕМ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:42 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)webus Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ? Я конечно возможно не в курсе последних веяний в разработке баз данных, но на мой скромный взгляд, от 200 констрейнтов на одно поле кому угодно поплохеет (интересно, что уж не 1000 ?). Просто интересно: ЗАЧЕМ ??? Если бы я разрабатывал эту БД я бы вам дал ответ. БД разработана компанией разработчиком АБС. Наверное раз так сделали, значит было так нужно. Документов в АБС много, бизнесов тоже. И все эти документы создают пользователи (USERS), и мне кажется совершенно логично что ссылки идут на таблицу USERS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:44 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
webusGluk (Kazan)webus Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ? Я конечно возможно не в курсе последних веяний в разработке баз данных, но на мой скромный взгляд, от 200 констрейнтов на одно поле кому угодно поплохеет (интересно, что уж не 1000 ?). Просто интересно: ЗАЧЕМ ??? Если бы я разрабатывал эту БД я бы вам дал ответ. БД разработана компанией разработчиком АБС. Наверное раз так сделали, значит было так нужно. Документов в АБС много, бизнесов тоже. И все эти документы создают пользователи (USERS), и мне кажется совершенно логично что ссылки идут на таблицу USERS. Я был прав :( не ладно что-то в датской консерватории ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:47 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
webusДокументов в АБС много, бизнесов тоже. И все эти документы создают пользователи (USERS), и мне кажется совершенно логично что ссылки идут на таблицу USERS. И под каждый документ\бизнес новую табличку с FK на таблицу Users? Честь и хвала разработчикам такой АБС!!! Они, часом, не из 1С пришли, где на каждый документ по две таблички? Ну там то хоть FK нет. :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 11:10 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
webusИли может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ? Может лучше научиться документацию читать разработчикам АБС? Ну, уж про правильное проектирование я не смею говорить. Maximum Capacity Specifications for SQL Server Foreign key table references per table 4 - 253 4 Although a table can contain an unlimited number of FOREIGN KEY constraints , the recommended maximum is 253. Depending on the hardware configuration hosting SQL Server, specifying additional FOREIGN KEY constraints may be expensive for the query optimizer to process . Так что, как и в случае с 1С, вопрос можно решить железом. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 11:14 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Favn2. row-level security - кажется, в SS до сих пор ее нет. По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF. На декларативном уровне нет. Расценивать это http://technet.microsoft.com/ru-ru/library/cc966395(en-us).aspx костылями я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 11:18 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinТак что, хоть вперед\хоть взад. ;) Причем давно. A filtered index is an optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. It uses a filter predicate to index a portion of rows in the table . Замечание по индексам снимается. Правда, DB2 сама по статистике выбирает, какой именно индекс использовать, ну да это мелочи. Тут догнали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:01 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinFavn2. row-level security - кажется, в SS до сих пор ее нет. По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF. На декларативном уровне нет. Расценивать это http://technet.microsoft.com/ru-ru/library/cc966395(en-us).aspx костылями я бы не стал.То есть все-таки нет. По ссылке, если правильно навскидку понял, описана эмуляция этого механизма тригерами-вьюхами, что реализуемо в любой СУБД и имеет кучу недостатков. Это не функционал самой СУБД, а именно внешние "костыли". Кстати, введя в поиске MSDN "row level security", я даже этой доки не нашел - только ответы в конфах MS :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:06 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron1. как я понимаю, индекс один, но может сканироваться в разных направлениях? такого нет. 2. row-level security - честно, не в курсе. 3. насчет реорганизации - есть команды dbcc, они позволяют дефрагментировать индекс/таблицу.1. pkarklin говорит, что есть - верю. 2. Выяснили, что нет. 3. Угу, посмотрел, моск кипит возмущенно: " Инструкция DBCC CLEANTABLE выполняется за одну или несколько транзакций. Если не указан размер пакета, команда обрабатывает всю таблицу за одну транзакцию, при этом на время обработки производится ее монопольная блокировка. Инструкция DBCC CLEANTABLE не должна выполняться как задача регламентного обслуживания. Вместо этого используйте инструкцию DBCC CLEANTABLE после выполнения значительных изменений над столбцами переменной длины в таблице или индексированном представлении, если необходимо незамедлительно освободить неиспользуемое пространство. Кроме того, можно выполнить перестроение индексов таблицы или представления, однако это более ресурсоемкая операция." То есть не только оффлайн, но и не "задача регламентного обслуживания", хотя и почему-то дешевле по ресурсам, чем index reorg С другой стороны, DBCC для индексов не рекомендуют - устарел, рекомендуют ALTER INDEX REORGANIZE . А там - online reorg и для кластерных индексов в том числе. Люди добрые, объясните, в чем сакральный смысл online перестройки кластеризующего индекса, если кластеризуемая таблица не перестраивается?! Про таблицы там - ни слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:19 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron1. странно требовать от MS драйвера AIX или z/OS. кстати, в Feature Pack есть драйвера для рнр и жавы. 2. можно создавать CLR-типы данных, но в TSQL объектности действительно нет. Можно создавать CLR-функции/процедуры, используя там ООП. поля clr-типов можно индексировать стандартными механизмами. насчет video/audio - честно, не представляю, как можно на языке SQL работать с такими данными, а главное - зачем.1. Почему? Или у клиента с MacOS, например, работать с SS желания не возникнет по определению? А app-сервер на AIX тоже не должен иметь возможность работать с SS? В смысле, по политическим соображениям? :) На драйверы посмотрел, хуже, чем могло бы быть, но есть. Java: "The Microsoft SQL Server JDBC Driver version 2.0 can connect to SQL Server 2008 but does not fully support the new data types or other features that are new in SQL Server 2008". И SQLJ нет. Но спасибо, что хоть нативный - кажется, это единственный кусочек SS, который работает по *nix'ами, слава JVM :) PHP - жесть : Supported Operating Systems: Windows в разных вариантах. Вы знаете хоть кого-нибудь, юзающего PHP из-под Windows? К тому же " Server Driver for PHP relies on the Microsoft SQL Server 2005 ODBC Driver to handle the low-level communication with SQL Server.", то есть он - просто ODBC-прокси. 2. Еще раз - дело не в самой объектности, а в возможности описание собственных индексов по нестандартным данным, и их использования в запросах и оптимизатором. Ну, антропометрия какая-нибудь, например. Да что угодно - API добавления индексов в DB2 открыт. А функции/процедуры CLR - и в DB2 можно, но они от любых других не отличаются. Про video/audio - раз Оракл с IBM используют, наверно не просто так. Затем же, зачем полнотекст - централизованное хранилище всего с поиском по подобию, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:49 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnПравда, DB2 сама по статистике выбирает, какой именно индекс использовать, ну да это мелочи. Вы будете смеятся, но оптимизатор MS SQL точно так же выбирает индекс на основе статистики. Более того, SS строит недостающую статистику сам по полям, не входящим в индекс, но используемых в предикатах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 13:42 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnЛюди добрые, объясните, в чем сакральный смысл online перестройки кластеризующего индекса, если кластеризуемая таблица не перестраивается?! Про таблицы там - ни слова. Эээ... кластерный индекс - это и есть сама таблицы. Поэтому его реорганизация - есть реорганизация самой таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 13:59 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAron3. пакаджей в SS нет, насколько я понимаю, частично описанные здесь возможности решаются через LINQ. могу ошбаться. 4. динамические запросы - по всей видимости мы понимаем разные вещи под динамическими запросами. в моей картине мера динамический запрос "select * from " + @tbl не оптимизируется заранее никак. 5. вообще, при выполнении SP она целиком компилируется (либо план уже берется из кеша). не уверен насчет двух движков 6. SS не столько суров, он позволяет использовать хинты, но в документации написано - на свой страх и риск. кстати, ораклисты приводят большое количество хинтов как плюс 7. SS2000-2008 позволяют писать на С++ процедуры. насчет контекста - не в курсе. ни разу не использовал. предпочитаю использовать SQL. 8. насчет самого важного отличия - есть плюсы и минусы. а сервер СУБД как правило не мигируют с одной ОС на другую по несколько раз в месяц. на моей памяти, ни один оракловый проект не переносился Win <--> Linux <--> *nix. как правило, для серьезных проектов сервер планируют от железа и до СУБД.3. Совсем не похож: - одна из задач static SQL - ускорять выполнение запроса, убирая лишние этапы выполнения, а у доп. прослойки LINQ - совсем наоборот :) - как я понимаю, LINQ формирует запрос на клиенте, являясь частью .Net framework, тем самым опасность SQL injection сохраняется - у пакаджей есть еще одно важное свойство - они позволяют отслеживать привязку программ и SP к структуре БД. Например, удаление поля может сделать использующие его SP (или программы со static SQL) невалидными сразу, а не потом по воплям от несчастных юзеров :) - сама идея отказаться от декларативного SQL, т.е. лучшего, что есть в РСУБД, в пользу объектной навигации - мягко говоря, сомнительна. 4. В терминах DB2 статический запрос - запрос в коде программы, сформулированный до ее компиляции спец. прекомпилером. Динамический - любой, текст которого формируется в переменных-строках. И переведен в статический он может быть потом, админом, по факту частого выполнения и/или долгой оптимизации. Этот факт админу подскажут :) 5. Насчет контекстов - вопрос не праздный. T-SQL фактически не различает процедурную и декларативную части, чем провоцирует писать процедуры вместо сложных запросов. И неплохо бы знать, чем, кроме плохой оптимизации, приходится за это платить. 6. Ну, ораклисты - дело особое А вот изменить хинты в уже работающем приложении, если они внутри запросов, уже невозможно, подход DB2 гибче (хотя м.б. сложнее). Впрочем, подсказывать оптимизатору DB2 приходится крайне редко. 7. Согласен, фича редкая, я и сам не пользуюсь. Привел для порядку :) 8. Если проект под заказ - да, редко. Если на продажу - сколько угодно. Более того, со связкой DB2-J2EE (или Oracle-J2EE) можно спокойно перемещаться с Win на Unix сервера по мере роста проекта, масштабируясь почти неограниченно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 14:14 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinВы будете смеятся, но оптимизатор MS SQL точно так же выбирает индекс на основе статистики. Более того, SS строит недостающую статистику сам по полям, не входящим в индекс, но используемых в предикатах.Написал некорректно - какой индекс, конечно, а какой тип индексации для данного индекса, т.е. строить обычный или filtered в терминах SS. pkarklinЭээ... кластерный индекс - это и есть сама таблицы. Поэтому его реорганизация - есть реорганизация самой таблицы.Все понял, путаница в терминологии Если бы вот тут явно про таблицы и написали, все было бы понятно. А то получается, что есть table reorg со сжатием, кот. только offline, и есть другой - для кластеризации по индексу, но online. Путаница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 14:20 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
AAronраз уж я достаточно подробно ответил - расчитываю все же получить комментарии к моим вопросам по документу и озвучить версии DB2, которые сравниваем - продукт, версию, редакцию. а то сравнение аморфное.Озвучиваю. 1. Online table (не индекс) reorg и multi-dimensional clustering - входят в Enterprise. 2. Row-level security и audio/video - доп. фичи к Enterprise. Все остальное - core-level, применимо ко всем без исключения редакциям. Все описанное, кроме полного XQuery, было еще в версии 8.2, естественно и в 9.5 есть. Кстати, принципиальный вопрос по SS: Поддерживается ли связь SP с используемыми в ней таблицами? Что будет с SP, если дропнули таблицу, к кот. она обращалась? Что накроется - понятно, но при дропании или при выполнении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 14:32 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Favn Static SQL. Позволяет включать SQL прямо в текст программы и обрабатывать прекомпилером. При этом сам SQL из тексте программы исчезает и помещается в "package" в БД. ... одна из задач static SQL - ускорять выполнение запроса, убирая лишние этапы выполнения, а у доп. прослойки LINQ - совсем наоборот :) Embedded SQL for C существует в SS с незапямятных времен. ;) И прекомпайлер, есть, который: By using the /DB and /PASS options with the nsqlprep precompiler, you can connect to a specified server and database and create an access plan (set of stored procedures) for each separately compiled program module (compilation unit). With the /DB and /PASS options, nsqlprep makes a connection using the specified server name, database name, login ID, and password. The access plan consists of a separate stored procedure for each static SQL statement in each compiled program module. By default, the stored procedure names consist of the following: Name of the program module A date/timestamp converted to eight printable ASCII characters A dollar sign ($) The access plan section number The date/timestamp provides for re-creating stored procedures for the access plan with identical program module names each time the program is compiled. However, if you use the /PLAN option and specify a nondefault plan name that ends with an underscore (_), nsqlprep does not include the date/timestamp in the stored procedure names. In that case, you can reuse stored procedures created from a previous precompile. Но это такие древности. На современном этапе механизмов доступа к данным, код SQL, зашитый жестко приложение, выполняют на сервере с помощью sp_exeutesql, расширенной хп, которая: In earlier versions of SQL Server, the only way to be able to reuse execution plans is to define the Transact-SQL statements as a stored procedure and have the application execute the stored procedure. This generates additional administrative overhead for the applications. Using sp_executesql can help reduce this overhead and still let SQL Server reuse execution plans. sp_executesql can be used instead of stored procedures when executing a Transact-SQL statement several times, when the only variation is in the parameter values supplied to the Transact-SQL statement. Because the Transact-SQL statements themselves remain constant and only the parameter values change, the SQL Server query optimizer is likely to reuse the execution plan it generates for the first execution. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 14:32 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnКстати, принципиальный вопрос по SS: Поддерживается ли связь SP с используемыми в ней таблицами? Что будет с SP, если дропнули таблицу, к кот. она обращалась? Что накроется - понятно, но при дропании или при выполнении? Отвечу ссылкой, где я объяснял поведение SS в таком случае: Выбор СУБД! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 14:47 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinEmbedded SQL for C существует в SS с незапямятных времен. ;) И прекомпайлер, есть, который: . ..The access plan consists of a separate stored procedure for each static SQL statement in each compiled program module .Да уж, действительно - с незапамятных времен. Жесть pkarklinНо это такие древности.По поводу древностей - посмотрите современный стандарт по Java и как динамично там развивается SQLJ. Отсутствие у MS похожего механизма - не повод считать его не нужным. На самом деле, это как раз возможность писать запросы на C++/Java/... в стиле процедур на T-SQL. Или Вы думаете, что запихивать SQL в строку и потом вызвать функции любого CLI удобнее, чем просто написать строчку #sql select MyField into :MyVar ... ; pkarklinНа современном этапе механизмов доступа к данным, код SQL, зашитый жестко приложение, выполняют на сервере с помощью sp_exeutesql, расширенной хп, которая: Using sp_executesql can help reduce this overhead and still let SQL Server reuse execution plans. sp_executesql can be used instead of stored procedures when executing a Transact-SQL statement several times, when the only variation is in the parameter values supplied to the Transact-SQL statement. Because the Transact-SQL statements themselves remain constant and only the parameter values change, the SQL Server query optimizer is likely to reuse the execution plan it generates for the first execution. Вы считаете вызов некой SP с текстом запроса "современном этапом механизмов доступа к данным"? К тому же, это закрывает только маленький кусочек описанных выше возможностей package, и то план создается при 1-м выполнении. В DB2 для pakage можно настраивать кучу параметров, в т.ч. создание плана при rebind package (т.е. когда скажут), при 1-м вызове, или генерячить динамически, как для обычного SQL. Кстати, чтобы перевести динамический запрос на этот механизм - придется переписывать код, а не тыркнуть несколько раз мышой в админке, как в DB2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 15:05 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
pkarklinОтвечу ссылкой, где я объяснял поведение SS в таком случае...Мерси, молдца SS! :) Получается, что статическое связывание кода с запросом - это правильная, современная фича в случае T-SQL и жуткий древний отстой для остальных ЯП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 15:11 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Вопрос - а зачем писать процедуры на Си или Джаве - это же отстой по сравнению с СиШарпом, благо процедуры на них поддерживаются в обоих сабжах. ИМХО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 15:45 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Favn 6. Ну, ораклисты - дело особое А вот изменить хинты в уже работающем приложении, если они внутри запросов, уже невозможно , подход DB2 гибче (хотя м.б. сложнее). Впрочем, подсказывать оптимизатору DB2 приходится крайне редко. Что за наезд в сторону?:) Все там можно поменять, если знать как и где :Р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:27 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Stas TristanВопрос - а зачем писать процедуры на Си или Джаве - это же отстой по сравнению с СиШарпом, благо процедуры на них поддерживаются в обоих сабжах. ИМХО! Ну, валяй. Пиши на nix'aх на СиШарпе))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:32 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
ApexЧто за наезд в сторону?:) Все там можно поменять, если знать как и где :Р"Ша, уже никто никуда не идет!" (c) Я всего лишь про старый спор с ораклоидами о хинтах 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:38 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
Stas TristanВопрос - а зачем писать процедуры на Си или Джаве - это же отстой по сравнению с СиШарпом, благо процедуры на них поддерживаются в обоих сабжах. ИМХО!Действительно, вы уж сначала портируйте CLR подо все, что движется, да со всем окружением, чтобы с J2EE сравнить было не стыдно. А потом, в этом утопичном будущем, можно будет объяснять, что именно отстой и почему, как по Java, так и по C++. Не в пользу шарпа, конечно. И не в этой конфе :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:42 |
|
||
|
сравнение фич SS2008 и DB2 LUW
|
|||
|---|---|---|---|
|
#18+
FavnStas TristanВопрос - а зачем писать процедуры на Си или Джаве - это же отстой по сравнению с СиШарпом, благо процедуры на них поддерживаются в обоих сабжах. ИМХО!Действительно, вы уж сначала портируйте CLR подо все, что движется, да со всем окружением, чтобы с J2EE сравнить было не стыдно. А потом, в этом утопичном будущем, можно будет объяснять, что именно отстой и почему, как по Java, так и по C++. Не в пользу шарпа, конечно. И не в этой конфе :) Сейчас будет движения тел в сторону Mono) Нет, Mono не поддерживается в DB2))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:47 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1552975]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 190ms |

| 0 / 0 |
