powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
25 сообщений из 32, страница 1 из 2
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134327
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буквально: 2 апреля был на сбороище Sybase. Выступали ихние инженеры, разработчики. Меня убило откровение: оказывается Sybase не использует многозадачность, ни многопоточность. В ядре у него встроен собственный скедулер, который и запускает поочередно задачи. А каждая задача должна самостоятельно вернуть управление основному процессу.
Для примера DB2 - каждому соединению назначается собственный агент, который является либо потоком (Win,OS/2) либо процессом (UNIX). Интересно каким образом то же самое реализуется в Oracle и MsSQL?

Анекдот в тему (бородатый только):
Сын Биллу Гейтсу:
-Папа, покажи как в Видузе реализована многозадачность?
-Сейчас сынок..,только допечатаю...
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134338
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
В случае с Sybase - ничего страшного. Если грамотно написанно - то все нормально. Винда 3.xx именно так и работает.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134400
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Для примера DB2 - каждому соединению назначается собственный агент, который является либо потоком (Win,OS/2) либо процессом (UNIX).

В Oracle два режима:
1) Dedicated server - аналогичен описанному тобой примеру с DB2
2) MTS - один серверный процесс может обслуживать сотню клиентских.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134408
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос принципиальный - касающийся производительности и надежности.
Если падает единственный процесс... А как на счет параллелизма?
Если одина задача слишком долго не возвращает управление? Все остальные - ждут?
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134632
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если говорить за SQL Server, то "у целом" картина следующая. Каждый инстанс является многопоточным. Потоки - "родные", операционной системы. Отдаются под обслуживание пользовательских соединений, либо под внутризапросный параллелизм. Когда что предпочесть, SQL Server решает сам в зависимости от числа текущих соединений и от стоимости запроса.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134752
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У оракла имеется свой resource manager, который в числе прочих задач может отдавать ресурсы процессора для пользовательских процессов в соответствии с планами распределения ресурсов.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134783
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос принципиальный - касающийся производительности и надежности.
Если падает единственный процесс... А как на счет параллелизма?
Если одина задача слишком долго не возвращает управление? Все остальные - ждут?

Я упрощенно ответил. На самом деле при МТS работает несколько серверных процессов и несколько процессов-диспетчеров, которые балансируют нагрузку между первыми. Ваша сессия прозрачно использует все серверные процессы, точнее каждый новый исходящий от нее сиквел может быть обслужен любым из свободных серверных процессов.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134786
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и что вы понимаете под параллелизмом?
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32134995
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Параллелизм - способность програмного обеспечения обрабатывать несколько подключений одновременно. (не путать с параллельным вводом - выводом и распараллеливанием запросов)
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32135005
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это вообще то одна из базовых функций ОС. Оракл использует сервис ОС, но может учитывать и приоритетность собственных задач через директивы resource manager'a.

Непонятно, чем вызвано ограничение в Sybase. В наши то дни ...
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32136145
ppp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to gardenman
Moxzet chego nedoponjali , kak to uz bolno primitivno vse poluchaetsa.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32137220
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да в том то и дело, что всё очень хорошо понял...
Более того - ежедневно мучаюсь т.к. на Sybase работаю...(((
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32137351
ggg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman:
А в чем мучения, если не секрет?
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32137437
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вопрос - а на каком Sybase то - ASA или ASE ?
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32138055
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 killed
>Непонятно, чем вызвано ограничение в Sybase. В наши то дни ...

Да тем, что они сами многопоточность написали внутри своего SQL сервера, так что это не ограничение. Может даже оказаться, что лучше будет работать, ведь пишется под частный случай. Это как с malloc/new: если хотите, чтоб работало быстро - пишите свой внутри заранее алоцированного куска памяти. По всем признакам оракл так и сделал.

Не помню как в юниксах, а в винде каждый thread при инициализации забирает примерно мегабайт мозгов, что есть довольно много. Поэтому существует правило: стараться не порождать больше потоков, чем мегабайт памяти. Вот сайбейз и решил, что он круче мелкософта, а заодно и сана с ИБМ, сам лучше сделает, тем более писался он когда NT, например, не было и в проекте. Если все аккуратно сделать, то действительно должно лучше работать. Недостаток один - больше работы, но на большом проекте возможно и окупится. Лично я бы так не делал, но меня не спросили.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32138398
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я был на конференции по ASE. Так что все вышеизложенное касается ASE.

В чем проблемы? поясняю: Иной раз (естественно из-з кривой разработки приложений и плохой модели) ккакая-нить задача полностью забирает на себя ресурсы одного из процессоров и производительность жутко падает.

И еще, заметил одну особенность. У Sybase кажется плохо с распараллеливанием ввода-вывода. Почему-то разделив индексы/данные/лог по физическим дискам не получаешь того прироста производительности, как в других базах.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #32138498
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Почему-то разделив индексы/данные/лог по физическим дискам не получаешь того прироста производительности, как в других базах.

Индексный доступ имеет последовательную природу. Поэтому разнеся данные и индексы на разные устройства вы получите лишь некую "балансировку" по вводу/выводу в целом на уровне базы (надо заметить, уже однозначно не сбалансированную ). С этой задачей гораздо лучше справляется хардварный страйпинг.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37805644
Alex5555555555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите г-да где почитать о устройстве ядра ms sql и как там всё работает
для чайников!
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37805771
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex5555555555для чайников!
Для чайников там всё работает так: "ж-ж-ж-ж, чпок-чпок-чпок". Читать, естественно, в MSDN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37805920
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37806039
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/22/2012 01:54 PM, Alex5555555555 wrote:

> подскажите г-да где почитать о устройстве ядра ms sql и как там всё работает
> для чайников!

Книга Гарсиа-Молино, Ульман, Уидом. Читай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37806086
А в последних MS SQL используется собственный шедулер и собственная многопоточность вместо многопоточности ОС?
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37806133
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А в последних MS SQL используется собственный шедулер и собственная
> многопоточность вместо многопоточности ОС?

Что значит "в последних", когда традиционно так всегда было,
теперь возможно переделали на fiber-ы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37806153
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Server Batch or Task Scheduling

Each instance of SQL Server has an internal layer that implements an environment similar to an operating system . This internal layer is used for scheduling and synchronizing concurrent tasks without having to call the Windows kernel . This internal layer can also schedule fibers or Windows threads effectively . Each instance of SQL Server maintains a pool of either Windows threads or fibers for processing user queries.
...
Рейтинг: 0 / 0
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
    #37806246
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
killed>Для примера DB2 - каждому соединению назначается собственный агент, который является либо потоком (Win,OS/2) либо процессом (UNIX).

В Oracle два режима:
1) Dedicated server - аналогичен описанному тобой примеру с DB2
2) MTS - один серверный процесс может обслуживать сотню клиентских.
И даже банальный FireBird работает точно также, и имеет два таких же режима.
p.s. Sybase в топку
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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