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

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

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

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

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

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

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

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

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

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

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

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

Что значит "в последних", когда традиционно так всегда было,
теперь возможно переделали на fiber-ы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.05.2012, 15:46
    #37806153
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
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
22.05.2012, 16:30
    #37806246
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ядро СУБД (MS SQL, Oracle, Sybase, DB2)
killed>Для примера DB2 - каждому соединению назначается собственный агент, который является либо потоком (Win,OS/2) либо процессом (UNIX).

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


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