Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Нет нужды изучать конкретную СУБД  [new]
джиммерс
Member

Откуда:
Сообщений: 216
Тут коллега высказал интересный тезис: программисту нет нужды знакомиться с нюансами реализации той или иной СУБД, будь то MSSQL, Oracle. Это, дескать, задача администратора – подкручивать всё для оптимизации производительности. А разработчику достаточно знать стандарт SQL92 и вперёд. В частности, хранимые процедуры коллега не использует в принципе и говорит, что написанный им код (работающий с базой) совместим с практически любой СУБД. В общем, я даже не нашёл слов, чтобы возразить. Что скажите?

P.S. Коллега – java developer и, судя по его словам, уже 10 лет придерживается такого подхода.
17 ноя 04, 12:17    [1112529]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
джиммерс
Тут коллега высказал интересный тезис: программисту нет нужды знакомиться с нюансами реализации той или иной СУБД,

Это тезис не интересный, а тривиальный. Многие чайники приходят именно к этому.

джиммерс
Это, дескать, задача администратора – подкручивать всё для оптимизации производительности.

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

джиммерс
В общем, я даже не нашёл слов, чтобы возразить. Что скажите?

То, что для решения тривиальных задач этот подход годится.

джиммерс
P.S. Коллега – java developer и, судя по его словам, уже 10 лет придерживается такого подхода.

А он в курсе, сколько лет джаве?
17 ноя 04, 12:44    [1112682]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Один
Member

Откуда: Киев
Сообщений: 781
джиммерс
А разработчику достаточно знать стандарт SQL92 и вперёд.
Ну вообще-то небезызвестный Joe Celko регулярно высказывает такие же мысли. И ему регулярно же оппонируют другие гуру. Так что здравое зерно тут есть.
Мое мнение такое: думать нужно всегда.
Если есть вероятность, что ваш код будет портироваться на другие СУБД - использовать поменьше специфических для сервера расширений SQL. Но это почти наверняка приведет к снижению производительности кода в рамках любого сервера.
П.э. если такой вероятности нет, что бывает очень часто, то нет и смысла ограничивать себя.

Знать особенности разных серверов полезно в любом случае.
17 ноя 04, 13:26    [1112888]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
джиммерс
Member

Откуда:
Сообщений: 216
Да, выходит он не прав.
17 ноя 04, 13:35    [1112938]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Рыжий Кот
Member

Откуда: Мягкий Диван; [забанен] Рустамом; [разбанен] П02;
Сообщений: 21678
Оффтоп,
когда слышу слово Java, то сразу вспоминаю тормозные апплеты, которые нам "рисовали" европейские разработчики, а также оболочки для сотовых Siemens - те еще тормоза. Помимо "универсальности" и "переносимости" должно быть, на мой взгляд самое важное, приемлемая скорость выполнения.
Мне, как пользоваетелю, глубоко по барабану, что данное ПО работает под mssql, oracle,... Я должен ездить на машине, а не она на мне...

Картинка с другого сайта.
17 ноя 04, 13:47    [1113006]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

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

Теоретически - вероятность есть почти всегда. Но, imho, готовиться к этому следует не "ограничивая себя", а "облегчая будущую портацию" - в первую очередь, продумать архитектуру с учетом такой потребности.
17 ноя 04, 14:06    [1113113]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6905
джиммерс
P.S. Коллега – java developer и, судя по его словам, уже 10 лет придерживается такого подхода.


Распространённое явление в среде ООП-шников. Ещё они любят самые тривиальные селекты закручивать в могучую неповоротливую объектную модель со сложной иерархией, аргументируя это простотой работы с таким механизмом. Давить и тех и других. Не знают, не понимают, а лезут и имеют наглость иметь собственное мнение :)

Требую отставки Президента РФ
17 ноя 04, 14:13    [1113167]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Я и ёжик
Member

Откуда: СПб
Сообщений: 1815
Я думаю главное препятствие тут не производительность, а обеспечение корректной параллельной работы пользователей ( в смешанной среде чтение-запись).
Код работающий с базой должен быть совместим не только по синтаксису и его трактовке СУБД, но и по режимам обеспечения выполнения параллельных заданий.
Т.е. или
1) приложение должно работать на уровне изоляции SERIALIZABLE ( в полном понимании, т.е. должен удовлетворятся критерий сериализуемости),
но это приводит к большой конкуренции за ресурсы и уменьшению пропускной способности системы ( да и далеко не все промышленные СУБД поддерживают такой режим, без необходимости применять дополнительные СУБД-зависимые возможности, что противоречит исходной задаче унификации кода),
или
2) уровни изоляции в используемых СУБД должны быть полностью идентичны по механизмам работы, чего не наблюдается. Даже менеджеры транзакций в СУБД одного типа, на одинаковых ( по названию) уровнях изоляции, ведут себя по разному. Причем поведение может меняться даже от версии к версии одной СУБД, например, если не ошибаюсь, при переходе от ms-sql 7 к MS-sql2000 изменился уровень изоляции Repeatable-read, или при переходе Oracle8i -> Oracle9i изменились механизмы блокирования при обработке внешних ключей.

В общем случае, приложение такого типа ( если БД не статична) будет корректно работать в многопользовательском режиме только в среде 1-й СУБД.
17 ноя 04, 14:39    [1113333]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Denis Popov
Member

Откуда: Санкт-Петербург
Сообщений: 7862
ИМХО польза от людей, предпочитающих работать с несколькими БД на уровне общих стандартов, может заключаться в том, что факт их существования приводит к дальнейшей проработке этих самых стандартов:) Если сейчас освоение языка запросов второй и далее СУБД не происходит с нуля, то в дальнейшем, с увеличением количества расширений SQL в каждой СУБД, процес адаптации разработчика будет только затягиваться. Пусть лучше расширяется единый стандарт, реализующийся всеми, в большей или меньшей степени.
17 ноя 04, 15:09    [1113541]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Denis Popov
ИМХО польза от людей, предпочитающих работать с несколькими БД на уровне общих стандартов, может заключаться в том, что факт их существования приводит к дальнейшей проработке этих самых стандартов :)

Думаю, Вы пытаетесь сделать верный вывод из ложной предпосылки.

Польза единого стандарта понятна, как понятно и то, что действительно хорошая совместимость - дело, в лучшем случае, весьма далекого будущего. Но вот "наличие предпочитающих работать" вряд ли существенно влияет на разработку стандарта - поскольку вряд ли разработчики стандарта так уж внимательны к проблемам.. разработчиков сомнительной грамотности.
17 ноя 04, 16:08    [1113879]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Ekuku
Member

Откуда: оттуда
Сообщений: 451
softwarer
джиммерс
Тут коллега высказал интересный тезис: программисту нет нужды знакомиться с нюансами реализации той или иной СУБД,
..Это тезис не интересный, а тривиальный. Многие чайники приходят именно к этому...
Хороший постулат и логичный вывод :
- Все программисты в SAP-R3 на АВАРЕ - чайники!.
Там есть возможность делать нативные запросы, но это карается
административно :-)
17 ноя 04, 19:04    [1114636]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Ekuku
Хороший постулат и логичный вывод :
- Все программисты в SAP-R3 на АВАРЕ - чайники!.

Скорее не программисты - по крайней мере, не кодеры - а архитекторы такого решения. Project Manager-ы, ведущие программисты - примерно так.

Ekuku
Там есть возможность делать нативные запросы, но это карается
административно :-)

О! Точно. То есть даже более красиво: разработчики ядра сделали именно так, как надо (есть универсальное решение и есть возможность делать нативные запросы там, где они актуальны). А чайники из конкретного места - административно запретили пользоваться этой возможностью.

Я такое, к сожалению, и видел, и слышал. Слышал, например, про одного руководителя, который в проекте на дельфе административно запретил использовать наследование.
17 ноя 04, 19:23    [1114666]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Ekuku
Member

Откуда: оттуда
Сообщений: 451
я бы по-другому сказал.. В самой инструкции САПа написано, что такие фичи есть, но не поощряются.- типа масштабирование и миграция затрудняется.. Это относится опять к области технологической политики проекта, а не технологий. Ну, понятно, что в наших проектах из политики есть только политика всеобщего хаоса. Поэтому кто-то втихаря все-равно нативно пишет для своих оптимизаций.. Все равно он уволится, а в этом проекте кто-то может года через два на эту какашку и наступит, а может и нет..
17 ноя 04, 21:10    [1114823]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Все равно он уволится, а в этом проекте кто-то может года через два на эту какашку и наступит, а может и нет..

прастите, сер, а может в больших (и даже небольших) проектах все-таки пытаться что-нить документировать? чтобы идущие следом не наступали на заранее разложенные какашки?
а если документирования нет - то и нах вам САП? сидите в экселе, батенька.
18 ноя 04, 00:20    [1115077]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Ekuku
Member

Откуда: оттуда
Сообщений: 451
Лох Позорный
..прастите, сер, а может в больших (и даже небольших) проектах все-таки пытаться что-нить документировать? чтобы идущие следом не наступали на заранее разложенные какашки? а если документирования нет - то и нах вам САП? сидите в экселе, батенька.
мне САП нах не нужен.. он клиенту нужен.. кое-что отмыть..
А вы когда-нибудь пробовали сами документировать биз.-лог. в ерп-проектах включая исходный код,.. сер ?
уж не знаю в чЁм вЫ там сидите, но желаю удачи..
18 ноя 04, 02:50    [1115220]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Ekuku
я бы по-другому сказал.. В самой инструкции САПа написано, что такие фичи есть, но не поощряются.- типа масштабирование и миграция затрудняется..

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

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

Итого: "делаем плохо, потому как трудно сделать хорошо". Удачи... Вашим клиентам.
18 ноя 04, 11:25    [1115924]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
джиммерс
Member

Откуда:
Сообщений: 216
softwarer
А он в курсе, сколько лет джаве?


10 лет он практикует такой подход по отношению к работе с БД. На Java пишет последние годы, ранее на C++. Кстати, ещё говорит, что на Java невозможно написать плохую программу, так как JVM защищает от почти всех ошибок.

Открыл вчера заметки о стандарте SQL1999 и понял, что ни одна СУБД из распространённых (Oracle, MSSQL и т.п.) еще полностью тот же SQL1999 не поддерживает. Так что ориентироваться на него можно, но нужно ли?

Дискуссию внизу треда считаю уже перебором.
18 ноя 04, 12:37    [1116357]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
джиммерс
Кстати, ещё говорит, что на Java невозможно написать плохую программу, так как JVM защищает от почти всех ошибок.

Хм. Это даже не смешно (говорю как человек, программирующий на Java).

джиммерс
Открыл вчера заметки о стандарте SQL1999 и понял, что ни одна СУБД из распространённых (Oracle, MSSQL и т.п.) еще полностью тот же SQL1999 не поддерживает. Так что ориентироваться на него можно, но нужно ли?

Я бы сказал, даже с поддержкой SQL92 есть ряд вопросов. Например, не так давно оказалось, что MS SQL не поддерживает прописанной в стандарте конструкции EXCEPT. А учитывая, что стандарт покрывает весьма узкую область из реально требующихся - закладываться на него можно только в том случае, если СУБД реально используется только как "большой файл с произвольным доступом", а практически все необходимое - включая конкурентный доступ, например - вынесено на уровень app server-а.
18 ноя 04, 12:46    [1116437]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Один
Member

Откуда: Киев
Сообщений: 781
джиммерс

Открыл вчера заметки о стандарте SQL1999 и понял, что ни одна СУБД из распространённых (Oracle, MSSQL и т.п.) еще полностью тот же SQL1999 не поддерживает. Так что ориентироваться на него можно, но нужно ли?
А это вам решать. Если вы предполагаете, что разрабатываемая вами система будет работать с Oracle и MSSQL, то изучите в какой степени они поддерживают стандарт.
Вы заметели, что даже в рекламах не пишут "наша система работает с любой СУБД" ? Пишут - "наша система работает с такими-то СУБД"
18 ноя 04, 12:47    [1116447]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Один
Member

Откуда: Киев
Сообщений: 781
softwarer
джиммерс
Кстати, ещё говорит, что на Java невозможно написать плохую программу, так как JVM защищает от почти всех ошибок.

Хм. Это даже не смешно (говорю как человек, программирующий на Java).

джиммерс
Открыл вчера заметки о стандарте SQL1999 и понял, что ни одна СУБД из распространённых (Oracle, MSSQL и т.п.) еще полностью тот же SQL1999 не поддерживает. Так что ориентироваться на него можно, но нужно ли?

Я бы сказал, даже с поддержкой SQL92 есть ряд вопросов. Например, не так давно оказалось, что MS SQL не поддерживает прописанной в стандарте конструкции EXCEPT. А учитывая, что стандарт покрывает весьма узкую область из реально требующихся - закладываться на него можно только в том случае, если СУБД реально используется только как "большой файл с произвольным доступом", а практически все необходимое - включая конкурентный доступ, например - вынесено на уровень app server-а.
Все верно сказано.
Честно говоря, высказывания типа "на языке [] невозможно написать плохую программму" сразу роняют в моих глазах этого человека.
Здесь можно развить мысль о том, что на самом деле он хотел сказать, что он не может написать плохую программу, т.к. он пишет на таком языке.
Но лучше не уходить в сторону от темы.
18 ноя 04, 12:52    [1116479]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
джиммерс
В частности, хранимые процедуры коллега не использует в принципе
По-моему, разговоры о хранимых процедурах уже давно не актуальны - он поддерживаются большинством dbms, а также всеми стандартными интерфейсами доступа такими как ODBC/OLE DB/JDBC/ADO.Net

softwarer

На сколько я знаю, существует несколько уровней поддержки SQL92 конкретной СУБД (entry, intermediate and full) - так вот - даже intermediate полностью не поддерживает ни одна из известных мне СУБД :)
18 ноя 04, 14:15    [1116929]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
джиммерс
Member

Откуда:
Сообщений: 216
Ещё человек выдвинул такой тезис: в недалёком будущем лучшие СУБД (в том числе Oracle) станут полностью Java-Based App-servers. На мой агрумент, что Java будет еще одной прослойкой, замедляющей работу СУБД (в частности, storage engine), ответ был: это практически незаметно при современных мощностях машин. Ну а про App-server я вынужден согласиться, хотя это и не есть хорошо.
18 ноя 04, 16:37    [1117709]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
джиммерс
Ещё человек выдвинул такой тезис: в недалёком будущем лучшие СУБД (в том числе Oracle) станут полностью Java-Based App-servers.

Еще в недалеком будущем на джаву будут переписаны лучшие операционные системы.

P.S. Может, хватит "цитировать" глупости?
18 ноя 04, 16:45    [1117759]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
джиммерс
Member

Откуда:
Сообщений: 216
softwarer
P.S. Может, хватит "цитировать" глупости?


Ну почему глупости - может кто-то аргументирует такую точку зрения. Кроме того, человек весьма уважаемый, так что не стОит так резко.

P.S. Можно не отвечать в трэд, если не интересно.
18 ноя 04, 16:50    [1117797]     Ответить | Цитировать Сообщить модератору
 Re: Нет нужды изучать конкретную СУБД  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32895

Привет, джиммерс!
Ты пишешь:

джиммерс
softwarer
P.S. Может, хватит "цитировать" глупости?

д> Ну почему глупости - может кто-то аргументирует такую точку зрения.


Ты как ребёнок забавляшься.
А он сказал...
А они сказали...
И ещё земляным червяком...
джиммерс
д> Кроме того, человек весьма уважаемый, так что не стОит так резко.

Кем уважаемый?
Тобой?
Начальник твой?
Или твой препод?
Обществу на него НАСРАТЬ.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.1

18 ноя 04, 16:55    [1117828]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить