powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Управление памятью
25 сообщений из 60, страница 2 из 3
Управление памятью
    #33014360
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун StalkerSПлюсы от некросплатформенности : более тесная интеграция с системой.Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS
Windows -- например какие функциональные возможности OS он использует,
которые не использует Oracle на той же платформе? Каков выигрыш от
этого? В чём он выражается? Спасибо.Не нужно искать конкретные имена функций ядра (документированные
или нет, неважно), моё любопытство удовлетворят хотя бы основные
функциональные элементы, которые использует MS SQL Server и не
использует Oracle на Windows. В чём она эта "интеграция"? Спасибо.
...
Рейтинг: 0 / 0
Управление памятью
    #33014373
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS Windows -- например какие функциональные возможности OS он использует,

К примеру, тема этого топика. SQL-Server и операционная система, общаясь напрямую, вырабатывают разумную стратегию использования оперативной
памяти.
Далее, в SQl-Server есть такое понятие как Windows Authentication. Это означает, что пользователи имеют возможность подключаться к серверу без ввода дополнительных логинов и паролей к серверу, а на основе логинов операционной системы. Т.е. мне достаточно пройти аутентификацию при входе в Windows, и я автоматически получаю возможность подключения к SQL-Server (для этого, разумеется, надо сообщить серверу, что такой-то Windows-логин имеет такое право). Такая возможность позволяет не только упростить взаимодействие с сервером конечных пользователей (не надо 2 раза вводить логин с паролем), но и упростить администрирование. К примеру, достаточно указать серверу, что например Windows-группа "Бухгалтеры" имеет право на подключение к серверу и задать ей соответствующие привелегии в базе.ФСЕ !Теперь этой группой можно управлять (добавлять/удалять/временно отключать логины, управлять настройками типа длины пароля, срока его действия и прочей ботвы) напрямую в оснастке Windows, не внося никаких изменений на самом сервере.
Разумеется, если по каким-то причинам вы не желаете пользоваться такой возможностью, (например бухгалтеры вам мало денег насчитывают), то можно работать в mixed mode, т.е. заставит их напрямую указывать логин с паролем.

Интеграция с системным монитором. SQL-Server интегрирует туда свои счетчики, что позволяет контролировать его не только из встроенного Profiler'a, но и напрямую из системного монитора. Это удобно для комплексного анализа работы системы в целом.
Анологично, можно заставить SQL-Server Agent реагировать на оповещения операционной системы (рассылкой e-mail, запуском какой-нибудь хранимой процедуры и пр.)

Ну и дальше в том-же духе.

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

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

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

Издеваетесь что-ли ? А сообщение segmentation fault вам ничего не говорит ?
vadiminfo
Более того, нас учили в институте (сказки рассказывали), что любая прога обязана иметь ошибки.
...
И потому возможности ручнуго управления сложной системы (а СУБД считаются сложными) на многие случаи - всегда плюс.

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

Где у меня такое написано ?
Калина
я не считаю, что БД поддерживающая бизнес процессы, должна делиться с какими-бы то нибыло приложениями своими ресурсами

какие бизнес приложения ? я говорил про память, необходимую для фунциклирования системы и системных сервисов
...
Рейтинг: 0 / 0
Управление памятью
    #33014379
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS[quot Владимир Бегун]
Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS Windows -- например какие функциональные возможности OS он использует,

StalkerSК примеру, тема этого топика. SQL-Server и операционная
система, общаясь напрямую, вырабатывают разумную стратегию использования оперативной памяти.

Я не увидел довода в пользу MS SQL Server связки Windows.

StalkerSДалее, в SQl-Server есть такое понятие как Windows Authentication. Это означает, что пользователи имеют возможность подключаться к серверу без ввода дополнительных логинов и паролей к серверу, а на основе логинов операционной системы.

Подобное существует и в Oracle.

StalkerSно и упростить администрирование. К примеру, достаточно указать серверу, что например Windows-группа "Бухгалтеры" имеет право на подключение к серверу и задать ей соответствующие привелегии в базе.

Это иногда удобно.

StalkerSИнтеграция с системным монитором. SQL-Server интегрирует туда свои счетчики, что позволяет контролировать его не только из встроенного Profiler'a, но и напрямую из системного монитора. Это удобно для комплексного анализа работы системы в целом.

Согласен, такая штука есть и для Oracle.

StalkerSАнологично, можно заставить SQL-Server Agent реагировать на оповещения операционной системы (рассылкой e-mail, запуском какой-нибудь хранимой процедуры и пр.)

В Oracle есть возможности делать тоже самое используя другие средства.

StalkerSНу и дальше в том-же духе.
"Дух" понятен. Разговор превращается в беспредметный. Спасибо.
...
Рейтинг: 0 / 0
Управление памятью
    #33014405
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
60634.1 -- To be used as a guide for setting up basic O/S Authentication on Windows NT.
122515.1 -- Setup O/S Authentication Using Oracle Administration Assistant

Про мониторинг лень искать (я не работаю с Windows поэтому могу быть
не up to date с этими вещами).

Здесь есть кто-то, кто понимает работу ядра MS SQL Server и может
рассказать о концептуальных приемуществах использования MS SQL Server
на Windows платформе -- в ключе "интергации" database (kernel) - OS?
Код: plaintext
1.
2.
-- 
The statements and opinions expressed here are my
own and do not necessarily  represent those of Oracle.
...
Рейтинг: 0 / 0
Управление памятью
    #33014427
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир БегунЗдесь есть кто-то, кто понимает работу ядра MS SQL Server и может
рассказать о концептуальных приемуществах использования MS SQL Server
на Windows платформе -- в ключе "интергации" database (kernel) - OS?Ну... Эта... Как его... Оно всё интегрировано... Одна же корпорация... Перформанс...
...
Рейтинг: 0 / 0
Управление памятью
    #33014452
Владимир БегунПро мониторинг лень искать (я не работаю с Windows поэтому могу быть
не up to date с этими вещами).

Помогу немного :)
Note:166598.1 Using NT Performance Monitor with Oracle 8i
...
Рейтинг: 0 / 0
Управление памятью
    #33014467
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Ну... Эта... Как его... Оно всё интегрировано... Одна же корпорация... Перформанс...

:)
...
Рейтинг: 0 / 0
Управление памятью
    #33014557
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Я не увидел довода в пользу MS SQL Server связки Windows.
...
Это иногда удобно

OK

Мне кажется, или те вещи, которые есть в Оракл, признаются нужными и полезными, а отсутствующие - автоматически ненужными, а аргументы неубедительными ?

Найти различия в работе ядра задача нетривиальная. Но они есть, иначе как обьяснить отставание 10g от mssql на виндовой платформе. Это видно по тестам tpc.
...
Рейтинг: 0 / 0
Управление памятью
    #33014587
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSМне кажется, или те вещи, которые есть в Оракл, признаются нужными и полезными, а отсутствующие - автоматически ненужными, а аргументы неубедительными ?
Довода не понял. Я спросил конкретную вещь. В ответ получил спискок
свойств предмета обсуждения. Обратным аргументом был списко свойств
(похожих) другого предмета обсуждения. Множества в той или иной мере
совпали. Да в MS SQL Server лучше сделана "интергация" инструментов
работы с MS Windows. Но я спрашивал о другом.

StalkerSНайти различия в работе ядра задача нетривиальная.
Довод принят. Поэтому я и спрашивал у тех кто знает. Чтобы не выслушивать
голословных утверждений об "интеграции".
StalkerSНо они есть, иначе как обьяснить отставание 10g от mssql на
виндовой платформе. Это видно по тестам tpc.
Это высказывание напоминает следущий диалог:

http://www.exler.ru/films/05-07-2000.htm
"
- Меня жена с тещей пытались засадить в психушку.
- За что?
- За принципы.
- Какие?
- Вон видишь суслика?
- Нет.
- И я не вижу. Но он ЕСТЬ!
"

Давай так, если тебе есть что сказать по "интеграции" database kernel -
OS -- я с удовольствием выслушаю, я готов узнать что-то новое и интересное.
Если нет... не нужно из пустого в порожнее перелевать твои собственные
"знания о предмете".
...
Рейтинг: 0 / 0
Управление памятью
    #33014659
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взято из xls файлов (http://www.tpc.org/information/results_spreadsheet.asp)
Рассматривались только одинаковые (либо близкие) "железки" и OS:
TPC-CCompanySystemSpec. RevisiontpmC$/tpmCTotal Sys. CostCurrencyDatabase Software Operating System TP MonitorServer CPU Type# Server CPU'sCluster# Front EndsDate SubmittedAvailability DateUnisys Unisys ES7000 Aries 420 Enterprise Server 5.1309036.534.491384981US $ Microsoft SQL Server 2000 Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Microsoft COM+ Intel Itanium2 1.5GHz 16N81/20/20041/30/2004Unisys Unisys ES7000 Aries 420 Enterprise Server 5.22914134.981448706US $ Oracle Database 10g Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Microsoft COM+ Intel Itanium2 1.5GHz 16N85/11/200410/25/2004

TPC-HCompanySystemSpec. RevisionScale FactorQphHPrice Perf.($/QphH)Total Sys. CostCurrencyDatabase SoftwareOperating SystemCPU Type# CPU'sClusterDate SubmittedAvailability DateUnisys Unisys ES7000 Aries 420 Enterprise Server 2.110009853.367.93669239US $ Oracle Database 10g Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Intel Itanium2 1500MHz 16N8/13/200411/30/2004Unisys Unisys ES7000 Aries 420 Enterprise Server 210005199.1119.12619308US $ Microsoft SQL Server 2000 Enterprise Ed. 64-bit Microsoft Windows Server 2003 Datacenter Edition 64-bit Intel Itanium2 1.5GHz 16N10/15/200310/15/2003
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server
с MS Windows против Oracle на MS Windows базируясь только на результатах
этих тестов -- http://www.tpc.org/tpcc/faq.asp
...
Рейтинг: 0 / 0
Управление памятью
    #33014682
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
мы с вами это уже обсуждали, повторяться ей-богу неохота

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

StalkerS
А сообщение segmentation fault вам ничего не говорит ?

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

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

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

StalkerS

а вас не учили в институте, что любой человек тоже обязан иметь ошибки ?

Так это одно и тоже - проги то челы пишут.

StalkerS
При штатной работе сервер все распределит сам, и получше, чем вы руками.


Смотря что за алгоритмы. И тем более хто писал их, ошибаясь. Нет строгой зависмости. Т.е. может случиться, что увеличение некоторых структур памяти на 50-100Мб и больше может дать и проигрыш в некоторых случаях, а выигрыш даст, наприме, тока увеличение на 1 Гб. Т.е. алгоритмы автоматизирующие могут оказаться сложными и временемкими, и требовать для своих вычислений статистики собранной за некоторое время. А в это время могла быть закачка данных - редкая опреация, которая однако всю статистику увела в другую сторону.

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

А так в общем случае, тоже повторю, что редко сталкивался со случаями када парни после того как настроили мастером все параметры по умолчанию, а то и выбрали чего для пробы (типа смутно догадываясь о чем их мастер спрашивает) при установке Оракла БД, и чтобы потом надо было настраивать память руками. Они часто просто не в курсах про структуры памяти. И думаю, Оракл бы еще посоревновался в производительности, не смотря на это.
И, надеюсь, Вы не будете говорить, что при установке MS SQL Server ничего непонятного непосвященным не надо выбирать, и он автоматически потом исправит, если выбрали не то что надо.

В литре не встречал ничего про недостатки Оракла при управлении памятью.
Скажите честно. Это Вы специально придумали такую проблему, чтобы разыграть? Сбить с толку? Чтобы потом смешнее было?
...
Рейтинг: 0 / 0
Управление памятью
    #33016830
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server с MS Windows против Oracle на MS Windows базируясь только на результатах

какие-то интересные у вас доводы. Привели 2 разных теста и сделали вывод.
В свете выяснения кто как работает на виндовой платформе, как раз более логично сравнивать работу систем на одинаковых тестах. В TPC-C есть сравнение mssql и oracle на одинаковых платформах, но с разными операционными системами.
В случае "Unisys ES7000 Aries 420 Enterprise Server" Оракл стоит на Windows, и отстает по тестам от mssql на 6%, в случае "HP Integrity Superdome", оракл уже на unix'e, и опережает mssql на 22%.

Можно-ли на основе этого сделать однозначный вывод о причинах ? Вряд-ли. Тут я с вами согласен. Зато можно сделать предположение с достаточно высокой степенью вероятности, что одна из причин этого - в платформе.

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

ладно, развели мы тут флейм не по теме.
vadiminfo
Тем более, мы тогда ничего не нашли особого в пользу блокировочника, не найдем и при повторе.

То, что вы пропускали мои ответы мимо ушей, не значит, что мы нашли какие-то доводы ;)
Хорошо, можно попробовать еще раз. Только на этот раз давайте так: дайте мне четкий и однозначный ответ на следующий вопрос - Согласны ли вы, что изменяющая данные транзакция создающая версии изменяемых данных, будет работать медленнее, чем аналогичная, но не создающая никаких версий ? (напомню, речь идет о Yukon).
Ответ просьба дать в виде "Согласен" или "Не согласен"

По поводу алгоритмов и пр. Я, честно говоря, не совсем понимаю, что именно вы мне доказываете. То, что алгоритмы не могут быть совершенными ? Я с этим не спорил. То, что иногда надо руками указывать серверу, как себя вести, если сервер не может знать того, что знаете вы ? Все верно. То, что алгоритмы это зло, и их надо избегать ? Не соглашусь, впрочем и вы наверняка с этим спорить не будете.
Поэтому для меня странно, что вы так яростно спорите по поводу автоматической дележки памяти. Ну не нравиться, так установите все руками, и поработайте некоторое время. Больше чем убежден, что быстро убедитесь в необходимости отдать брозды правления обратно серверу.
Ведь я не спорю с тем, что сервер не всегда делает все правильно. Но почему вы не хотите принять, что в подавляющем большинстве случаев именно серверу виднее, и более того, на какие-то форс-мажорные обстоятельства он отреагирует, мягко говоря, побыстрее вас.
vadiminfo
и требовать для своих вычислений статистики собранной за некоторое время. А в это время могла быть закачка данных - редкая опреация, которая однако всю статистику увела в другую сторону.

;)
SQL-Server сам умеет обновлять статистику. Причем делает это тоже по не сильно простым алгоритмам. Такая опция включена по умолчанию, и ее тоже, как и в случае с памятью, трогать не рекомендуется. Хотя все равно можно обновить вручную.
При изменении значений в таблицах, сервер определяет, как сильно такие изменения влияют на статистику, и принимает соответствующие решения.
vadiminfo
Скажите честно. Это Вы специально придумали такую проблему, чтобы разыграть? Сбить с толку? Чтобы потом смешнее было?

Я всего-лишь разбираясь с принципами работы сервера с памятью, решил поинтересоваться, как с этим обстоят дела в Оракл, и задать один вопрос. Можете мне поверить, что обсуждать тесты tpc и машины Фон Неймана я не собирался. Но не сдержанный йа ;)
...
Рейтинг: 0 / 0
Управление памятью
    #33016896
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
Я всего-лишь разбираясь с принципами работы сервера с памятью, решил поинтересоваться, как с этим обстоят дела в Оракл, и задать один вопрос. Можете мне поверить, что обсуждать тесты tpc и машины Фон Неймана я не собирался. Но не сдержанный йа ;)

А что вас собственно удивляет? Да, вы спросили: "Может?" - вам ответили: "Не может." Вы недоумеваете: "Чё за отстой???", вам отвечают: "Никакого отстоя, на практике это не нужно."
...
Рейтинг: 0 / 0
Управление памятью
    #33016976
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои 5 копеек...

Управление памятью надо изучать по книжкам об архитектуре Windows (в Unix - ПОЧТИ также, для просвещения рекомендую узнать, что такое Portable Operating System Interface (POSIX®) ).

Кросплатформенностью можно "меряться" в сегменте Enterprise, куда MSSQL слегка не дотягивает. Опять же, если у предприятия IT-система уровня Enterprise, но одна OS (копроративный стандарт) то тут кросплатформенность не применима.
Остальных случаях это, ето МАРКЕТИНГОВОЕ, а не ТЕХНОЛОГИЧЕСКОЕ преимужество.
Если выпустить DB под ZX-Spectrum, XENIX и Atari - будете ли Вы указывать ее кросплатформенность как преимущество? А вот на Мухозасиденских островах, где 3 компа, и на каждом одна из этих операционок - это ОГРОМНОЕ преимущество продукта. Особенно, если это офшор с многоярдовым оборотом (в день).
Так что кросплатформенность применима только к рынку и маркетингу, но не к технологиям.
...
Рейтинг: 0 / 0
Управление памятью
    #33017014
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS Владимир Бегун
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server с MS Windows против Oracle на MS Windows базируясь только на результатах

какие-то интересные у вас доводы. Привели 2 разных теста и сделали вывод.

Я повторю свой оригинальный вопрос: "Я не знаю как работает MS SQL Server,
можно узнать как он интегрирован с MS Windows -- например какие
функциональные возможности OS он использует, которые не использует Oracle
на той же платформе?"

Я привёл результаты тестов в рамках того вопроса, который я задал. Я
не вижу никаких проблем сравнивать два продукта в одинаковых условиях
работы.

StalkerSВ свете выяснения кто как работает на виндовой платформе, как раз более логично сравнивать работу систем на одинаковых тестах. В TPC-C есть сравнение mssql и oracle на одинаковых платформах, но с разными операционными системами.

Мне неинтересно это делать. Я задал один вопрос -- ты развёл демагогию.

StalkerSВ случае "Unisys ES7000 Aries 420 Enterprise Server" Оракл стоит на Windows, и отстает по тестам от mssql на 6%, в случае "HP Integrity Superdome", оракл уже на unix'e, и опережает mssql на 22%.

Прочитай TPC FAQ, я не зря дал ссылку, прочитай и перечитай всё то что
ты написал.

StalkerSМожно-ли на основе этого сделать однозначный вывод о причинах ? Вряд-ли. Тут я с вами согласен. Зато можно сделать предположение с достаточно высокой степенью вероятности, что одна из причин этого - в платформе.

Ты не сказал ничего нового. Я спросил об этом пару дней назад, подчернув,
что мне не интересна демагогия и предположения -- ты занимаешься mssql --
объясни мне какая такая интеграция делает (не всегда, разумеется) mssql
сервер быстрее?

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

Я не делаю "жестких" выводов о недостатках или приемуществах, я выясняю то
что мне интересно, я задаю вопросы.

Пример с памятью... в каких ситуациях ядро RDBMS должно отдавать память
OS? По какой причине? Почему на сервере базы данных кроме RDBMS крутиться
что-то ресурсоёмкое? Это ресурсоёмкое run-away server side process? Почему
он не ограничен в потреблении ресурсов? Кто-то считал чего стоит такое
поведение сервера если более одного процесса начинают "memory race"? Почему
это выгодно? Насколько это адаптивно? Где об этом можно, кто делал такой
анализ? Вопросов больше чем ответов. Не нужно на них отвечать здесь, я не
уверен что ты знаешь ответы -- а читать о твоих догадках мне не интересно.
...
Рейтинг: 0 / 0
Управление памятью
    #33017059
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Мне неинтересно это делать
...
а читать о твоих догадках мне не интересно

А зачем вы вообще тогда участвуете в дискуссии, если вам ничего не интересно ?
Владимир Бегун
объясни мне какая такая интеграция делает (не всегда, разумеется) mssql сервер быстрее?

Про память пример вас не убеждает, полагаю, не убедит и сотня других причин, которые посидев с месяц в инете, можно накопать.
Владимир Бегун
Почему на сервере базы данных кроме RDBMS крутиться что-то ресурсоёмкое?

хотя-бы потому, что на компьютере может работать ДВА (и более) sql-server'a.
Владимир Бегун
Кто-то считал чего стоит такое поведение сервера если более одного процесса начинают "memory race"? Почему это выгодно? Насколько это адаптивно?

принимается во внимание ряд факторов, типа Life Expectancy страниц. В частности, это напрямую влияет на обьем памяти, который сервер оставляет операционке. И почитать об этом и многом другом можно у Кален Дилейни. Только зачем ? Вас это не в чем не убедит.


that's all. I'm not going to talk to person who doesn't respect other people. Sorry for possible sintax mistakes, I'm not cool american guy like some people here.
...
Рейтинг: 0 / 0
Управление памятью
    #33017065
StalkerSthat's al...
...
Рейтинг: 0 / 0
Управление памятью
    #33017163
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ISBN: 0735609985Part II Architectural Overview
Chapter 3 SQL Server Architecture

Managing Memory

One of the major goals of SQL Server 2000 was to scale easily from a laptop
installation on Windows 98 to an SMP server running on Windows 2000 DataCenter
Server. This ability to scale requires a robust policy for managing memory. By default,
SQL Server 2000 adjusts its use of system memory to balance the needs of other
applications running on the machine and the needs of its own internal components.
These other applications can include other instances of SQL Server running on the
same machine.


When determining the optimal amount of memory to dynamically allocate to SQL
Server, the memory manager strives to keep at least 4 MB of memory completely free
and available for the operating system, but it might try to keep more available. The
amount of free space reserved for the operating system is partially determined by the
average life expectancy of a page in cache. The memory manager determines a Life
Expectancy value that indicates how many seconds, on average, a page stays in
cache if it isn't referenced at all. Performance Monitor has a counter that allows you
to view the current Life Expectancy value. That value is of course only an estimate,
and it's based on the speed at which the lazywriter checks for referenced pages and
the total amount of memory available. (I'll talk about the lazywriter later in this
section.) If the average Life Expectancy of a page is small, the memory manager tries
to keep the reserve memory at about 4 MB to increase the amount of memory
available to SQL Server. If the average Life Expectancy increases, the space reserved
for the operating system increases to up to 10 MB and the total memory for SQL
Server decreases. All instances of SQL Server on a single machine tend to work
toward the same reserve value and a similar Life Expectancy value.

As an alternative to dynamically computing the total amount of memory, you can
configure SQL Server to use a fixed amount of memory.
Whether memory
allocation is fixed or dynamically adjusted, the total memory space for each instance
is considered one unified cache and is managed as a collection of various pools with
their own policies and purposes. Memory can be requested by and granted to any of
several internal components.

источник тот же

SQL Server Configuration Settings

....
min server memory and max server memory By default, SQL Server automatically
adjusts the total amount of the memory resources it will use. However, you can use
the min server memory and max server memory configuration options to take manual
control. The default setting for min server memory is 0 (MB), and the default setting
for max server memory is 2147483647. If you use the sp_configure stored
procedure to change both of these options to the same value, you basically take full
control and tell SQL Server to use a fixed memory size. This mimics the memory
configuration behavior prior to SQL Server 7.
You can also use SQL Server
Enterprise Manager to set a minimum and maximum value for memory, using the
Memory tab of the SQL Server Properties dialog box (shown in Figure 17-2). To bring
up the dialog box, right-click on the name of your server and then choose
Properties.


TPC Benchmark™ C Full Disclosure Report/Unisys ES7000 Aries 420 Enterprise Server (16P)
using Microsoft SQL Server 2000 Enterprise Edition (64-bit) on
Microsoft Windows Server 2003, Datacenter Edition for 64-bit Itanium-based Systems
nameminimummaximumconfig_valuerun_valuemax server memory (MB)4 2147483647126000126000min server memory (MB)0 214748364700



TPC Benchmark™ H Full Disclosure Report/Unisys ES7000 Aries 420 Enterprise Server using
Microsoft SQL Server 2000 Enterprise Edition 64-bit on Microsoft Windows
SQL Server 2000 Enterprise Edition 64-bit Parameter Settings
nameminimummaximumconfig_valuerun_valuemax server memory (MB)4 21474836476200062000min server memory (MB)021474836476000060000

TPC-H is an ad-hoc, decision support benchmark.
Summary
The TPC Benchmark™H (TPC-H) is a decision support benchmark. It consists of a
suite of business oriented ad-hoc queries and concurrent data modifications. The
queries and the data populating the database have been chosen to have broad
industry-wide relevance. This benchmark illustrates decision support systems that
examine large volumes of data, execute queries with a high degree of complexity, and
give answers to critical business questions.

The performance metric reported by TPC-H is called the TPC-H Composite
Query-per-Hour Performance Metric (QphH@Size), and reflects multiple aspects of
the capability of the system to process queries. These aspects include the selected
database size against which the queries are executed, the query processing power
when queries are submitted by a single stream, and the query throughput when
queries are submitted by multiple concurrent users. The TPC-H Price/Performance
metric is expressed as $/QphH@Size.

Владимир Бегунмоё любопытство удовлетворят хотя бы основные функциональные элементы,
которые использует MS SQL Server и не использует Oracle на Windows. В чём
она эта "интеграция" Каков выигрыш от этого? В чём он выражается?

Отвечаю сам себе:

- интергация -- активная работа с OS. Моё подозрение -- подход может быть неээфективным при пиковых нагрузках
- выигрыш - неопределён, зависит от использования прочих приложений
- выражается в to scale easily from a laptop installation on Windows 98 to
an SMP server running on Windows 2000 DataCenter Server.


Я думаю что "светлая цель" иметь на сервере другие приложения, которые
имеют требования к потреблению памяти, заставляющие ядро базы отдавать
её обратно может вызвать справедливаое недоуменее. Думаю не только у
меня одного.

ISBN: 0735609985./The SQL Server Kernel and Interaction with the Operating System

The SQL Server kernel is responsible for interacting with the operating system. It's a
bit of a simplification to suggest that SQL Server has one module for all operating
system calls, but for ease of understanding, you can think of it in this way. All
requests to operating system services are made via the Win32 API and C run-time
libraries. When SQL Server runs on Windows NT/2000, it runs entirely in the Win32
protected subsystem. Absolutely no calls are made in Windows NT/2000 Privileged
Mode; the calls are made in User Mode. This means that SQL Server cannot crash the
entire system, it cannot crash another process running in User Mode, and other such
processes cannot crash SQL Server. SQL Server has no device driver-level calls, nor
does it use any undocumented calls to the operating system. If the entire system
crashes (giving you the so-called "Blue Screen of Death") and SQL Server happens to
have been running there, one thing is certain: SQL Server did not crash the system.
Such a crash must be the result of faulty or incompatible hardware, a buggy device
driver operating in Privileged Mode, or a critical bug in the Windows NT/2000 operating
system code (which is doubtful).

Competitors have occasionally, and falsely, claimed that SQL Server must have
special, secret hooks into the operating system. Such claims are likely the result of
SQL Server's astonishing level of performance. Yes, it is tightly integrated with the
operating systems on which it runs. But this integration is accomplished via
completely public interfaces—there are no secret "hooks" into the operating system.
Yes, the product is optimized for Windows NT/2000. That's SQL Server's primary
platform. But other products could also achieve this level of optimization and
integration if they made it a chief design goal. Instead, they tend to abstract away
the differences between operating systems. Of course, there's nothing wrong with
that. If Microsoft had to make sure that SQL Server could run on 44 different
operating systems, it might also take a lowest-common-denominator approach to
engineering. To do anything else would be almost impossible. So although such an
approach is quite rational, it is in direct conflict with the goal of fully exploiting all
services of a specific operating system. Since SQL Server runs exclusively on
Microsoft operating systems, it intentionally uses every service in the smartest way
possible.

A key design goal of both SQL Server and Windows NT is scalability. The same binary
executable files that run on notebook computer systems run on symmetric
multiprocessor super servers with loads of processors. Windows NT/2000 is an ideal
platform for a database server because it provides a fully protected, secure, 32-bit
environment. The foundations of a great database server platform are preemptive
scheduling, virtual paged memory management, symmetric multiprocessing, and
asynchronous I/O. The operating system provides these, and SQL Server uses them
fully. The SQL Server engine runs as a single process on Windows NT/2000. Within
that process are multiple threads of execution. The operating system schedules each
thread to the next processor available to run one.

Да, речь везде и у всех о всё том же scalability... делимся ресурсами активно
общаясь с OS -- это тоже решение, лучше оно или хуже можно выяснить только
действительно запуская несколько MS SQL Server instances на одной машине
меняя workload можно ещё и в игрушки поиграть...

Я не понимаю почему нельзя было просто дать все эти ссылки в начале разговора, но разводить демагогию...
...
Рейтинг: 0 / 0
Управление памятью
    #33017168
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_sa_40vt.asp
...
Рейтинг: 0 / 0
Управление памятью
    #33017199
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://blogs.msdn.com/slavao/archive/category/9005.aspx -- очень хорошая подборка.

External Memory pressure: RM and Buffer Pool

From SQLOS perspective Buffer Pool is a single page allocator - extensively used
memory manager. External memory pressure is signaled by Windows. RM wakes up
and broadcasts corresponding notification to clerks. Upon receiving the notification BP
recalculates its target commit, amount of physical memory BP is allowed to consume.
Keep in mind that target commit can't be lower than configuration parameter
specified through sp_configure min server memory and can't be higher of max server
memory. If new target commit is lower than currently committed buffers, BP starts
shrinking until external physical memory pressure disappears. During this process BP
tries to decommit or in case of AWE free physical memory back to OS. Remember
that in SQL2000 BP didn't react to physical memory pressure when running in AWE mode.


Вот интересное замечание:
http://www.windowsitpro.com/Articles/Print.cfm?ArticleID=37890
Enabling AWE has no effect if your server has less than 4GB of RAM. By default,
Windows is limited to 4GB of physical memory. However, by leveraging Physical
Address Extensions (PAE), Win2K AS can support 8GB of memory, and Windows
Datacenter Server can support 64GB. You invoke PAE by including the /PAE switch in
the boot.ini file. However, each 32-bit process usually has access to only 2GB of
address space. To let processes allocate more physical memory than can be
addressed by the 2GB of address space, Microsoft created AWE. These extensions
permit the allocation and use of up to the amount of physical memory the OS
supports.

Most people use AWE in conjunction with the /PAE switch to let SQL Server take
advantage of physical memory greater than 4GB. Using AWE without /PAE lets SQL
Server access as much as 4GB of physical memory. With AWE enabled, SQL Server by
default allocates almost all memory during startup , leaving 256MB or less free. This
memory is locked and can't be paged out. Consuming all available memory can prevent
other applications or SQL Server instances from starting. I strongly recommend that
you use the max server memory option with AWE enabled to ensure that some
memory exists for other SQL Server applications or instances.
Т.е. деталек не меньше, чем при настройке работы Oracle.
...
Рейтинг: 0 / 0
Управление памятью
    #33017202
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
То, что вы пропускали мои ответы мимо ушей, не значит, что мы нашли какие-то доводы ;)

Я их не пропускал. Просто они не показались мне достаточными, для обоснования. И я высказывал сомнения.


StalkerS
Согласны ли вы, что изменяющая данные транзакция создающая версии изменяемых данных, будет работать медленнее, чем аналогичная, но не создающая никаких версий ? (напомню, речь идет о Yukon).

Почему тада в Юникон? Берите выше - в Клиппере. Там модель транзакций еще проще. А серьезно, то смотрю тесты. Ведь и у блокировочника транзакции не просто записывают данные. Ведь мы БД создаем не тока для того, чтобы занять персонал изменениями данных, чтобы они, например, не лазили по инету от безделья. Вот смотрю толстую книгу: подсистемы обработки транзакций (для блокировочников как я понимаю):
Диспечер транзакций, Планировщик (Диспечер блокировок), Диспечер восстановлений, Диспечер буфферов - все высокоуровневые модули. У Оракла нет неоходимости в таком Диспечере блокировок, он инфу о блокировках записывает в блоки данных. Неужели Вы думаете, что в Оракле дураки сидят, и ничего не придумали для компенсации, если в чем уступают?
Вы хотите, чтобы я отвечал Согласен, Не согласен про что-то отвлеченное? Про какие-то предположения о работе механизмов транзакций. А потом сказать, что это были не предрположения? К сожалению, меня то можно перехитрить, но этого не достаточно чтобы выяснить реальное положение.
Зато в плане моделей транзакций версионник выигрывает однозначно. И это более существенно. Что толку от скорости, даже если она и есть (что не факт), если она просто ждет читающего не известо скока и ничего изменить не может. или меняет, а читающий читает грязные данные? Ведь одна из архиважных функций СУБД - управление параллельным доступом. А Вы по сути пытались сказать, что иногда параллельный доступ не нужен (пишушие транзакции тоже читают) и тада блокировочник лучше. Но тада может СУБД там не нужно?
StalkerS
Я, честно говоря, не совсем понимаю, что именно вы мне доказываете. То, что алгоритмы не могут быть совершенными ?

Нет. Что они могут быть: не известны, сложны для решения некоторых задач. И не доказать, потому что это известно с третьего курса. Это Вам я предлагал доказывать.
Вот кеширование. Известно, что там имеет значение число попаданий. Если система показывает 99% - то увеличение объема, считается ничего не даст.
Вот провели какую-то редкую операцию и показатель сбился на 45%. А потом стали обычно работать, т.е. так что показатель придет к 99%. Т.е. увеличение ничего не даст. Но пока еще в стаитстике прописано 45%. Система тада что должна делать? Увеличивать память? Или ждать? Скока ждать? Мы то знаем, что это ничего не даст. Более того она начитает с диска лишнего, что не понадобится более одного раза, но искать должна и нужное в большем объеме. Это простенький пример. Там наверняка есть и что-то еще.
Там где известно, что увеличение дает выигрыш, там управляется как Вы сказали. И с кешем бы управлялось так бы, потому что в выделении и освобождении памяти нет никаких сложностей в большинстве ОС.
Т.е. я Ваше якобы преимущество по управлению памяти у Эскуэля Сервера пока не могу без всяких сомнений принять. Они все еще не очевидны.
Нужны дополнительные аргументы от Вас.
Зато имеет значение сама структура памяти. Но я не говорю, что она у MS SQL хуже или проще. Потому все про эти структуры давно известно.
А в литре я не видел сведений от таких преимуществах. А мы их с Вами найдем? Что-то пока не верится.
...
Рейтинг: 0 / 0
Управление памятью
    #33018076
Ораклоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, товарищ StalkerS в своём крестовом походе во утверждение славы имени МS и БГ лично, а также в доказательство несомнненнейшего и полного преимущества SQL Server-а над Oracle опять сел в лужу. Мы сейчас как?.. Говорим о серьёзных производственных системах или о однопользовательских БД на лептопе с 64Мб памяти "для тестирования своей гениальности в сиквелписательстве"?..
"Блокировщик быстрее версионщика", "зачем нам выставлять параметры памяти - MS сама всё сделает", "n серверов и m процессов то и дело 'без всякого вмешательства человека' кроящие несчастные мегабайты памяти налево и направо и админ, занимающийся в основном смахиванием пыли с клавиатуры с умилением взирающий на эту картину" - это явные признаки такого подхода и предположу кощунство - МS SQL, наверное, действительно круче подходит для такого случая - представляете - он всегда резервирует системе 4МБ (!) памяти - а может даже и больше! (дядюшка Билл наставительно колышет пальцем и добавляет: "и всё это в полностью автоматическом режиме").
Ни одно из этих утверждений и фич не имеет ни малейшего смысла на производственном сервере БД. В системах оперативной отработки транзакций, блокировщики sucks. Точка. Во всех системах, с которыми я работаю сервер БД - это сервер БД, ничего более, ничего менее. Точка. Если мне не хватает памяти, я её не делю - я её покупаю. Точка.
...
Рейтинг: 0 / 0
Управление памятью
    #33018205
Фотография Ryaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ 2,5 коп.
Пока что, по-моему, некоторые вещи отсутствуют в Oracle, в отличии от MS SQL.
Естественно для NT платформы.

1. У меня не получилось заставить работать без сбоев тестовый экземпляр Oracle
с более высоким приоритетом процесса oracle.exe. (ноту читал, просто проверил ;-)) )

2. Заставить работать Oracle на определённом процессоре.
В MS не пробовал, но у них, по крайней мере, заявлено.

Думаю это к ядру относится.


Отсутствует у Oracle интеграция с MS AD. (впрочем с open_ldap тоже)
(можно там помухлевать конечно, но я веду речь про "прямую" интеграцию)
(читать про OID не надо отсылать, читал, знаю)
Это уже не ядро, просто такой для нас недостаток присутствовал.

---

В основном это неудобства. Не считаю это грандиозным недостатком.
Больше ничего шибко хорошего для себя в MS SQL не нашёл.
Возможно плохо искал (быстро наскучило, если честно, да и более чем второстепенный он у нас сервер БД).

ЗЫ. Сильно сомневаюсь в отсутствии использования недокументированных
фич OS. Очень сильно.

ЗЫЫ. я понимаю что не про память, но по-моему, разговор давно уже ушёл в сторону.

--

я

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Управление памятью
    #33018368
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что ORACLE_AFFINITY не работает,
я не пробовал, но интересно?
...
Рейтинг: 0 / 0
Управление памятью
    #33018849
Фотография Fucker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ryaz... У меня не получилось... Заставить работать Oracle...То, что у кого-то что-то не получилось, вовсе не означает, что заявленная Oracle функциональность не работает.

Note:219498.1 Oracle Architecture in Windows NT/2000/XP

Fucker

PS: Какое счастье, что я уже не DBA и мне не надо заниматься всякой фигней
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Управление памятью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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