|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Добрый день. Почитав недавние ветки форума про организацию крупных систем появился вопрос по традиционной структуре приложения. До сего времени я использовал подход - в БД хранятся данные, обработка данных же вынесена на серверное приложение(php например). Особых неудобств при этом я не ощущал. После прочтения нескольких постов стал задумываться о необходимости всю обработку данных производить на логике сервера базы данных - хранимки, триггеры и виды. Т.е. в коде скриптов мы только вызываем функции из базы данных. Насколько такой подход имеет место быть? И вообще какие схемы работы используете вы? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 13:34 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Wade, win или маки? - поровну тех и тех "странные мысли о.." http://www.sql.ru/forum/actualthread.aspx?tid=33967&hl=%f1%f2%f0%e0%ed%ed%fb%e5+%ec%fb%f1%eb%e8 Зы в IT нет традиций :) ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 14:57 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
У нас вся логика на ХП (МССКЛ). Это очень удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 15:16 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
LSVУ нас вся логика на ХП (МССКЛ). Это очень удобно. View используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 15:20 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Wade... всю обработку данных производить на логике сервера базы данных - хранимки, триггеры и виды. ... Насколько такой подход имеет место быть? Мысль правильная. Вот только переписывайте кусками, а то когда хватаешь все и сразу такое УГ получается что ... В каждом сарайчике свой бардачок. И чем сарайчик больше тем бардачка больше. Нормальные конторы которые не экономят на этом - не в счет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 18:28 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
WadeLSVУ нас вся логика на ХП (МССКЛ). Это очень удобно. View используете?Конечно используем. Не используем триггеры, т.к. вся логика строго в ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 18:41 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Одна печаль - он не масштабируется в принципе. Т.е. ты не сможешь поставить 200 серверов в кластер. В принципе не сможешь. Даже теоретически. Схемы можно использовать самые разные. Нужно просто понимать суть задачи, требования к нагрузке и так далее. К примеру есть системы, которые лупят по 40000 финансовых транзакций в секунду (по десять записей в базы данных на транзакцию). Или по 2 миллиона нефинасовых (твиттеры всякие). Как думаешь, сдюжил бы такой объем эМэсысыкыл сервер c его T-SQL? Насчет маштабируемости я действительно уже задумался и тогда непонятно каким образом это организовать. Задача в следующем - в день есть примерно 20000 фин операций. Сейчас логика обработки поступивших операций обрабатывается сервером приложений. Есть ли смысл переписывать на обработку на сервере бд? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 20:19 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
На самом деле Вполне. Обоснование первое - Vendor Lock. Никуда с MSSQL/Windows ты уже не слезешь. Обоснование второе - T-SQL это недоразвитый язык. К примеру в нем нет понятия пакетов, как в Oracle или PostgreSQL. И глобальных переменных с ограничением области видимости нет. И вообще там много чего нет. Т.е. даже модульность отсутствует напрочь. Т.е. это эдакий мазохизм. Писать на весьма примитивном языке, да еще и не на мейнстрим платформе. Вот этот "выбор" - и есть признак не очень большого ума. Выбор лузера. Имеется ввиду не привязываясь к платформе. Какая разница на чем писать хранимки? На MSSql или Postgres? Я хотел бы понять стоит ли логику сервера приложей максимально переносить на сервер баз данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 20:23 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Этот "объем" сдюжит любой слабомощный писюк, целерон 2003 года выпуска с винчестером на 5400 оборотов и 256 мегабайт памяти. Смысл переписать - конечно есть. Это сократит стоимость разработки в разы, и в разы увеличит скорость работы. Если уметь переписывать. Только сервер БД стоит взять поприличнее (в плане развитости встроенного языка и инструментов разработки под него). Работать там, где нет понятия модуля (добавляя вместо этого к каждой процедуре префикс вида SalesManagement, типа SalesManagementGetClientID, SalesManagementGetClientContactTermsData), и наблюдая потом десятки тысяч таких "процедур" одним списком - не очень большое удовольствие. MSSQL я бы в принципе не брал. Если хочется платного - проще купить Oracle самых дешевых редакций. Сервер БД Postgres и меняться не будет. Разрабатывать все же проще на более развитых языках) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2011, 20:32 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
не устраивайте холивар. Респект и уважения вызывают не те продукты где используются функции, процедуры и нет запросов запрограммированных в коде, а те которые работают как должны и как часы. А остальное все Ваше собственно ИМХО.(относить не только к автору цитируемого поста)! 2ТС прежде чем переводить Ваш код на сервер бд, подумайте сколько проблем это вызовет у Ваших пользователей. Никакого холивара. Я абсолютно спокойно отношусь в любым технологиям. Взвесив все за и против сделал выводы: - Писать код для сервера БД сложнее за отсутствием нормальных сред разработки и неразвитости языка в целом. - Код на сервере БД может обслужить только это хранилище данных(?) отсюда минус по маштабируемости +При написании кода на сервере БД вся обработка данных производится в одном месте - тут плюс по безопасности Но все таки сервер приложений можно в любом случае написать более гибкий мое мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 14:10 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Wade- Писать код для сервера БД сложнее за отсутствием нормальных сред разработки и неразвитости языка в целом. PSQLDeveloper + программист "Разработчик БД". Или у вас профессия врач - один на всех? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 16:26 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Petro123PSQLDeveloper + программист "Разработчик БД". Или у вас профессия врач - один на всех? PSQLDeveloper - можно по подробнее. Гугл говорит только о SQLDeveloper от Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 17:03 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
WadeНо все таки сервер приложений можно в любом случае написать более гибкий мое мнение.И много Вы этих серверов написали ? Ну хотя бы 10 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 17:37 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
LSVWadeНо все таки сервер приложений можно в любом случае написать более гибкий мое мнение.И много Вы этих серверов написали ? Ну хотя бы 10 ? Пять точно будет. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 17:44 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2011, 17:45 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Люди, здесь есть форум "Сравнение СУБД". Дуйте туда с баталиями "Oracle vs MSSQL vs счеты". WadeДо сего времени я использовал подход - в БД хранятся данные, обработка данных же вынесена на серверное приложение(php например). Особых неудобств при этом я не ощущал. После прочтения нескольких постов стал задумываться о необходимости всю обработку данных производить на логике сервера базы данных - хранимки, триггеры и виды. Т.е. в коде скриптов мы только вызываем функции из базы данных. Насколько такой подход имеет место быть? И вообще какие схемы работы используете вы? Подход очень даже имеет место. А иначе зачем было бы вообще придумывать такой функционал для серверов БД? Подход разумный, только не надо кидаться из крайности в крайность. Я логику обработки данных стараюсь держать поближе к данным - как раз ХП, триггеры, View. При этом стараюсь спроектировать и реализовать функционал в БД так, чтоб можно было выдать эту базу практически любому программисту для написания UI и быть уверенным в том, что он не сможет с этой базой работать некорректно. Разумеется, такая инкапсуляция не на 100% обеспечивается, но позволяет существенно упростить жизнь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 08:17 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
На самом делеWade- Писать код для сервера БД сложнее за отсутствием нормальных сред разработки и неразвитости языка в целом. Для PL/SQL есть с десяток IDE с полным набором свистелок, от пошагового отладчика, до профайлера с дебаггером. Упомянуты PSD - один из них. По развитости именно языковых средств (а не библиотек) PL/SQL не уступает Java (разве генериков нет), а местами его превосходит на порядок (особенно в том, что заточено на работу с курсорами SQL). "...PL/SQL не уступает Java" Ну вот, сразу видно - настоящий знаток PL/SQL! ))) Давно мучает вопрос - как бы в PL/SQL с массивами/коллекциями поудобнее поработать (ну, три способа, которые мне известны - они какие-то убогие по сравнению с ICollection) Или вот, как бы строку по пробелам split'ануть без изобретения своей вело-функции? Да, это наверное к вопросу о библиотеках... но интересно, чем же обусловлен дефицит библиотек для такого славного языка? Да, согласен, если рассматривать java/c# на уровне процедурного программирования в объеме 1-курса второсортного вуза - может быть, ты и прав конечно ) Но PL/SQL - это в первую очередь PL. А Java - ООП. Только динозавры могут сравнивать это "по развитости" ;-) И еще по поводу IDE. Во многих ли из этого "десятка IDE с полным набором свистелок" в комплект свистелок входит, например, интеграция с какой-либо системой контроля версий? Ну кроме Oracle SQL Developer'a? PSD в принципе imho лучшее из всего этого зоопарка говноIDE, но и там тот же subversion только через cвязку TortoiseSVN + плагин работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 10:02 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
[quot barser]На самом делепропущено... Кстати, вот еще по поводу продвинутости PLSQL Developer.... Согласитесь, крайне редко, но все-таки ведь бывает используется функция "Поиск"/"Поиск и замена"(Ctrl-F). Вот скрин из 8-ой версии PSD... На нем красным выделил то, что мне вообще непонятно. 1997 - 2010! Это 13 лет, блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 10:12 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
barser, Search (Next) выполняет действия пошагово. All - все в пакете. Selection - предоставляет возможность сужения области видимости только выделенным текстом все в общем-то стандартно для подобных сервисов ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 10:22 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
iscrafmbarser, Search (Next) выполняет действия пошагово. All - все в пакете. Selection - предоставляет возможность сужения области видимости только выделенным текстом все в общем-то стандартно для подобных сервисов Отлично, спасибо за разъяснение. Вот только я мышке предпочитаю хоткеи. И что же я получу при нажатии Alt-L ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 10:27 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
barserИ что же я получу при нажатии Alt-L ? попробуйте. Я не пользуюсь этим продуктом. Но по логике - в зависимости от контекста, так называемое "первое событие". А может просто банальная ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 10:47 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
barser, ты в курсе, что PHP уделывает Jav'у при работе со строками, т.е. в веб-проектах? Так что, никто Jav'у c PL не сравнивал :) Было ошибочно сказано, что БЛ в БД писать плохо и неудобно. Это сказал стоматолог про работу проктолога. ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 11:26 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
мы в последние лет 5 используем БД только для хранения данных. никаких ХП с бизнес логикой. Вся логика на сервере приложения, связь с БД через ORM. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 11:30 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Petro123barser, ты в курсе, что PHP уделывает Jav'у при работе со строками, т.е. в веб-проектах? Рад за них ) Я так понимаю, ты приводишь PHP в качестве современного процедурного языка... Вообще не в курсе что там и как, насколько это гибко и удобно сопровождать, но раз он активно развивается - наверное, удобно... В таком случае я зря все процедурные языки подстриг под одну гребенку ) Petro123Так что, никто Jav'у c PL не сравнивал :) Ну значит, показалось. alneoмы в последние лет 5 используем БД только для хранения данных. никаких ХП с бизнес логикой. Вся логика на сервере приложения, связь с БД через ORM. 3 активных проекта: 2 с БЛ в ХП, 1 - ORM (Nhibernate). Субъективно - на ORM'e всё сильно проще и удобнее. На месте ТС без крайней нужды я бы в ХП не лез. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 13:08 |
|
Вопрос по структуре корпоративного ПО
|
|||
---|---|---|---|
#18+
Petro123barser, ты в курсе, что PHP уделывает Jav'у при работе со строками, т.е. в веб-проектах? А уж насколько perl уделывает PHP при работе со строками, ты не в курсе, видать? Логика у тебя типа "Сегодня пасмурное, поэтому берем PHP" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 13:13 |
|
|
start [/forum/topic.php?fid=33&msg=37307903&tid=1548029]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 414ms |
0 / 0 |