powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Независимость приложения от СУБД
50 сообщений из 50, показаны все 2 страниц
Независимость приложения от СУБД
    #37958420
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описать БД и запросы к ней на чистом ANSI SQL и закатать все это дело в один из новомодных ORM (Hibernate например), а потом безболезненно менять СУБД для приложения как перчатки (позабыв про многочисленные уговоры Т. Кайта и других не менее уважаемых специалистов) - миф или реальность ?

А если серьезно, то поделитесь опытом построения таких приложений: плюсы, минусы, особенности в реализации и работе.
Вопрос пока чисто теоретический, поэтому технические подробности системы не описываю, но речь не о среднем сайте, а достаточно крупном приложении, с несколькими модуля, сотнями пользователей и т.д.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958432
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Нмиф или реальность ?
Миф.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958434
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А бизнес-логика? Она вообще предполагается? Она тоже будет через ORM?
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958473
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherА бизнес-логика? Она вообще предполагается? Она тоже будет через ORM?
А БЛ на стороне клиента соответсвенно
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958480
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМиф.1C?
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958485
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter1C?
фиг:
Максим Нречь не о среднем сайте, а достаточно крупном приложении, с несколькими
модуля, сотнями пользователей и т.д.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958495
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovМаксим Нречь не о среднем сайте, а достаточно крупном приложении, с несколькими
модуля, сотнями пользователей и т.д.
И по какому пункту 1С не пролазит?
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterИ по какому пункту 1С не пролазит?

Как человек, обслуживавший 1С с полусотней пользователей, могу обоснованно сказать: по
обоим. Железо на такую задачу для 1С потребовалось бы выше среднего. В то время как
прилично сделанное приложение с учётом особенностей СУБД обойдётся и начальным уровнем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958517
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Я бы не был столь категоричным. Есть куча примеров систем, которые натягиваются на любую популярую СУБД, как CMR, VSC, BugTracker-ы, мониторинговые системы (etc zabbix), СУП как SAP/R3, Siebel, 1C.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958521
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterЕсть куча примеров систем, которые натягиваются на любую популярую СУБД

....пока эта СУБД - MS SQL или Oracle. (c) почти Г.Форд.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958532
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov....пока эта СУБД - MS SQL или Oracle. (c) почти Г.Форд.
Вот видишь, время машин крашеных в один цвет безвозвратно прошло ;)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958549
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterВот видишь, время машин крашеных в один цвет безвозвратно прошло ;)

В таком случае: критерий популярности - В СТУДИЮ!!! Какого уровня популярности должна
достигнуть СУБД, чтобы с ней работал и SAP/R3 и 1С и какой-нибудь BugTracker?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958551
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Нмиф или реальность ?Миф.
Relic HunterЯ бы не был столь категоричным. Есть куча примеров систем, которые натягиваются на любую популярую СУБД, как CMR, VSC, BugTracker-ы, мониторинговые системы (etc zabbix), СУП как SAP/R3, Siebel, 1C.Они не натягиваются просто изменением имени БД в конфиге, так, что бы:
Максим Нбезболезненно менять СУБД для приложения как перчатки (позабыв про многочисленные уговоры Т. Кайта и других не менее уважаемых специалистов)К тому же ни в одной из этих систем не используются "один из новомодных ORM (Hibernate например)"

Вообще не видел ни одной системы, подходящей под определение "речь не о среднем сайте, а достаточно крупном приложении, с несколькими модуля, сотнями пользователей и т.д.", в которой использовалась бы такая технология, даже если не брать топовые известные системы.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958556
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovRelic HunterВот видишь, время машин крашеных в один цвет безвозвратно прошло ;)

В таком случае: критерий популярности - В СТУДИЮ!!! Какого уровня популярности должна
достигнуть СУБД, чтобы с ней работал и SAP/R3 и 1С и какой-нибудь BugTracker?Да в общем понятно - когда объём продаж под эту СУБД превышает стоимость портирования на неё. И в принципе поставщики некоторых приложений, бывает, поддерживают немало СУБД.

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

Вот такая она, светлая и недостижимая мечта ТС :-)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958559
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgВот такая она, светлая и недостижимая мечта ТС :-)
Не, не, не - вы меня не правильно поняли. Я как раз таки сам большой противник "обезличивания" БД! Просто вот возник вопрос такой, небольшое сомнение закралось, а в друг и правда есть такая возможность? :)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958560
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку:

Какая цель обычно приследуется при построении универсального приложения, не привязанного к СУБД ?

Производительность?
Но ведь одна и та же ANSI-шная болванка (без заточки под конкретную СУБД, под ее особенности и расширенный функционал) будет работать примерно с одинаковой скоростью как на дорогущих Oracle и MSSQL так и на халявных PG и (пока еще) MYSQL ?

Наличие уже установленной СУБД у клиента?
Ну так если СУБД свободная, то какая проблема развернуть ее у клиента ?

Что нибудь еще?
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958581
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НПросто вот возник вопрос такой, небольшое сомнение закралось, а в друг и правда есть такая возможность? :)Нет никаких сомнений, нету возможности :-)

Максим НКакая цель обычно приследуется при построении универсального приложения, не привязанного к СУБД ?Так я же писал - менеджеры хотят продавать клиентам под их разнообразные инфраструктуры.
Как миниму просто конкурентное преимущество, даже чисто психологическое.

Ну и вопрос не только в стоимости лицензий, нужен же штат людей, какая то школа по СУБД. Не может же в самом деле компания при покупке решения не обращать внимание на то, что для этого решения нужно, кроме апаратной части.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958585
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте про патерн программирования MVC и его реализацию "Code First". Там вообще проектируется приложение под бизнес модель и только потом модель генерирует базу данных, для которой есть соответствующий EF драйвер.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958597
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НА если серьезно, то поделитесь опытом построения таких приложений: плюсы, минусы, особенности в реализации и работе.
Практически даже "Oracle + Firebird" было изрядным геморроем.

Даже в рамках ANSI SQL существует изрядное количество несовместимостей. Практически "одинаково на всех СУБД" могут выполняться только приложения, построенные на запросах SELECT FIELD FROM TABLE WHERE ID = ? и соответствующих однострочных операторах модификации. А писать приложение при таких ограничениях... мягко говоря, скучно.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958604
Фотография timda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter, почитать почитаем, но использовать это можно только для макетов. Для этого кросс-платформенность нужна, чтобы при сборке показательных стендов, которые я называю макетами, на этапах пресейла - конфигурировать в достаточно простом режиме различные варианты для Заказчика.
В продакте надеюсь вы не предлагаете базы пересобирать ? :)

Максим Н, думал холивары о кроссплатформенности ушли в небытие, но реальность говорит об обратном :)
ИМХО, платформа всегда определена конкретной средой и обстоятельствами.
Представляете себе компанию, которая под Новый Год выпускает приказы о назначении руководителей отделов с доверенностями и заодно приказы об эксплуатируемом сервере баз данных на будущий год ?
Говорить о выборе СУБД можно чисто гипотетически, потому что как правило на этот выбор влияют совершенно другие критерии от исходного ресурса до философии (вернее "тараканов") руководителей.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958609
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Н,
не знаю, надо ли.
Как правило этим вопросом задаешься в самом начале проектирования, потому как ещё много неизвестных... Как обычно, хочется "всего и сразу и нахаляву"... зато какое преимущество! Фигня это.

Опять же, сколько работал - не видел таких "безболезненных" миграций в реальности. Потому, что ежели оно работает - то зачем? А "не работать" оно начинает медленно и незаметно... как правило поначалу легко решается "допилом" (отходом от стандарта)... а когда понимаешь "надо бы" - поздно, почки уже отлетели.

Как пример, знаю место, где ДОСовским парадоксом пользовались до 2010года "вовсю" в бизнес процессах в не самой маленькой организации. Одна из причин жизни разных mumps. :)

Опять же, заточенное под конкретную БД приложение - работает шустрее. Главное, чтобы "затачиваемость" совпадала с потребностями задачи.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958645
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь о
Максим Ндостаточно крупном приложении, с несколькими модуля, сотнями пользователей
то
Максим НОписать БД и запросы к ней на чистом ANSI SQL
нереально уже само по себе.

Поэтому
Максим Нзакатать все это дело в один из новомодных ORM
или нет - уже не принципиально.

Максим Нподелитесь опытом построения таких приложений
По-любому придётся как-то на уровне не выше построения запросов определять типа сервера, к которому выполнено подключение, и соответственно менять код SQL. Выбирать имена для сущностей такие, чтобы были для всех СУБД корректными. Впрочем последнее относится скорее к модели БД. А с моделью будет отдельная особая пляска с бубнами и баянами.
Короче говоря, это работа в целом - для аккуратных дотошных зануд, не побоюсь этого слова. И проблемы программиста с чистым ANSI SQL и тем более всякими ORM даже после поддержки 3 разных СУБД в одной модели и одном большом проекте вам покажутся детской забавой. Это прежде всего проблема архитектуры и проектирования.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958686
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вам мысль описывать запросы в неком СВЕРХ SQL из которого потом путем "компиляции" будут генерироваться процедуры на конкретном языке SQL.

Конечно компиляция может быть не столь интеллектуальной, как мозги программиста. Но это как сказать, как сказать..
И потом в сгенерированный SQL, который подойдет скажем процентов на 70, пусть будет допустимо вносить изменения вручную.
Все равно работы будет меньше.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958744
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogА как вам мысль описывать запросы в неком СВЕРХ SQL из которого потом путем "компиляции" будут генерироваться процедуры на конкретном языке SQL.
Она здравая и правильная, имхо. Но учитывая необходимый объём работ (необходимый на самом деле, а не кавалерийским наскоком), она будет оправдана только в весьма крупных проектах. Кроме того, не стоит забывать ещё о двух вещах: разработка такого продукта будет означать необходимость отладки/тестирования под все платформы (то есть тупо увеличение затрат в эн раз), а список возможностей получившегося "сверх скл" будет пересечением возможностей платформ с объединением мелких несовместимостей и различных багов.

Я как-то говорил: я в своё время сконструировал скрипт на анси скл (ну вернее оператор, а всё остальное - создание таблиц и заполнение данными), который при выполнении на трёх разных СУБД даст три разных результата. И "компилятору сверхскл" придётся каким-то образом обеспечить одинаковый результат на всех трёх.

AlexsalogИ потом в сгенерированный SQL, который подойдет скажем процентов на 70, пусть будет допустимо вносить изменения вручную.
Это несопровождаемо.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958757
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вообще опыт генерации SQL на основе каких то отношений так уж неудачен ?
Вот предлагали взять ОРМ. Там между прочим SQL генерируется.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958760
Ъыжсло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется небольшой опыт... Моя программа на данный момент работает с MSSQL начиная с 2000 (на 97 не тестил... както подумал что не нужно тревожить дедушек). FoxPro, Interbase, MySQL (4,5),DB2, Access, XML (просто куча файлов) и даже 1С (через СОМ-взаимодействие). Как сказано было выше - это все грустно. Отказ от хранимых процедур и функций, от встроенных системных процедур и функций (например GetDate() etc.). Ессно нет всяких ультра современных типов данных (например geometry). И как следствие падение производительности - ибо все приходится делать на клиенте. Чисто с точки зрения спортивного интереса (или прихоти заказчика) занятся таким извращением можно. НО! Есть же например бесплатный SQLExpress.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37958933
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogА что вообще опыт генерации SQL на основе каких то отношений так уж неудачен ?
Вот предлагали взять ОРМ. Там между прочим SQL генерируется.Нежизнеспособна идея описать "всё" декларативно какими то "отношениями". Поэтому собственно и неудачны ОРМ в чистом виде, как идея.

При этом разумное использование всяких фреймворков без фанатизма вполне жизнеспособно.

"мысль описывать запросы в неком СВЕРХ SQL" - вполне нормальная. Но вообще говоря, это есть идея просто нового языка, она множество раз реализована. Кобол, X++, ABAP - вполне рабочие варианты "некоего СВЕРХ SQL", хотя для эффективности и/или для преодоления ограничений приходится вставлять прямые запросы к базовой СУБД.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965054
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе не такой уж и миф. При использовании ограниченного набора фич вполне можно удовлетвориться ОРМ. Что нужно.. стандартные типы данных, счетчики, limit/offset.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965166
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманВ принципе не такой уж и миф. При использовании ограниченного набора фич вполне можно удовлетвориться ОРМ. Что нужно.. стандартные типы данных, счетчики, limit/offset.Разве что для несложной морды для БД.
А вот сложную отчетность делать - начинается капец, т.к. единственно доступный "суперSQL" сводится к фильтрации/навигации по датасету. На клиенте. С собиранием промежуточных вычислений там же (в переменных, времянках и пр.). Очень уныло.

зы: наблюдал, как Навижн собирал в отчет остатки товаров по магазину всю ночь (40 тыс. позиций). Именно вышеизложенным методом. Поэтому часто для подобных операций применяют внешний полноценный SQL. При этом "кроссплатформенность" разумеется катится к чертям. :)
Уже молчу про внешний вид этого "полноценного SQL". 1С-ники поймут. :)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965229
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НCane Cat FisherА бизнес-логика? Она вообще предполагается? Она тоже будет через ORM?
А БЛ на стороне клиента соответсвенно

То есть притягиванием данных на клиента, и перебиранием в циклах. В принципе, это возможно. Производительность и прозрачность, прощай! Добро пожаловать в начало 90-х!
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965305
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVА вот сложную отчетность делать - начинается капец
Там капец начнётся задолго до этого. При первом же косяке оптимизатора на любой из поддерживаемых СУБД например. Алгоритм обучения сервера правильным хинтам в конкретном запросе совершенно не бьётся с универсальным СВЕРХ SQL-ем.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965374
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

последнее время склоняюсь к тому, что отчеты это вообще очень отдельная часть. Хотя и логика при которой нельзя посчитать сумму одним запросом, скорее всего результат кривоватой модели данных.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965414
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя и логика при которой нельзя посчитать сумму одним запросом, скорее всего результат кривоватой модели данныхОга... ну посчитай одним запросом полную себестоимость многодокументной сделки на дату ХХХХХ. :)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965441
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

запросто.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965446
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, запрос даже.

Код: sql
1.
SELECT sum(sebestoimost) FROM mnogodokymentnya_sdelka WHERE data='XXXXX'
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965584
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманХотя и логика при которой нельзя посчитать сумму одним запросом, скорее всего результат кривоватой модели данных.
Я тебе даже больше скажу. Когда в исходной постановке задачи есть требование "одним запросом" - это результат кривой логики.
Количество запросов - это следствие оптимальности (некривоватости) или неоптимальности (кривоватости). А не исходная предпосылка, что один запрос всегда выиграет у всех прочих реализаций.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965638
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов,

Под "количеством запросов" я имел ввиду количество обращений к БД. Оно не должно зависеть от количества документов, например.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965791
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ВаскецовКогда в исходной постановке задачи есть требование "одним запросом"
- это результат кривой логики.
Возможно, одна из поддерживаемых СУБД просто неспособна обеспечить консистентность данных
между разными запросами, только внутри одного.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965884
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманя имел ввиду количество обращений к БД. Оно не должно зависеть от количества документов, например.
Почему не должно? Кому не должно?
Исходная предпосылка формулируется как правило довольно тупенько: чтобы быстро и надёжно. И всё, дальше крутись как можешь. Это тебе не собеседование, это реальная жизнь. Решается одним запросом - ура. Быстрее двумя запросами - изволь порвать свой шаблон в клочья, но сделай. Тем более, если надо универсально (сколько опыта подержки зоопарка СУБД - ни разу поддержка нового не приводила к уменьшению числа запросов, к увеличению и делению - было).

Dimitry Sibiryakovодна из поддерживаемых СУБД просто неспособна обеспечить консистентность данных
между разными запросами, только внутри одного.
Ну да, транзакций нет, уровней изоляции нет,... - я боюсь что в таком случае либо вопрос легко решается корректной декомпозицией запросов, например тривиальным предварительным расчётом параметров, либо "СУБД просто неспособна" безо всяких уточнений, ну или разные небольшие модификации этих крайних ситуаций "по мотивам".
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37965953
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ВаскецовНу да, транзакций нет, уровней изоляции нет,...
Ну вот, например, Оракул: транзакции есть, изоляции есть, но на умолчательном Read
Committed консистентность не обеспечивается даже для подзапросов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966044
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovно на умолчательном Read Committed консистентность не обеспечивается даже для подзапросов
Это про то, что сдуру можно много чего сломать?
Поциент мечтает об одном запросе , число подзапросов и всё прочее его вообще не интересует.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966210
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovRead Committed
Read Оnly и состояние БД заморожено до commit
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966289
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модRead Оnly и состояние БД заморожено до commit
А вот это уже - зависимость приложения от СУБД, точнее от поддерживаемых ею уровней изоляции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966505
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov_модRead Оnly и состояние БД заморожено до commit
А вот это уже - зависимость приложения от СУБД, точнее от поддерживаемых ею уровней изоляции.

Тем не менее это непохоже на "СУБД просто неспособна обеспечить консистентность данных".
Просто определённая зависимость типа " добавлять или нет from dual к select 1".
Да многие вообще не парятся уровнями изоляции, я по своим большим проектам не больше десятка раз насчитал управление ими, остальное отдано DBA в виде мануала настройки ради.
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966521
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСергей ВаскецовНу да, транзакций нет, уровней изоляции нет,...
Ну вот, например, Оракул: транзакции есть, изоляции есть, но на умолчательном Read
Committed консистентность не обеспечивается даже для подзапросов.

Дим, я знаю, что Вы не читатель, но ведь какой-нибудь наивный юноша Вам сдуру и поверит....
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966526
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerкакой-нибудь наивный юноша Вам сдуру и поверит....

Да мне-то пофиг кому поверит наивный вьюношь - мне или концептам:
Note: Transactions containing DML statements with subqueries
should use serializable isolation to guarantee consistent read.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966604
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну Вам-то понятно, что пофиг. Вам даже не стыдно привести цитату, мягко говоря не полностью совпадающую с Вашим утверждением. А уж почитать всё остальное, подумать и разобраться...

Ладно, специально ради наивных вьюношей:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as test
 
SQL> create table t(id integer, d date);
 
Table created
 
SQL> insert into t(id) select rownum from dual connect by level <= 1000000;
 
1000000 rows inserted
 
SQL> set timing on;
SQL> update t set d = (select sysdate from dual);
 
1000000 rows updated
 
Executed in 53,15 seconds
 
SQL> select to_char(min(d), 'dd.mm.yyyy hh24:mi:ss'), to_char(max(d), 'dd.mm.yyyy hh24:mi:ss') from t;
 
TO_CHAR(MIN(D),'DD.MM.YYYYHH24 TO_CHAR(MAX(D),'DD.MM.YYYYHH24
------------------------------ ------------------------------
20.09.2012 23:38:48            20.09.2012 23:38:48
 
Executed in 0,156 seconds
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966793
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovА вот это уже - зависимость приложения от СУБД, точнее от поддерживаемых ею уровней изоляции.

Вот и я о том же - за независомость надо платить, иногда много
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966942
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerSQL> insert into t(id) select rownum from dual connect by level <= 1000000;


Видимо, это формально это попадает под Statement-Level Read Consistency: The SQL statements SELECT, INSERT with a subquery, UPDATE, and DELETE all query data, either explicitly or implicitly, and all return consistent data.

А чтобы увидеть бяку в подзапросе, как я понял, надо там функцию вызывать:

If a SELECT list contains a function, then the database applies statement-level read consistency at the statement level for SQL run within the PL/SQL function code, rather than at the parent SQL level. For example, a function could access a table whose data is changed and committed by another user. For each execution of the SELECT in the function, a new read consistent snapshot is established.

Или в каких-то еще случаях это проявляется? Оракла под рукой нету, а интересно :-)
...
Рейтинг: 0 / 0
Независимость приложения от СУБД
    #37966979
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherВидимо, это формально это попадает под Statement-Level Read Consistency:
Да нет, на самом деле всё проще. Про процитированную Димой фразу ещё лет десять назад Том Кайт сказал примерно так: "Не знаю, что это за бред, думаю, это ошибка в документации".

Cane Cat FisherА чтобы увидеть бяку в подзапросе, как я понял, надо там функцию вызывать:
Это да, в read committed запрос внутри функции считается с собственной согласованностью, не связанной с запросом, вызвавшим функцию.

Cane Cat FisherИли в каких-то еще случаях это проявляется? Оракла под рукой нету, а интересно :-)
Скажу осторожно: других таких случаев я не знаю (ну если мы не говорим о явных командах, скажем select as of scn). Кстати, с помощью такой команды можно и сделать согласованность с родительским запросом, если есть такое желание, но я не видел, чтобы на практике это использовали.
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Независимость приложения от СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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