Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
 Re: Сильные стороны MS SQL  [new]
softwarer
Member

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

Думать, конечно, дело хорошее......

http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#i41282

StalkerS
могу привести такой пример - .....

Я могу сказать как человек, который разрабатывал подобное решение. Конкретно: я писал некую непростую систему, и в том числе административные механизмы и интерфейс ее администрирования. Я в целом добился того, к чему стремится MSSQL:

  • Сносно администрировать систему мог кто угодно
  • Чем меньше кто угодно лез администрировать, тем лучше она работала.

    Тем не менее, у меня не было - и ни разу не возникало желания - подобным образом закрыть механизмы. Потому что я видел, что подобное "полностью автоматическое решение" не всегда будет лучшим.
  • 27 июн 06, 16:40    [2817647]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    1024
    Member

    Откуда: Нижний Новгород
    Сообщений: 14267


    Тем не менее, у меня не было - и ни разу не возникало желания - подобным
    образом закрыть механизмы. Потому что я видел, что подобное "полностью
    автоматическое решение" не всегда будет лучшим.
    -----------------




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


    Posted via ActualForum NNTP Server 1.3

    27 июн 06, 16:50    [2817711]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    andsm
    Member

    Откуда: Москва
    Сообщений: 1320
    Блог
    Yo.!!


    ага, у фоспро вот тоже "интелектуальные" механизмы, работают автоматически :) вот только если начнут сравнивать оракловую Automatic Shared Memory Management, ADDM and SQL Tuning Advisor, Automatic Storage Management с аналогами mssql2k5 то мишен у человека будет совсем ипосибле :)

    Хм. Я тоже знаю много страшных слов относящихся к MSSQL. Да, я все еще кое-что помню из своего ораклового прошлого - так что и оракловыми страшными словами меня не испугаешь

    vadiminfo

    И на том совещании, явно будут иметь преимущества те кто в этом лучше разбирается. Если конечно магерам все это понятно будет.

    Скорее от подвешенности языка. Но поскольку Sarin и сам явно с предубеждением относится к MSSQL, миссия вероятно поручена не тому человеку.

    Если оба технических специалиста разбираются в деталях очень хорошо - опять же зависит от подвешенности языка. Все преимущества как MSSQL над Оракл, так и наоборот, являются спорными.
    27 июн 06, 17:26    [2817892]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    Один
    Member

    Откуда: Киев
    Сообщений: 781
    2 Sarin

    Если честно, складывается ощущение, что вы участвуете в каком-то очень формальном тендере. Причем (не обижайтесь) сделано так, что MSSQL не может победить. Как бы вас крайним потом не выставили.

    Ну да ладно.
    Если вы действительно хотите продать кому-то MSSQL, позвоните в MS, они вам с радостью пришлют профессионального продавца, к-й на таких вот презентациях собаку съел. Опять же в случае чего разделите с ним ответственность.

    Если же и это не хотите - упирайте на деньги. Дешево и приемлемо.
    27 июн 06, 17:35    [2817934]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    Tov. Drujba
    Member

    Откуда: Москва
    Сообщений: 2562
    Мда, товарищи, что-то вы не в ту степь совсем ушли. Как уже было верно замечено Sarin не является специалистом по MSSQL'ю. Т.е. спор о технической стороне представленных продуктов заранее проигрышен и не подлежит рассмотрению. Однако, как собственно и всегда, решения принимают менеджеры. Для которых важны следующие параметры:
    1. Цена решения
    2. Стоимость владения
    3. Сроки внедрения
    4. Срок окупаемости
    5. Распостраненность продукта
    6. Пример других компаний смежной области
    7. Доступность специалистов

    Собственно по этим пунктам и необходимо бить, не давая оппонентам перевести разговор на детали реализации.
    27 июн 06, 17:52    [2818007]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    1024
    ну уж, поскромней надо быть.

    Зачем? Правильнее использовать адекватную самооценку.

    1024
    Если у вас не получилось это не значит что у подразделения микрософта занимающегося склсервером этого не выйдет.

    Безусловно. Это значит, что сделать это непросто даже в относительно простом случае, а для случая куда более сложного сервера - так я бы сказал, очень и очень непросто. Достаточно, чтобы:

    1. Лично я испытывал скепсис в отношении перспектив такого подхода.
    2. Возникло желание уйму сил, необходимую для "получилось", пустить на что-нибудь полезное.
    27 июн 06, 18:00    [2818035]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    VoDA
    Member

    Откуда: сеРверная пальмира :)
    Сообщений: 4898
    andy st
    VoDA
    StalkerS
    можно сказать, что mssql проще и надежнее в обслуживании благодаря интеллекуальным механизмам, типа автоматизированного управления памятью, автоматизированной перестройки статистики и тому подобного.
    вот эти доводы легко разобьет действительно грамотный специалист. так что при очной ставке лучше и не упоминать.
    вы будете удивлены, но не разобьет ввиду того, что это так оно и есть ;)
    Вряд ли меня это удивит
    Оно конечно так и есть, НО Oracle позволяет использовать и переключать автоматический и ручной режимы управления. А значит его можно точнее настроить (больше ручек для подкручивания работы). так что этот аргумент уйдет к Oracle.
    andy st
    VoDA

    StalkerS
    Это упрощает и повышает надежность обслуживания.
    упрощает - возможно, но спорно. повышает надежность - очень спорно.

    надежность повышается за счет исключения ошибок в администрировании.
    Проблемы начинаются тогда, автоматические настройки не устраивают или работают медленнее чем настроенные вручную или ... (компьютер ведь не телепат, он не знает как ДОЛЖНО работать приложение). И вручную не настроить.

    ЗЫ оба аргумента - обоюдо-острые, если противник - грамотный, то он испльзует их против вас.
    27 июн 06, 18:10    [2818093]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    VoDA
    Member

    Откуда: сеРверная пальмира :)
    Сообщений: 4898
    andy st
    vadiminfo
    Да, для удивительного здесь есть место. А если прокатят такие доводы как ввиду того, что это так оно и есть , то это настоящая удача.
    Вообще было бы интересно узнать, чем дело кончится.

    ну есть такая фича, как автообновление статистики (которая работает достаточно неплохо и механизм описан). можно его отключить, можно самому обновлять...
    про управление памятью тоже немало статей...
    аналогично оптимизатор запросов.
    msdn в руки и понеслось....
    я конечно не знаю каков конкретно ваш экспириенс, но ИМХО многое в ms sql server работает очень... пахабно что-ли.

    к примеру сервер может себя удушить блокировками.
    оптимизатор - бывает использует не оптимальные индексы (это наверное проблема многих СУБД, но все же).
    27 июн 06, 18:16    [2818117]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    1024
    Member

    Откуда: Нижний Новгород
    Сообщений: 14267

    1. Лично я испытывал скепсис в отношении перспектив такого подхода.
    ----------------------

    если это личное то нет смысла рекомендовать другим


    Posted via ActualForum NNTP Server 1.3

    27 июн 06, 18:20    [2818132]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    StalkerS
    Member

    Откуда: Melbourne
    Сообщений: 1345
    softwarer

    Думать, конечно, дело хорошее......

    погодите-ка...
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14211/stats.htm#i41282

    The recommended approach to gathering statistics is to allow Oracle to automatically gather the statistics. Oracle gathers statistics on all database objects automatically and maintains those statistics in a regularly-scheduled maintenance job
    ...
    This job is created automatically at database creation time and is managed by the Scheduler. The Scheduler runs this job when the maintenance window is opened. By default, the maintenance window opens every night from 10 P.M. to 6 A.M. and all day on weekends.

    Вы что, хотите сказать что создается job, который запускается scheduler'ом в указанное время и называется автоматическим сбором статистики ? Ну softwarer вы и насмешили, вот сравните с вариантом mssql:

    Kalen Delaney

    The statistics will be misleading if they were generated when the dispersion of data values was significantly different from what appears in the current data in the table. However, SQL Server detects whether statistics are not up-to-date, and by default it automatically updates them.
    ....
    Statistics are automatically updated when the query optimizer determines that they are out-of-date. This basically means that sufficient data modification operations have occurred since the last time they were updated to minimize their usefulness. The number of operations is tied to the size of the table and is usually something like 500 + 0.2 * (number of rows in the table). This means that the table must have at least 500 modification operations before statistics are updated during query optimization; for large tables, this threshold can be much larger. In this case, when I say "operation" I mean a single row modification. A single UPDATE statement that changes 1000 rows will be counted as 1000 modification operations. You can actually see the number of modification operations in the sysindexes table, in the rowmodctr column. The number of rows affected by every INSERT, UPDATE, or DELETE operation on a table is reflected in the rowmodctr column for the row representing the table itself. Remember that this will be the sysindexes row that has an indid value of either 0 (if the table is a heap) or 1 (if the table has a clustered index). Whenever statistics are updated, either manually or automatically, the rowmodctr value is reset to 0
    ...
    However, setting the database option auto update statistics to FALSE ... no automatic updating of statistics takes place. This is not a recommended practice unless thorough testing has shown you that you don't need the automatic updates or that the performance overhead is more than you can afford.


    Может вы и в свой автоматизированный проект просто напихали защедуленых job'ов ?

    а вообще если серьезно никогда нельзя считать себя умнее всех, даже при том, что вы явно умнее очень многих (что похоже правда).
    Но быть умнее группы разработчиков Microsoft вы не можете при всем желании, и если они решили убрать ручные установки - так на то были веские причины, и осуждать это глупо
    27 июн 06, 21:19    [2818525]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    locky
    Member

    Откуда: Харьков, Украина
    Сообщений: 62034

    StalkerS wrote:
    > а вообще если серьезно никогда нельзя считать себя умнее всех, даже при
    > том, что вы явно умнее очень многих (что похоже правда).
    > Но быть умнее группы разработчиков Microsoft вы не можете при всем
    > желании, и если они решили убрать ручные установки - так на то были
    > веские причины, и осуждать это глупо
    В принципе, считать человека (или группу людей) априори умнее себя (или
    всех) - тоже не самый умный поступок...
    Были веские причины убрать? не хотели отягощать среднего администратора
    рутиной по настройке сервера? Сделайте галку "Автомат вкл/выкл".
    А мне иногда хочется покрутить ручек. Вы скажете "всё равно лучше чем
    сейчас не получится!". Возможно. Но ведь НЕТ ВОЗМОЖНОСТИ ПОПРОБОВАТЬ!!!!
    Тем паче, в тех-же тестах ТПЦ есть очень интересные трэйс-флаги,
    позволяющие включать/выключать тот или иной функционал. Т.е. ПРИ ЖЕЛАНИИ
    таки можно подёргать, пусть и не за все, но хоть за некоторые ручки...
    к примеру была ручка "размер процедурного кэша". Теперь её нет :-( А был
    таки у меня случай, когда хотелось таки размер процедурного кэша сделать
    поболее, а кэша данных - поменее....
    Вон, у сайбеза ручек - завались, и никто не жалуется на сложность
    настройки.

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

    --
    -------------------------
    There's no silver bullet!

    Posted via ActualForum NNTP Server 1.3

    27 июн 06, 21:34    [2818557]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    ChA
    Member

    Откуда: Москва
    Сообщений: 11383
    locky
    зы давайте еще поспорим насчет преимущества коробки автомата над ручной
    КП... и вспомним, что водитель-спец на ручной КП может сделать
    водителя-спеца на автомате КП - за счет лучшего знания чего нужно в
    данный мОмент.
    При всей "кажущейся" простоте MSSQL ни у одного из заказчиков нет вменяемого DBA. Они даже включить "автоматику" не могут, типа, зашедулить самостоятельно backup ! Мне иногда рыдать хочется, глядючи на них. Какой им Oracle с кучей настроек ? Один из админов, например, выполняет бакап, тормозя предварительно, при работающих пользователях, сервер ! Другой, на полном серьезе, утверждал, что MSSQL не умеет использовать более 2ГБ ОЗУ ! Да у них Oracle ласты склеит еще до запуска.

    P.S. Вроде и конторы не последние, в смысле "бабло" тоннами гоняют, но откуда эти тролли берутся, вы мне скажите ?
    28 июн 06, 00:31    [2818890]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    ChA
    Member

    Откуда: Москва
    Сообщений: 11383
    VoDA
    я конечно не знаю каков конкретно ваш экспириенс, но ИМХО многое в ms sql server работает очень... пахабно что-ли.

    к примеру сервер может себя удушить блокировками.
    оптимизатор - бывает использует не оптимальные индексы (это наверное проблема многих СУБД, но все же).
    Судя по всему, Ваш "экспириенс" тоже невелик, тем более в MSSQL. Пожалуйста, не позорьтесь.
    28 июн 06, 00:35    [2818902]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    1024
    если это личное то нет смысла рекомендовать другим

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

    Признаться, с любопытством наблюдаю за развитием событий.
    28 июн 06, 01:03    [2818944]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    StalkerS
    погодите-ка... Вы что, хотите сказать что создается job, который запускается scheduler'ом в указанное время и называется автоматическим сбором статистики ?

    Хм. Я хочу сказать, что если занимать позицию малограмотного пользователя, то мне решительно наплевать, какие именно механизмы сервер использует для автоматического сбора статистики. Если же занимать позицию более грамотного сотрудника, то все, что из этого следует - вырубая scheduler, я рискую поломать и сбор статистики.

    StalkerS
    Ну softwarer вы и насмешили, вот сравните с вариантом mssql:

    И, простите, что в этом варианте интересного? Я понимаю, что "думать" интереснее, чем "читать", но сравните с

    A Scheduler job GATHER_STATS_JOB is predefined upon installation of Oracle Database. GATHER_STATS_JOB collects optimizer statistics for all objects in the database for which there are no statistics or only stale statistics.
    ........
    Statistics must be regularly gathered on database objects as those database objects are modified over time. In order to determine whether or not a given database object needs new database statistics, Oracle provides a table monitoring facility. This monitoring is enabled by default when STATISTICS_LEVEL is set to TYPICAL or ALL. Monitoring tracks the approximate number of INSERTs, UPDATEs, and DELETEs for that table, as well as whether the table has been truncated, since the last time statistics were gathered. The information about changes of tables can be viewed in the USER_TAB_MODIFICATIONS view. Following a data-modification, there may be a few minutes delay while Oracle propagates the information to this view. Use the DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO procedure to immediately reflect the outstanding monitored information kept in the memory.

    The GATHER_DATABASE_STATS or GATHER_SCHEMA_STATS procedures gather new statistics for tables with stale statistics when the OPTIONS parameter is set to GATHER STALE or GATHER AUTO.

    В принципе на эту тему в документации еще много интересного - надеюсь, Вы простите, если я не буду зафлуживать форум. Я полагал, что хватит ссылки :(

    Если же начинать меряться интересными вещами, то было бы любопытно узнать, как в MSSQL реализовано, например, следующее:

    You can create user-defined optimizer statistics to support user-defined indexes and functions.

    Следующее, что было бы интересно узнать - как реализуется статистика для временных таблиц.

    StalkerS
    а вообще если серьезно никогда нельзя считать себя умнее всех,

    Полагаю, Вы намекаете, что я "считаю себя....".

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

    Если хотите получить оценку вашей теории и/или информацию о моих мотивах, то давайте мылом - форум имхо не для этого.

    StalkerS
    Но быть умнее группы разработчиков Microsoft вы не можете при всем желании,

    Хм. Завидный оптимизм :)

    StalkerS
    и если они решили убрать ручные установки - так на то были веские причины,

    Бесспорно. Что, однако, ничего не говорит о самих причинах и последствиях решения.

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

    Если взять более близкий пример - у Oracle, безусловно, были веские причины завязаться на Java. Однако мне непросто выразить свое мнение по поводу этого решения в общественно допустимой форме.

    StalkerS
    и осуждать это глупо

    Побойтесь бога! Ну или еще кого-нибудь. Зачем мне осуждать то, что мне в целом безразлично? Я уж лучше поосуждаю Oracle за яву, с нее виден конкретный геморрой.

    Существует вполне определенная, объективная зависимость - например, "над головой грозовая туча -> пора готовиться к дождю". Констатировать ее - совершенно не значит осуждать тучу, небо, природу или кого бы то ни было.
    28 июн 06, 01:41    [2818964]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    vadiminfo
    Member

    Откуда: Обнинск
    Сообщений: 4802
    StalkerS

    Речь о том, что сервер сам, по определенному алгоритму, определяет, когда надо обновить статистику и обновляет ее, без участия человека вообще. Оракл разве так может ? Я думал нет

    Стаистика стаистике рознь. У Оракла есть динамические словари.

    Oracle contains a set of underlying views that are maintained by the database server and accessible to the database administrator user SYS. These views are called dynamic performance views because they are continuously updated while a database is open and in use, and their contents relate primarily to performance.

    В 10-м я таких насчитал порядка 400.


    Они естественно автоматически обновляются. И я читал, что Скуль стремиться тоже приблизиться по такой стаистике к Ораклу (писал уже).

    Если же речь идет о статистике сбор которй временеемок в общем случае, типа анализа таблиц - подсчет блоков, среднаго размера записей, количества записей и т.д. для оптимизатора, например, то такую собирать автоматически как-то не хочется. Сколько, например, может занять сбор таблы из сотни миллионов записей, да еще с полями типа BLOB? Такую лучше по расписанию, в зависимости от оценок по росту объемов. Например, раз в месяц и ночью. Да и такие запросы, от которых ожидаются неприятности часто отрабатываются и по самой логике и прогоняются на тестах у разработчика. Так что такой анализ не так часто, наверное, и применяется.

    ChA

    При всей "кажущейся" простоте MSSQL ни у одного из заказчиков нет вменяемого DBA.

    Ни скажу что ни у одного, но у многих заказчиков по Оракловым системам нет никаких DBA по Ораклу. И не будет как они говорят.

    ChA

    Какой им Oracle с кучей настроек ?

    Они и не настраивают. И не только они, но и разработчики, что им ставят. То что сам Оракл по умолчанию настроил, тем и живут.

    ChA

    Да у них Oracle ласты склеит еще до запуска.

    Не склеивает годами. Но зато када склеит, есть туча ручек, чтобы приехали (а чаще удаленно по мылу или аське) админы от разработчика и расклеили.
    Конечно, опасаясь часа Х приходится кое-что предпринимать в таких случаях.
    Но в общем много ручек не значит, что их постоянно нужно крутить. В основном они для редких случаев, когда все пошло не так. А это может быть, наверное, с любой СУБД.
    28 июн 06, 02:22    [2818981]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    ChA
    При всей "кажущейся" простоте MSSQL ни у одного из заказчиков нет вменяемого DBA. Они даже включить "автоматику" не могут, типа, зашедулить самостоятельно backup ! Мне иногда рыдать хочется, глядючи на них. Какой им Oracle с кучей настроек

    Хм. В моей текущей задаче на вторую очередь работ планируется именно реализация "автоматического администрирования для чайников с дружественным к оным интерфейсом". Полагаю, сделаем, доступно для пользователя без следов ИТ-грамотности.

    Но тем не менее, мы изначально закладываем варианты как "пользователь, интеллектуальная активность которого ограничивается запуском setup.exe", так и "нормально администрируемая система". И я заранее скажу, что при эквивалентных ТТХ железа-данных вторая будет работать лучше. Что мы сделаем - чтобы первая работала "не слишком плохо".
    28 июн 06, 02:35    [2818989]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    ChA
    Member

    Откуда: Москва
    Сообщений: 11383
    softwarer
    было бы любопытно узнать, как в MSSQL реализовано, например, следующее:

    You can create user-defined optimizer statistics to support user-defined indexes and functions.

    Следующее, что было бы интересно узнать - как реализуется статистика для временных таблиц.
    Пересказывать документацию, дело абсолютно неблагодарное, так что если действительно интересно, то начните отсюда. Думаю, что в 2005 подход принципиально не изменился, знающие поправят.
    vadiminfo
    Ни скажу что ни у одного, но у многих заказчиков по Оракловым системам нет никаких DBA по Ораклу. И не будет как они говорят.
    Так и у наших тоже самое - реальных DBA нет, сплошь "системные администраторы". Так хоть бы инициативу не проявляли, уроды :( Уже одно то, что 1С с наших серверов удалось изжить, уже плюс.
    vadiminfo
    Но в общем много ручек не значит, что их постоянно нужно крутить.
    Именно, все равно "ручками" крутить некому, были уже несколько раз печальные ситуации, человеку диктуешь по телефону, что делать, вплоть до движения "мышки". Он честно выполняет, но через несколько минут начинаешь понимать, что "мышь" явно заблудилась, так как по пути возникают объекты, которых ну никак не должно быть, значит, начинай сначала. Одно радует, в этом смысле, MSSQL проще переустановить, и восстановить бакапы. Максимум два часа, даже при использованием "гоблинов". Конечно для "серьезных" БД, для которых уже появляется штатная единица DBA, ситуация уже меняется к лучшему. Вот только мест таких гораздо меньше, чем хотелось бы.
    softwarer
    В моей текущей задаче на вторую очередь работ планируется именно реализация "автоматического администрирования для чайников с дружественным к оным интерфейсом". Полагаю, сделаем, доступно для пользователя без следов ИТ-грамотности.
    Ну так замечательно, вполне здравый подход. Может быть, это и есть один из плюсов для MSSQL, что писать уже практически ничего не надо, входит в поставку и оплачено. Только не забывайте, что программистам редко удается внятный usability. Многое для них элементарно, а пользователь потом морщины на лбу зарабатывает. Тестировщики должны быть отборными, ни проблеска разума ни в одном глазу :)
    28 июн 06, 04:08    [2819008]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    andy st
    Member

    Откуда:
    Сообщений: 906
    VoDA
    ... но ИМХО многое в ms sql server работает очень... пахабно что-ли.

    :-) а примеры есть или это сложившееся мнение после того как "Рабинович по телефону хриплым глосом естердей напел"?
    VoDA

    к примеру сервер может себя удушить блокировками.

    запросто. но это зависит от умения писАть под блокировочник.
    а для 2005-й версии уже можно заюзать версионность.
    VoDA

    оптимизатор - бывает использует не оптимальные индексы (это наверное проблема многих СУБД, но все же).

    очень часто это утверждают от незнания принципов построения индексов под запросы (и наоборот).
    хинты в запросах у меня остались только на машинах с включенным гипертредингом и направлены на органичение использования "недопроцессоров"
    28 июн 06, 05:56    [2819062]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    ASCRUS
    Member

    Откуда: МО Электросталь
    Сообщений: 5994
    locky
    зы давайте еще поспорим насчет преимущества коробки автомата над ручной
    КП... и вспомним, что водитель-спец на ручной КП может сделать
    водителя-спеца на автомате КП - за счет лучшего знания чего нужно в
    данный мОмент.

    Ну конечно сделает. Как впрочем наверное "сделает" и пилот сверхзвукового самолета, неправильно покрутив "ручные настройки" самолета

    А вообще предлагаю обсудить обратную сторону медали - а зачем нужны эти "ручные настройки" и нужны ли они вообще ? Вот примерно основные на мой взгляд обоснования применения:
    1. Сервер устанавливается на железо и его нужно оптимально настроить с учетом специфики железа и ОС.
    2. Автоматика сервера не справляется с возникшими нагрузками.
    3. Не хватает мощности железа.
    4. Криво спроектирована БД и логика работы с ней клиентов.

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

    Далее уже по пунктам:
    Установка сервера
    Ручных настроек тут особо много и не нужно. Никто не мешает серверу при установке самостоятельно получить у ОС нужные характеристики. Обычно здесь сервер самостоятельно не сможет определить максимальный размер RAM, который можно будет наиболее оптимально использовать с учетом других процессов ОС и распределение файлов БД, лог-файлов и дополнительных файлов по носителям. Если требуется выполнять что то больше этих пунктов, значит это усложнит инсталяцию сервера и БД у удаленных клиентов и создаст сложности в распостранении тиражируемых продуктов. MSSQL нормально сюда вписывается, единственный недочет - это при установке назначается автоматический размер кэша в пределах от нуля до максимального размера RAM.

    2. Автоматика сервера не справляется с возникшими нагрузками.
    Хреновая значит автоматика. Вот тут любят СУБД сравнивать с автомобилем. Однако СУБД это очень сложная штука, поэтому давайте уж проводить аналогии с тем, что так же имеет сложные процессы управления. Интересно вот, много можно налетать на самолете если на нем будет хреновая автоматика. Согласятся ли полететь на таком самолете любители ручных настроек, если их уверят, что у самолета полным полно ручек, которые если что будет крутить сертифицированный профессиональный DBA пилот всю дорогу ? Поэтому всякие сборы статистик по шедулерам, хинты на запросы из за проседания оптимизатора, неумение сервера самостоятельно перераспределять различные нагрузки различных возникающих задач и т.д. и т.п. в моих глазах являются большим жирным минусом такого сервера. MSSQL неплохо сам автоматически распределяет нагрузки, есть поддержка автокоррекции статистики, грамотный оптимизатор запросов, хотя есть траблы с хранением и перекомпиляцией планов хранимых процедур и распараллеливанием запроса между процессорами.

    3. Не хватает мощности железа.
    Ну тут сколько ручек не крути - если того же RAM мало, то его так и останется мало. А вот как наиболее оптимально распределять ресурсы при их нехватке - это как раз сервер должен лучше знать и действовать в зависимости от ситуации и выполняющихся задач. Еще кстати стоит заметить, что само понятие "мощности железа" чрезвычайно относительное - есть сервера, которые неприхотливы к ресурсам, а есть и те, которые потребуют для своей работы гораздо больше ресурсов и мощнее железо на таких же обьемах БД. Если посмотреть на MSSQL, то можно сказать что этот сервер достаточно нормально работает в условиях недостатка ресурсов и не сильно требовательный к ним.

    4. Криво спроектирована БД и логика работы с ней клиентов.
    Вот это точно тот самый пункт, который и "обосновывает" ручные настройки. Действительно - кривая схема БД, приводящая к денормализации или сложному получения данных с километровыми запросами, непродуманная работа сессий, повсевместное использование курсоров и прочих вещей, не дающих работать оптимизатору запросов, долгие транзакции и прочее прочее прочее приводят к неэффективной работе сервера, даже если он 10 раз самый умный в мире автомат. И главное поделать тут уже ничего нельзя - если БД и клиентская часть есть, то никто ее оптимизировать не будет. Вот тут только единственный выход - иметь в запасе как можно больше ручных настроек, которые позволют хоть как то вытащить сервер на производительность что на текущем сервере, что на более мощном (как известно при таких "решениях" купить более мощный сервер приходит достаточно через короткое время, однако даже более мощное железо с комплексом рычажков и настроек для кривых БД дает ничтожно малое прибавление производительности). Естественно у MSSQL здесь будет очевидный минус - настроек у него под выравнивание кривых БД фактически нету, тут как говорится работать сервер будет по принципу "Умерла, так умерла".

    P.S. А вообще очень хочется Ораклистов послушать насчет самых самых нужных с их точек зрения ручных настроек в плане практического применения, чтобы во первых убедится в том, что это случайно не то самое, что в том же MSSQL и ASA делается как нечто само собой разумеющееся самим сервером, а во вторых увидеть что же такого реального в плане выигрыша производительности по сравнению с другими СУБД, ибо пока к сожалению после общения с Ораклом у меня сложилось печальное впечатление, что ручки эти Ораклу нужны не чтобы ездить быстрее других СУБД, а чтобы ездить не медленнее. С удовольствием позволю себя "переубедить" в таком "ошибочном" мнении. Если же аргументы не будут внятными, то как раз у автора топика и будет достаточно материала, чтобы расписать сильные стороны несложного в администрировании, но достаточно эффективно работающего на автомате MSSQL.
    28 июн 06, 08:13    [2819212]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    ChA
    Пересказывать документацию, дело абсолютно неблагодарное, так что если действительно интересно, то начните отсюда

    Спасибо. Я имею привычку заглянуть в документацию перед тем, как что-то говорить, но к сожалению, не нашел информации именно по временным таблицам - полагаю, очевидно, что подход сбора статистики для них должен несколько отличаться. Возможно, конечно, недостаточно долго искал.

    ChA
    Ну так замечательно, вполне здравый подход. Может быть, это и есть один из плюсов для MSSQL, что писать уже практически ничего не надо, входит в поставку и оплачено

    В первую очередь, я бы не сказал, что в MSSQL этот подход реализован хоть как-то близко к требуемому мне уровню. По моему весьма ограниченному опыту работы с ним, проблемы возникают, и я полагаю, что если я некоторые вещи разгребал не сразу, то невнятные пользователи определенно испытают затруднения.

    ChA
    Только не забывайте, что программистам редко удается внятный usability....... Тестировщики должны быть отборными, ни проблеска разума ни в одном глазу :)

    В данном случае постановка жестче: выполнение минимальных админских операций не должно требовать и проблеска мысли. То есть примерно так: мы по телефону говорим: "Нажмите кнопку "Восстановить последний бэкап", и этим процесс починки завершается.
    28 июн 06, 09:56    [2819520]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    softwarer
    Member

    Откуда: 127.0.0.1
    Сообщений: 67534
    Блог
    ASCRUS
    Вот примерно основные на мой взгляд обоснования применения:

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

    Скажем, в Oracle я могу для базы, сессии или конкретного запроса указать режим FIRST_ROWS или ALL_ROWS - это режим предполагаемого использования полученных данных; интересуют ли меня "первые строки как можно быстрее" (типично для отображения выборки в интерфейсе) либо интересуют "все строки оптимально по общему времени фетча" (типично для обработки данных). Согласитесь, что сервер вряд ли сможет определить мои намерения самостоятельно, особенно если запрос идет с клиента.

    Другой момент, который вроде бы одинаково обрабатывается в MSSQL и Oracle - гистограммы и коррелирующие предикаты. Можно автоматически собрать статистику, а можно - ручками указать особое знание, например то, что надо собирать статистику не по атрибутам А и Б, а по паре атрибутов А,Б. В принципе, эту задачу сервер может автоматизировать, но соответствующий анализ в настоящее время нерентабелен.
    28 июн 06, 10:46    [2819777]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    VoDA
    Member

    Откуда: сеРверная пальмира :)
    Сообщений: 4898
    andy st
    :-) а примеры есть или это сложившееся мнение после того как "Рабинович по телефону хриплым глосом естердей напел"?

    Не много, но есть. как ложка дегтя.
    andy st
    VoDA

    к примеру сервер может себя удушить блокировками.

    запросто. но это зависит от умения писАть под блокировочник.
    а для 2005-й версии уже можно заюзать версионность.
    пример: есть таблица на 10 млн. строк (может и больше). простая - 2 int + 1 varchar (один инт - PK).
    Идет Update второго столбца инт в соответствии со словарем. СУБД используется монопольно.

    Вопрос: почему и зачем накручивается столько блокировок, что сервер уходит в дикий своп.
    ЗЫ версионность наверное не подойдет из-за того, что сама БД достаточно большая, а плюся версионности не востребованы.
    andy st
    VoDA

    оптимизатор - бывает использует не оптимальные индексы (это наверное проблема многих СУБД, но все же).

    очень часто это утверждают от незнания принципов построения индексов под запросы (и наоборот).
    хинты в запросах у меня остались только на машинах с включенным гипертредингом и направлены на органичение использования "недопроцессоров"
    возможно. Но реально как обойти косяк кроме хинтов не нашел (может плохо искал конечно)

    пример: есть таблица:
    таблица (ПК, инт1, инт2, инт3)
    индексы:
    1. инт1;
    2. инт1, инт2, инт3.

    почему во время джойна к другим таблицам по полю инт1 используется 2-й индекс?
    ЗЫ объем БД большой и выбор индекса определяет скорость работы.
    28 июн 06, 10:50    [2819812]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    andy st
    Member

    Откуда:
    Сообщений: 906
    softwarer

    Можно автоматически собрать статистику, а можно - ручками указать особое знание, например то, что надо собирать статистику не по атрибутам А и Б, а по паре атрибутов А,Б. В принципе, эту задачу сервер может автоматизировать, но соответствующий анализ в настоящее время нерентабелен.

    в MSSQL2005 такая штука, как Database Engine Tuning Advisor вроде как умеет давать рекомендации по сборке статистики по нескольким полям одновременно.
    Сильно не копался, но такие рекомендации он мне давал
    28 июн 06, 11:00    [2819897]     Ответить | Цитировать Сообщить модератору
     Re: Сильные стороны MS SQL  [new]
    ASCRUS
    Member

    Откуда: МО Электросталь
    Сообщений: 5994
    softwarer
    ASCRUS
    Вот примерно основные на мой взгляд обоснования применения:

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

    Скажем, в Oracle я могу для базы, сессии или конкретного запроса указать режим FIRST_ROWS или ALL_ROWS - это режим предполагаемого использования полученных данных; интересуют ли меня "первые строки как можно быстрее" (типично для отображения выборки в интерфейсе) либо интересуют "все строки оптимально по общему времени фетча" (типично для обработки данных). Согласитесь, что сервер вряд ли сможет определить мои намерения самостоятельно, особенно если запрос идет с клиента.

    Другой момент, который вроде бы одинаково обрабатывается в MSSQL и Oracle - гистограммы и коррелирующие предикаты. Можно автоматически собрать статистику, а можно - ручками указать особое знание, например то, что надо собирать статистику не по атрибутам А и Б, а по паре атрибутов А,Б. В принципе, эту задачу сервер может автоматизировать, но соответствующий анализ в настоящее время нерентабелен.

    Вот поэтому я изначально и уточнил, что я имел ввиду под ручными настройками. Такие опции вряд ли стоит считать ручными настроками, в той же ASA есть и FIRST_ROWS и ALL_ROWS и опции понижающие или повышающие приоритеты выполнения сессии, указывающие что предпочтильнее для сессии OLTP/OLAP/Mixed, операторы пересбора статистики или же явного указания столбцов, по которым будет собираться статистика и т.д. и т.п. - все это можно считать просто направляющим функционалом, как Вы правильно выразились, именно направляющим и подсказывающим серверу что сессия собирается делать, однако конечное решение по распределению нагрузок и ресурсов в данном случае остается за сервером. А вот хинты в запросе с явным указанием индексов или изменение опций работы кэша уже явно можно назвать ручными настройками работы сервера, которые жестко привязывают его работу в пределах заданных параметров. Или я не правильно понимаю, что в Оракле имеется ввиду под термином "ручные настройки" ?
    28 июн 06, 11:06    [2819945]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6   вперед  Ctrl      все
    Все форумы / Сравнение СУБД Ответить