powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка приложения, поддерживающего различные СУБД
53 сообщений из 53, показаны все 3 страниц
Разработка приложения, поддерживающего различные СУБД
    #34774156
risp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где можно почитать про разработку поддержки нескольких субд?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34774353
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rispГде можно почитать про разработку поддержки нескольких субд?
А чего тут читать кроме ANSI SQL и описания универсальных интерфейсов доступа?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34774513
risp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Гoлдун rispГде можно почитать про разработку поддержки нескольких субд?
А чего тут читать кроме ANSI SQL и описания универсальных интерфейсов доступа?

Ссылки плиз
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34775179
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
risp пишет:
> Где можно почитать про разработку поддержки нескольких субд?

Наверное в разделе фантастики ...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34775441
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
risp пишет:
> Где можно почитать про разработку поддержки нескольких субд?

Наверное в разделе фантастики ...
Posted via ActualForum NNTP Server 1.4
а что собственно фантастического то?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34775540
2b&2b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RemObject.Com Data Abstract
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34775783
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm пишет:

> > Где можно почитать про разработку поддержки нескольких субд?
> Наверное в разделе фантастики ...
> а что собственно фантастического то?

Я считаю что либо это не приложение БД, либо оно непереносимо на другую БД.
Т.е. если оно переносимо, то это что-то очень простое, где СУБД можно выкинуть,
или заменить чем-то простым.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776071
DDeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Я считаю что либо это не приложение БД, либо оно непереносимо на другую БД.
Т.е. если оно переносимо, то это что-то очень простое, где СУБД можно выкинуть,
или заменить чем-то простым.
Posted via ActualForum NNTP Server 1.4Бред. ERP-системы позволяют работать с разными СУБД. Примеров куча.

2Автор: для того чтобы написать универсальное приложение, надо как минимум знать особенности этих СУБД, другими словами я имею ввиду, что у вас должен быть опыт и знания, чтобы обобщить и выделить различия в операциях с ними.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776167
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rispГде можно почитать про разработку поддержки нескольких субд?

пользуйтесь ADO и SQL92 и будет вам счастье. Мы у себя MSSQL/DB2 поддерживаем
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776256
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeveloperБред. ERP-системы позволяют работать с разными СУБД. Примеров куча.

Гы... А куча, это сколько? ((с) м\ф 38 попугаев)

ERP-системы, расчитанные на более чем одну СУБД, как правило, должны быть 3х звенными и иметь апп.сервер для каждой конкретной СУБД, ориентированный на ее спицифику.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776291
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikпользуйтесь ADO и SQL92 и будет вам счастье.
Счастье коричневого цвета и пахнущее......
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776307
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeveloper пишет:

> Бред. ERP-системы позволяют работать с разными СУБД. Примеров куча.

Ну они в основном используют СУБД процентов на 20. Т.е. практически
не используют. Да, в таком режиме можно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776309
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rispГде можно почитать про разработку поддержки нескольких субд?
Много где.... но далеко не все что можно прочитать, стоит читать.

У Вас есть два основных пути. Первый: прочитать и восхититься про упомянутые здесь ADO/SQL-92/RemObjects, равно как и про неупомянутые Hibernate и прочие ORM и примкнуть к многочисленному племени программистов, пишущих однопользовательские телефонные справочники под общим лозунгом "новое железо и это вытянет". Второй - разобраться на хорошем уровне хотя бы в двух СУБД, после чего Вы начнете адекватно представлять себе задачу "написать приложение под несколько СУБД так, чтобы оно с каждой толково работало". Не скажу, что этого сделать нельзя, но вопросы будут куда сложнее, нежели "где почитать".
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776316
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik пишет:

> пользуйтесь ADO и SQL92 и будет вам счастье. Мы у себя MSSQL/DB2
> поддерживаем

Проблема не в универсальном клиенте - тут все гораздо сложнее,
проблемы в СУБД. Они вообще малосовместимы друг с другом.
Архитектуры разные, разные системы доменов (не все типы данных
стандартизированы), разные оптимизаторы и процессоры запросов,
да вообще все разное, кроме магического слова SQL.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776411
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmа что собственно фантастического то?
Глупость разработчиков
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776732
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод iscrafmа что собственно фантастического то?
Глупость разработчиков
не люблю критиканство. Но все же хочется спросить? А Вам приходилось работать с большими структурами, которые разбросаны по всей(всему), множество СУБД, систем и др.? Если бы приходилось, то не называли необходимость в подобных задачах "глупостью разработчиков". Просто другой уровень задач.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34776859
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer пишет:
> хорошем уровне хотя бы в двух СУБД, после чего Вы начнете адекватно
> представлять себе задачу "написать приложение под несколько СУБД так,
> чтобы оно с каждой толково работало". Не скажу, что этого сделать
> нельзя, но вопросы будут куда сложнее, нежели "где почитать".

Вот-вот, и я о том же. Но я лично представляю себе эту задачу не
как "куда сложнее", а как черезвычайно сложную. Я бы сказал,
почти неразрешимую. Ну а в силу ее практической малополезности
(разве что системы типа SAP могут такое потребовать) я ее
считаю такой фантастичной.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34777287
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmА Вам приходилось работать с большими структурами, которые разбросаны по всей(всему), множество СУБД, систем и др.?
Приходилось, но это были разные системы от разных разработчиков. И каждая была заточена под свою СУБД. СУБД - это не метод доступа, а инструмент разработки - как можно от него не зависеть, непонятно.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34777943
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rispГде можно почитать про разработку поддержки нескольких субд?

CACHE -Ensemble

специально создана для построения систем на базе разных СУБД

здесь на форуме в разделе CACHE

сегодня в Москве проходит конференция на эту тему
(про использование Ensemble )

дорого
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34778762
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX пишет:

> CACHE -Ensemble
> специально создана для построения систем на базе разных СУБД

Ага, еще один искривитель пространства, помещенный между
приложением и базой данных... "У вас нету багов ? Тогда мы
идем к вам !"
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34779867
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
MX -- ALEX пишет:

> CACHE -Ensemble
> специально создана для построения систем на базе разных СУБД

Ага, еще один искривитель пространства, помещенный между
приложением и базой данных... "У вас нету багов ? Тогда мы
идем к вам !"
Posted via ActualForum NNTP Server 1.4

Баги были есть и будут всегда и у всех
Но возможно Вы и правы насчет искривителя
Лучше бы посмотреть на реально работающую систему
есть несколько штук в России - сам не видел
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34780174
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX пишет:
> Баги были есть и будут всегда и у всех
> Но возможно Вы и правы насчет искривителя
> Лучше бы посмотреть на реально работающую систему
> есть несколько штук в России - сам не видел

Дело не в багах. На мой взгляд такие штуки пишутся
только чтобы минимальными средствами имитировать функциональность
и продавать, продавать, продавать ... - втюхивать всяким
мэнеджерам-директорам.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34780323
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
имитировать функциональность

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

Именно так - с виду работает, а на самом деле - увы, нет.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34781745
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне люблю критиканство. Но все же хочется спросить? А Вам приходилось работать с большими структурами, которые разбросаны по всей(всему), множество СУБД, систем и др.? Если бы приходилось, то не называли необходимость в подобных задачах "глупостью разработчиков". Просто другой уровень задач.
Ну мне приходилось. Но это не означает "поддержку нескольких СУБД". Например, под это определение подходит MSSQL, вытаскивающий некие данные из Oracle (или наооборот). Достаточно часто встречаемая задача.

softwarer
+1

от себя добавлю что не встречал разработчиков, одинаково хорошо разбирающихся (и пишущих) хотя бы в двух наиболее популярных сегодня СУБД - MSSQL и Oracle. Т.е. "поддержка нескольких СУБД" означает "хреновая или ограниченная поддержка нескольких СУБД".

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34784502
Необходимо поставить вопрос - а стоит ли овчинка...

У нас есть такое дело - и ms sql и oracle

клиент - 1 штука вызывает сервер приложений
сервер приложений определяет тип используемой бд и дергает нужную бд (фактически в каждом методе - if mssql then elseif oracle then end if;
80% логики на БД - соответственно, за исключением клиентской части - это 2 разных приложения

По нашим оценкам (применимо только для нашего приложения) портирование на новую субд - 70% от выпуска новой версии
ORM-ы не катят - слишком нагрузка большая
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34784509
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а стоит ли..сервер приложений определяет тип используемой бд и дергает нужную бд (фактически в каждом методе - if mssql then elseif oracle then end if;
Это, конечно, не дело. А в остальном - так и надо.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34784773
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно сделать класс SQLSyntax, который будет отвечать на вопросы о том, как правильно делать те или иные конструкции с некоторой умолчательной реализацией (напр SQL92).

Его наследники (SQL) будут перекрывать некоторые методы, синтаксис которых отличается в разныз базах.

Еще можно поюзать паттерн ExpressionBuilder для формулирования запросов
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34784817
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginЕго наследники (SQL) будут перекрывать некоторые методы, синтаксис которых отличается в разныз базах.
Не стоит выпячивать тривиальное решение наиболее мелкой из стоящих задач. Создается впечатление, что Вы не понимаете реальной сложности проблемы и полагаете, что такого движения достаточно для полного счастья.

beluginЕще можно поюзать паттерн ExpressionBuilder для формулирования запросов
А это усиливает предыдущее впечатление.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34784985
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer[quot belugin]Его наследники (SQL) будут перекрывать некоторые методы, синтаксис которых отличается в разныз базах.
Не стоит выпячивать тривиальное решение наиболее мелкой из стоящих задач. Создается впечатление, что Вы не понимаете реальной сложности проблемы и полагаете, что такого движения достаточно для полного счастья.
[/softwarer]

Не понимаю, объясните. Сам реализовывал (принимал участие) только один раз на акцессе2 на переходный период.

Работал с такими приложениями несколько раз.

Проблемы появлялись только там где была нужна максимальная производительность на больших объемах данных.

Требуется ли это в данном случае?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34785168
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginНе понимаю, объясните. Сам реализовывал (принимал участие) только один раз на акцессе2 на переходный период.
Наибольшие проблемы вызывает не синтаксис, и даже не отличие в возможностях, и даже не производительность (хотя и с ней уже очень непросто, если пишем не записную книжку). Основная проблема - в различном функционировании разных СУБД.

Cкажем, возьмем запрос

Код: plaintext
delete from SomeTable where key in (select key from SomeTable group by key having count(*) >  1 )

Если создать одинаковую таблицу SomeTable, заполнить ее одинаковыми данными и выполнить этот оператор, например, на MSSQL и на Interbase - его результаты будут разными (если я не ошибся, конструируя пример - проверить не на чем). "Разными" - в смысле "будут удалены разные множества строк". Почему - потому что в Interbase специфически интерпретируются вложенные запросы.

Скажем, возьмем запрос

Код: plaintext
1.
select * from SomeTable where address = ''

Опять же, на Oracle и на MSSQL он вернет разные результаты. А ведь мы пользуемся, казалось бы, самыми основами языка! Если же речь зайдет например о согласованности данных в отчетах, или например о синхронизации доступа и изменения товарных остатков на складе.....
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34785230
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Код: plaintext
1.
select * from SomeTable where address = ''

Опять же, на Oracle и на MSSQL он вернет разные результаты.

Интересно, как народ работает на ERP, если такая разница существенна?
На аксфоруме, например, народ работает в основном под MS SQL, но есть и товарищи, которые работают на Оракл - как получается, что такое вообще возможно?
Не является ли данная проблема частным случаем разного синтаксиса? Существует ли запрос для Оракл, которые ведет себя также как данный запрос под MS SQL?

При переводе проекта на BAAN с BaanBase на Oracle почему-то не столкнулся с подобными проблемами (правда где-то месяц тюнили производительность). Может она на самом деле не такая и важная?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34785244
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует ли запрос для Оракл, которые ведет себя также как данный запрос под MS SQL?

конечно существует, только выглядит по другому
Код: plaintext
1.
WHERE address IS NULL
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34785339
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginНа аксфоруме, например, народ работает в основном под MS SQL, но есть и товарищи, которые работают на Оракл - как получается, что такое вообще возможно?
Не готов судить, что такое аксфорум. Большинство "универсальных" решений использует СУБД в наименьшей степени, обходясь только простейшими запросами. Скажем, в случае выше - они сделают select * from table и отфильтруют результат на сервере приложений.

beluginНе является ли данная проблема частным случаем разного синтаксиса?
Не совсем. В случае, если пустая строка задается константой, с этой проблемой в принципе можно справиться синтаксическими инструментами. Однако, если значение задается bind-переменной, или например берется из подзапроса - уже никак.

beluginСуществует ли запрос для Оракл, которые ведет себя также как данный запрос под MS SQL?
Опять же не совсем. В случае, если в MSSQL для поля задан NOT NULL, можно считать аналогом оракловый запрос с IS NULL. Однако, если поле в MSSQL допускает как NULL, так и пустую строку, этот вариант уже не пройдет.

beluginПри переводе проекта на BAAN с BaanBase на Oracle почему-то не столкнулся с подобными проблемами (правда где-то месяц тюнили производительность). Может она на самом деле не такая и важная?
Я никогда не видел BAAN и ровным счетом никак не могу прокомментировать такой переход. А насчет неважной.... ну если Вам наплевать, что приложение работает непредсказуемым образом и выдает неверные результаты, то да, не такая и важная.

У людей, плотно работающих с БД, как правило формируется довольно.. трепетное отношение к данным. Это отношение чуждо людям, рассматривающим БД просто как файл, объект информации типа "прочитал-записал". Доходит до смешного: один раз, на этом же форуме, я объяснял создателю самопального универсального решения, что его технология не обеспечивает согласованности данных. То есть, его программа, работая с корректной, целостной БД, могла напечатать следующий отчет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Текущие остатки товара "памперсы"

Склад  Кол-во 
-----  ------
Первый 10
Второй 10
Третий 10

-----  ------
Всего  50

Так вот: я так и не смог объяснить, чем это плохо. Видимо, не умею объяснять :(
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34785972
softwarer а стоит ли..сервер приложений определяет тип используемой бд и дергает нужную бд (фактически в каждом методе - if mssql then elseif oracle then end if;
Это, конечно, не дело. А в остальном - так и надо.

Это условно-упрощенно :-)))

А причина одна - производительность.
Я работал и с Hibernate'ом и с iBatis'ом (на других проектах) и могу сказать, что в конкретном случае ORM'ы не катят (либо потом искать Hibernate-экспертов от $5000).

А варианты с ANSI - синтаксисом, имхо , ни в какие ворота ... :-)))
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34787225
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Не готов судить, что такое аксфорум. Большинство "универсальных" решений использует СУБД в наименьшей степени, обходясь только простейшими запросами. Скажем, в случае выше - они сделают select * from table и отфильтруют результат на сервере приложений.


BAAN (щас называется Infor ERP LN) и Dynamics Ax (Axapta) фильтрует на сервере приложения только если ему явно про это указали. Конечно, там язык запросов гораздо беднее, чем у нормальных СУБД, но до подзапросов, например, доходит.

Еще вариант: генерировать Expression Tree а потом транслировать его в SQL (насколько я знаю, так действует LINQ и TopLink)
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34787302
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin
BAAN (щас называется Infor ERP LN) и Dynamics Ax (Axapta) фильтрует на сервере приложения только если ему явно про это указали.

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

Еще вариант: генерировать Expression Tree а потом транслировать его в SQL (насколько я знаю, так действует LINQ и TopLink)
И?

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

Разумеется, в том числе можно создать свой язык со своими строгими правилами и генерить по нему программы в той или иной целевой форме. Тут будет отдельная куча проблем, но в целом я полагаю, что для проектов определенного размаха это будет частью оптимального решения. Оптимальным я полагаю сделать следующее: большую часть проекта описывать на таком вот универсальном языке, разработав к нему адекватные инструментальные средства, и сделать возможность подключения "оптимизированных реализаций" конкретных функций для конкретных СУБД.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34788207
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю от себя ещё к связке MSSQL и Oracle.
Например функции работы с датами разные, да что там говорить про это, контактация строковых полей в запросе разная. И типы полей разные. В Oracle нет Identity, зато есть секвенции. А языки Transact SQL и PL/SQL настолько отличаются между собой, что перевести процедуру из одной СУБД в другую, бывает просто не возможно.
Лично я не представляю себе приложение, в котором реализована работа учитывающее все отличия. А если взять ещё и третью СУБД?
Как пример могу указать на 1С, под DBF заточена хорошо, а вот под MSSQL я бы этого не сказал.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34788311
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>risp
>Где можно почитать про разработку поддержки нескольких субд?

Как Вы себе это представляете?
На уровне только клиентского приложения или можете использовать сервер приложения?
Если второе, то попытайтесь вычленить необходимую функциональность клиента - на первых порах как-то зафиксировать функции интерфейса и их параметры. На уровне серверов данных реализовать по максимуму эту функциональность в хранимых процедурах. Сервер приложения переведет инвариантную (по отношению к базам данных) функцию запроса клиента в запрос к базе данных. Результат в DataSet (если SELECT)

С уважением, Владимир.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34788315
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вы скажите про ORM (Hybernate, NHybernate)
Entity Framework и DLinQ для этих целей?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34788357
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginА что вы скажите про ORM (Hybernate, NHybernate)
Entity Framework и DLinQ для этих целей?
Linq+DSL.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34788378
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевНа уровне только клиентского приложения или можете использовать сервер приложения?
Теперь посмотрите на написанное Вами и попробуйте ответить на вопрос: нафига для реализации нарисованной Вами схемы сервер приложений. Что он в данной схеме сделает такого, что будет затруднительно сделать без него?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34803065
Adventurer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вряд ли стоит задача поддерживать все существующие субд. А для 2-3 субд, можно реализовать разный синтаксис и перевести часть сложной логики на субд: с клиента вызывать хранимые процедуры. имхо это позволяет избежать ошибок с разными результатами. И сохранить ясный код программы. Только придется изучить несколько субд. Может вам подойдет такой подход.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34805192
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В свое время приходилось писать приложение как раз "под различные СУБД". В итоге вылилось, что писали под Oracle, но используя только простейшие запросы (ANSI SQL), тщательно избегая малейших фичей. Предполагалось, что вот когда оно все заработает, и ежели (и когда) возникнет потребность - будут "слегка" дорабатывать под другую СУБД. Не стоит наверно и говорить - сколько было ненужного гемора при этом и какова, тем ни менее, вероятность того что доработки оказались бы больше чем "слегка".
Кстати. насколько знаю, потребность потом так и не возникла...

softwarerПодчеркну: я в принципе верю в возможность создать "хорошее приложение, работающее с разными СУБД". Я просто подчеркиваю, что это сложно, трудоемко и дорого - затраты получаются того же порядка, что и при независимой реализации под несколько СУБД.
Согласен.




Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34807159
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кому-то будет интересно От Informix к SQL Server В статье рассказывается об особенностях переноса системы класса ERP с платформы Informix On-Line Dynamic Server на Microsoft SQL Server 2000.Ну и чтобы не было недопонимания - многие технические решения, которые мы тогда приняли, мне сейчас, по прошествии лет кажутся неверными.
Тем не менее портирование удалось осуществить за 3-4 месяца силами 2-х человек.

Подчеркну, что по моему мнению закладываться при проектировании архитектуры на поддержку разных СУБД нужно, только если есть очень веские причины делать именно так.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34809476
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovТем не менее портирование удалось осуществить за 3-4 месяца силами 2-х человек.
Я бы поставил акцент несколько по-другому. Идеальную для портирования систему, отвечающую большей части изложенных здесь универсальных рецептов, потребовалось дорабатывать 3-4 месяца, причем судя по изложенному материалу, большей частью отлавливая именно "тонкие несовместимости при корректном синтаксисе".
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34810749
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Alexey KudinovТем не менее портирование удалось осуществить за 3-4 месяца силами 2-х человек.Я бы поставил акцент несколько по-другому. Идеальную для портирования систему, отвечающую большей части изложенных здесь универсальных рецептов, потребовалось дорабатывать 3-4 месяца, причем судя по изложенному материалу, большей частью отлавливая именно "тонкие несовместимости при корректном синтаксисе". Я вообще акцент не ставил, никакой. Пусть каждый для себя решает много это 3-4 месяца или мало и в сравнении с чем.

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

Ну и напоследок - проект в итоге оказался неудачным, хотя формально был (частями) внедрен. Но это уже отдельная история.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34810854
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovНо в целом я считаю удачное портирование (пускай даже и специально заточенной под него системы) достижением,
Согласен.

Я в данном случае стремлюсь подчеркнуть тот факт, что даже в очень удачных условиях потребовалась работа, трудоемкость которой идет в бюджете отдельной и вполне солидной строкой. Конечно, интересно, каков масштаб этих цифр относительно общей трудоемкости создания системы, но пока получается так: если 3-4 месяца и 2 человека, то по московским ценам это где-то $15-30'000 зарплаты. То есть если московской организации заказать такой проект (портирование) за $50'000 - ей надо будет крепко думать, браться за него или нет.

Alexey Kudinovособенно если учесть, что я часто слышу что такое вообще невозможно.
Хм. Действительно прямо в такой формулировке и слышите? От кого?
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34810916
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ в данном случае стремлюсь подчеркнуть тот факт, что даже в очень удачных условиях потребовалась работа, трудоемкость которой идет в бюджете отдельной и вполне солидной строкой. Безусловно. Кстати ЕМНИП именно сроки ~4 месяцев заказчику и назывались, так что мы уложились.
softwarerКонечно, интересно, каков масштаб этих цифр относительно общей трудоемкости создания системы Эх... Ну как пример в той системе один АРМ после "внедрения" (т.е. подписания акта) дорабатывался чуть больше года... Что о многом говорит, но это здесь оффтоп.
softwarerТо есть если московской организации заказать такой проект (портирование) за $50'000 - ей надо будет крепко думать, браться за него или нет. Само собой.
softwarer Alexey Kudinovособенно если учесть, что я часто слышу что такое вообще невозможно. Хм. Действительно прямо в такой формулировке и слышите? От кого? Вот уж не вспомню прямо так, сходу. Флеймы где упоминаются системы под разные СУБД возникают часто (вырастают из саг он многозвенках), читаю я их по диагонали . Давайте так - когда наткнусь в очередной раз, я подниму этот топик и вставлю ссылку, если не забуду конечно :)
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34817936
СергейТТТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в чем же плюсы системы, работающей с разными СУБД ?

Если вы пишете для себя - как часто вы собираетесь менять СУБД ?
Если для продажи - проект по разработке такой системы будет в разы дороже.

Думаю, что такая архитектура оправдана только в случаях с большими планами\бюджетами.
В остальных случаях есть риск увлечься всяческими абстрактными "промежуточными" слоями и не сделать сам функционал (такое уже проходили ;)).

Причем, сам долго занимаюсь с SAP с технической точки зрения, там действительно система почти не зависит от смены СУБД. Но меняют ее в самых крайних случаях, по очень веским причинам.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34818009
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СергейТТТТак в чем же плюсы системы, работающей с разными СУБД ?
В охвате клиентов. Полагаю, клиента значительно легче уговорить, если от него не потребуется включать в зоопарк очередную СУБД, покупать лицензии на нее и искать специалистов. Особенно в случае относительно скромных проектов.

СергейТТТДумаю, что такая архитектура оправдана только в случаях с большими планами\бюджетами. В остальных случаях есть риск увлечься всяческими абстрактными "промежуточными" слоями и не сделать сам функционал (такое уже проходили ;)).
Безусловно. Лично я для себя пришел к выводу, что оптимальный подход к разработке формулируется так:

1. Не делать чего-то раньше, нежели оно реально потребовалось.
2. Не закрывать себе пути достаточно легко сделать нечто, когда оно таки реально потребуется.

Под "реально требуется" я в данном случае не имею в виду клиентов, осаживающих офис и упрашивающих таки сделать - имею в виду то, что результат окажется быстро востребован.
...
Рейтинг: 0 / 0
Разработка приложения, поддерживающего различные СУБД
    #34818495
СергейТТТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, для части клиентов при выборе системы конкретная СУБД может быть решающим фактором, при равных возможностях по функционалу.
Особенно, если сравнивать стоимость уже закупленных лицензий, опыт сопровождения, переобучение..

В случае, когда функционал системы реально нужен бизнесу, ее скорее купят "не с той" СУБД ))
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Разработка приложения, поддерживающего различные СУБД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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