powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
25 сообщений из 199, страница 6 из 8
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842423
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ЛеонидовичУважаемый Alex.Czech !

И это мы уже обсудили. Просто напоминаю:

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

поддерживаются автоматически при вводе/удалении/обновлении экземпляров.

По неиндексированным характеристикам ТАКИХ данных нет.

Прошу прощения, я не все тут читал... а в MS SQL такие данные по неиндексированным характеристикам есть. Точнее, могут быть, если завести статистику. И это часто делается, причем именно для тех данных, для которых индекс заводить смысла нет - скажем, чтобы SQL Server, как и я, человек, всегда знал, что процент выполненных проводок в таблице оных проводок на реальной работающей системе обычно равен 90-100% и таким образом условие
WHERE Accepted=1
ни в коем случае не следует воспринимать как такое, с которого надо победоносно начинать выполнять запрос
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842528
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vybegalloКстати, еще вопрос - а асинхронный ввод-вывод ваша база поддерживает ? Есть ли у вас отдельный процесс, занимающийся вводом-выводом, или каждая нить сама выполняет чтение-запись, блокируя всех остальных ?

Если я адекватно понял ваши вопросы то в отношении VDS ответ всюду будет утвердительным. Но можете пояснить.
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842558
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vybegallo
Малтитредность реализована в Информиксе начиная с версии 6 (1993 г.) (а так же в, насколько я знаю, Сайбейсе и MS SQL Server-е). За 11 лет эксплуатации на паре десятков юниксов, нескольких сотнях платформ и в самых требовательных окружениях она всяко-разно вылизана и оптимизирована получше.

Ну если говорить о VDS, то эта система изначально проектировалась именно малтисредовой и именно для эксплуатации на множестве платформ (т.е. иного даже не предполагалось). Само проектирование и выпуск первых коммерческих версий велись в 1987-1991гг.
1987г. - основание Versant Corporation
1992г. - выход первых крупных продуктов с использование Versant (телефонные станции, медицинское оборудование).
1994г. - VDS 4.0
2003г. - VDS 6.0
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842682
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Rovdo vybegallo
Малтитредность реализована в Информиксе начиная с версии 6 (1993 г.) (а так же в, насколько я знаю, Сайбейсе и MS SQL Server-е). За 11 лет эксплуатации на паре десятков юниксов, нескольких сотнях платформ и в самых требовательных окружениях она всяко-разно вылизана и оптимизирована получше.

Ну если говорить о VDS, то эта система изначально проектировалась именно малтисредовой и именно для эксплуатации на множестве платформ (т.е. иного даже не предполагалось). Само проектирование и выпуск первых коммерческих версий велись в 1987-1991гг.
1987г. - основание Versant Corporation
1992г. - выход первых крупных продуктов с использование Versant (телефонные станции, медицинское оборудование).
1994г. - VDS 4.0
2003г. - VDS 6.0

Пардон, но вы плохо знаете свой продукт :
"Beginning with Release 5, database connections start threads rather than processes." (VERSANT Database Fundamentals Manual )
И я что-то не вижу в параметрах насторойки сервера числа запускаемых процессов - похоже, создается всего 2 процесса на одну базу данных, так что на многопроцессорных машинах большая часть ресурсов будет простаивать. Это так ?
Кстати, Informix, к примеру, рекомендует иметь buffer flush threads не меньше числа дисков - а у вас он всего один на БД.
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842823
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что, пардон, Информикс под Виндами (речь именно о Виндах идет как я понимаю) на каждую клиентскую коннекцию создает новый процесс ? А у него ничего не трескается когда коннекций становится скажем 500 ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842829
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo The back-end server is completely under Versant’s realm of control, and is inherently multi-threaded, with a separate thread being used to manage each database connection. The primary motivation for making the server multi-threaded is to support highly concurrent accesses to the database with the lightest possible process footprint on the server.

Отсюда пока следует, что на один коннект запускается тред. А как насчёт параллелизма внутри запроса? Пока видно, что параллелизм существует только между отдельными конектами. Умеет ли VDS обрабатывать данные параллельно в одном запросе? И если да, то как он это делает?


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842833
Уважаемый Alex.Czech !

Я считаю, что даже для "Р"СУБД эта идея - архитектурное излишество.
А для ОСУБД, в которой принципиально нет понятия "настройка приложения", и в которой индексы являются полноценной частью данных (в отличие от "реляционных" систем) - это абсолютно не нужно.

Если уж Вы привели этот пример с проводками...
В Вашей таблице могло бы быть поле, в котором хранится значение как раз для не выполненных проводок, с типом индекса "пустые не хранить". Это проще, надежнее и не менее "экономично", чем поддержка статистики без индекса. Ведь Вам, насколько я понял, нужно быстро получать не выполненные проводки, чтобы их выполнить ? Извиняюсь, конечно, что "полез" в приложение, не зная его.
Да и MS SQL я перестал тщательно изучать после 6.5, когда стало ясно, что с "реляционностью" уже больше ничего не изменится. Может там до сих пор нет типа индекса "пустые не хранить" ? В Oracle, по крайней мере до 9-ки, не было даже банального индексирования пустых значений...
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842840
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex.CzechА что, пардон, Информикс под Виндами (речь именно о Виндах идет как я понимаю) на каждую клиентскую коннекцию создает новый процесс ? А у него ничего не трескается когда коннекций становится скажем 500 ?

Алекс, как я уже утверждал в этой дискуссии, Informix написан в multithread-ном стиле начиная с версии 6. Это, как я посмотрел, случилось аж в 1990 году. Так что ни о каких выделенных процессах для клиентского соединения ни под Юниксом, ни тем более под Виндами (которые сами по себе вместо процессов создают нити) речь не идет.
Кстати, можете спросить ораклистов и дибитушников - как у них, ничего не трескается при росте числа коннектов - поскольку они написаны именно в такой архитектуре. Я спрашивал - мне сказали "нормально, константин !"
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842843
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда я не понимаю такого повышенного внимания к фразе "Начиная с версии 5 для каждой клиентской коннекции вместо процесса стал создаваться thread". Переделка правильная, и фраза правильная :)
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842846
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ЛеонидовичУважаемый Alex.Czech !

Я считаю, что даже для "Р"СУБД эта идея - архитектурное излишество.
А для ОСУБД, в которой принципиально нет понятия "настройка приложения", и в которой индексы являются полноценной частью данных (в отличие от "реляционных" систем) - это абсолютно не нужно.

Если уж Вы привели этот пример с проводками...
В Вашей таблице могло бы быть поле, в котором хранится значение как раз для не выполненных проводок, с типом индекса "пустые не хранить". Это проще, надежнее и не менее "экономично", чем поддержка статистики без индекса. Ведь Вам, насколько я понял, нужно быстро получать не выполненные проводки, чтобы их выполнить ? Извиняюсь, конечно, что "полез" в приложение, не зная его.
Да и MS SQL я перестал тщательно изучать после 6.5, когда стало ясно, что с "реляционностью" уже больше ничего не изменится. Может там до сих пор нет типа индекса "пустые не хранить" ? В Oracle, по крайней мере до 9-ки, не было даже банального индексирования пустых значений...

Нет, вы не совсем правильно поняли... мне надо получить отчет типа оборотной ведомости за неделю. И естественно в этом отчете должны фигурировать только "выполненные" проводки, невыполненные в него не включаются. Разумный человек, считая это самостоятельно по бухгалтерской книге, сначала отберет проводки за неделю, а потом уже начнет суммировать, по ходу дела отбрасывая "неисполненные" проводки, если будет знать, что их там одна на 1000. И SQL Server сделает ровно то же самое. Если будет знать что проводок 1 на 1000. А откуда ему это узнать ? Из статистики, разумеется.

Так что в системах, где оптимизатора запросов нету в виде отсутствия запросов, и роль оптимизатора выполняет специальный программист, пишущий программы обхода деревьев, статистики не нужны, конечно. Вместо статистики там тот самый специальный программист, знающий что "неисполненных" проводок всего 1 на 1000 и проверять это условие надо в последнюю очередь. Но лично мне больше нравится идея со статистикой, чем с увеличением фонда оплаты труда
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842855
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex.CzechТогда я не понимаю такого повышенного внимания к фразе "Начиная с версии 5 для каждой клиентской коннекции вместо процесса стал создаваться thread". Переделка правильная, и фраза правильная :)

Я придирался к фразе "Ну если говорить о VDS, то эта система изначально проектировалась именно малтисредовой ".
А оказывается, она стала таковой только с версии 5. Я что-то не могу найти, когда эта версия вышла - но экстраполируя даты версий 4 и 6, это где-то в 1998-99 годах.
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842859
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в принципе создавать процесс вместо thread-а - это даже несомненно круче :) Только очень накладно для Виндов

Тем более что речь идет о клиентских коннекциях... Оракл вообще вон можно так настроить что у него все коннекции будут через 1 thread настроить, было бы желание Это ж не говорит о том, что он не мулти-thread-овый
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842865
Уважаемый Alex.Czech !

Идея со статистикой увеличит фонд оплаты труда. Так как нужен опытный администратор, помимо программиста (если, конечно, это не один и тот же человек в случае простых приложений).

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

Итак, "SQL Server сделает ровно то же самое":

1. "Сначала отберет проводки за неделю". Чтобы это сделать статистика по "Вашему" полю "Выполненные проводки" не поможет. Значит есть индекс по Дате ?

2. "По ходу дела отбрасывая невыполненные проводки". Здесь используется "мое" поле "Невыполненные проводки", на которое Вы, почему-то, не обратили внимания.

Так что Ваши слова о специальном программисте, пишущем программы обхода деревьев, мне не понятны. Может быть потому, что я никогда не использовал иерархические СУБД, а Вы использовали, и у Вас есть печальный опыт обхода деревьев ? Но, в любом случае, причем здесь объектные СУБД ? И как обстоит дело с типом индекса "пустые не хранить" ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842868
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу индексов "NULL не хранить" - сдается мне, вы прекрасно знаете, что таких индексов нету в MS SQL :)

Индекс по дате разумеется есть, иначе говорить не о чем. Поле "Невыполненные" вместо "Выполненные" не поможет, потому что тогда условие примет вид
WHERE NotAccepted=0, и это условие все равно будет выполняться для 90-99% проводок и применять его надо в последнюю очередь
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842871
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще - мне с вами трудно что-то обсуждать в смысле сравнения "Р"СУБД и ООСУБД, потому что вы про "Р" что-то знаете (хотя и далеко не все, но многое), а я про ОО ничего. Только не предлагайте приходить на семинар, я зубы-то полечить не могу найти времени сходить :)
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842879
Я же честно сказал, что после 6.5 ПРЕКРАСНО уже не знаю.
WHERE NotAccepted=1 (а не 0).
Получается из-за того, что нет элементарного типа индексирования "пустые не хранить", приходится городить статистики по неиндексированным полям, которые рекомендуется отключать на промышленных приложениях...
Мне, из-за возраста, еще хуже - нет времени вставить зубы, а не то что залечить...
Но если будет желание что-то обсудить в области теории и проектирования баз данных, я всегда готов...
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842881
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ЛеонидовичЯ же честно сказал, что после 6.5 ПРЕКРАСНО уже не знаю.
WHERE NotAccepted=1 (а не 0).


НЕТ. Это "невыполненные" проводки, а мне надо для оборотной ведомости выполненные. Или вы предлагает мне сначала посчитать по всем, потом по невыполненным, а потом вычесть из первого второе ? Это дольше будет, даже если на бумажке вручную считать, а в СУБД-то тем более :)
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842887
Так Вы хотите сказать, что оптимизатор при условиях на индексированное поле "Дату" и неиндексированное и без статистики поле "Выполненные проводки" будет сначала использовать "Выпоненные проводки" ?

А Вам не кажется, что реализация Вашей логичной фразы "по ходу дела, отбрасывая лишние проводки", была бы не лишней в любой СУБД ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842888
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex.CzechНу в принципе создавать процесс вместо thread-а - это даже несомненно круче :) Только очень накладно для Виндов

Тем более что речь идет о клиентских коннекциях... Оракл вообще вон можно так настроить что у него все коннекции будут через 1 thread настроить, было бы желание Это ж не говорит о том, что он не мулти-thread-овый

Я что-то перестал понимать вашу логику изложения. При чем тут крутизна ?
И, кстати, вы хотите сказать, что Оракл - multithread-ный ? Т.е. одному соединению соответствует одна или более нить, а не один или более процесс ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842890
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под Windows (грубо говоря) да.
Грубо, потому что есть MTS
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842891
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vybegalloЯ что-то перестал понимать вашу логику изложения. При чем тут крутизна ?
И, кстати, вы хотите сказать, что Оракл - multithread-ный ? Т.е. одному соединению соответствует одна или более нить, а не один или более процесс ?

Под Виндами - несомненно. Под Виндами одному instance-у Ораклу несомненно и безусловно соответствует один процесс oracle.exe. Не верите - посмотрите в task manager-е
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842892
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ЛеонидовичТак Вы хотите сказать, что оптимизатор при условиях на индексированное поле "Дату" и неиндексированное и без статистики поле "Выполненные проводки" будет сначала использовать "Выпоненные проводки" ?

А Вам не кажется, что реализация Вашей логичной фразы "по ходу дела, отбрасывая лишние проводки", была бы не лишней в любой СУБД ?

Не будет, а "может быть будет". Причем, что характерно, может быть он будет и прав - если запрос будет не за неделю, а за 10 лет, и процент "выполненных" проводок не 90, а 5
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842895
Откуда же он знает, что 5 БЕЗ СТАТИСТИКИ ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842896
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex.Czech vybegalloЯ что-то перестал понимать вашу логику изложения. При чем тут крутизна ?
И, кстати, вы хотите сказать, что Оракл - multithread-ный ? Т.е. одному соединению соответствует одна или более нить, а не один или более процесс ?

Под Виндами - несомненно. Под Виндами одному instance-у Ораклу несомненно и безусловно соответствует один процесс oracle.exe. Не верите - посмотрите в task manager-е

Я как-бы немного в курсе что то, что в юниксе процесс, в виндах нить.
Как насчет юникса ? Оракл и там многонитевый, или таки многопроцессный ?
...
Рейтинг: 0 / 0
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
    #32842901
Alex.Czech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ЛеонидовичОткуда же он знает, что 5 БЕЗ СТАТИСТИКИ ?

Так е-мое - с того ж разговор и начался, что не знает ! Зато по индексу знает, какой процент проводок попадет в диапазон. И он может ПРЕДПОЛОЖИТЬ, что выгоднее начать с условия Accepted=1, тем более что там равенство, а тут диапазон.

Вот чтобы он не предполагал, а знал, и нужна статистика по полю Accepted. А индекс, очевидно, не нужен, только место занимать
...
Рейтинг: 0 / 0
25 сообщений из 199, страница 6 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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