|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalov, Нужна ли трехзвенка, чтобы отформатировать дискету? Мне кажется, что не нужна также как и база данных. И DBA (database administrator) к разработке кода баз данных тоже имеет далекое отношение. Я же говорю о том, что программирование на уровне объектов в базе данных (не реляционной) гораздо проще, чем писать классы, используя какой-либо язык программирования. Разница принципиальная в подходе. Классы создаются в базе, а потом на них навешивается функционал в виде dll. И второй момент, резалтсет также хранится не на клиенте, а в базе. Это дает многие преимущества. И первое из них отказ от XML. Придумки заумной и не нужной. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 16:16 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalovsoftwarerрамки стандартно доступных в СУБД возможностей работы с xml, smtp, http и прочим - а дискеты Вы тоже с помощью СУБД форматируете? Программисты могут убиться вениками - DBA решили покорить Мир! Стив Балмер в страхе ждет когда под Oracle начнут портировать игры Вам же про фотошоп аналогию привели. Её поняли все на форуме, кроме вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 16:21 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
web_foxВам же про фотошоп аналогию привели. Её поняли все на форуме, кроме вас. - поняли все DBA, которые бездумно используют PL/SQL, предназначенный для автоматизации реляционных преобразований, также как и дизайнеры профессионально владеющие Photoshop используют JavaScript для автоматизации графических преобразований? Кстати, если бла-бла про продукт который Вы не знаете (Photoshop) Вам показалось остроумным - ознакомьтесь с возможностями продукта который Вы знаете? - Oracle Spatial ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 16:37 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
KachalovGarrickПо поводу трёх/двухзвенной архитектуры скажу - многих товарищей, которые не знают PL/SQL пугает, что большая часть кода логики приложения будет написана на неизвестном им языке. - "товарищей" пугает то, что есть "полноценные" языки программирования, на которых пишутся "полноценные" программы - с документированием, с автоматическим тестированием, с мощным синтаксисом, с кучей библиотек как встроенных, так и внешних написанных сторонними разработчиками и есть PL/SQL, роль и возможности которого примерно соответствуют роли и возможностям JavaScript применительно к Photoshop. Авторы книг по методолгии программирования и по шаблонам проектирования могут смело сжигать свои труды в топках - все это никому не нужно (фактически не применимо) кода бизнес логика пишется на хранимых процедурах. Вы рассуждаете с точки зрения программиста - вам удобнее писать на чём-то не PL/SQL. Вы считаете, что это "круче". Но когда встанет вопрос об обработке миллионов записей в приемлемое время (сведение баланса в крупном банке), вы поймёте в чём разница. Если ваш APP-сервер сможет обработать одну-две записи в секунду (за сутки не уложитесь), то такая же обработка непосредственно внутри СУБД того же самого количества записей быстрее в десятки раз. Пусть язык СУБД немного кривоват, но он позволяет делать всё, что надо с очень высокой производительностью, ведь Oracle для этого нужен, а то бы Access поставили. Как говорится "вам шашешки или ехать?" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 17:49 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Человек проповедует ORM где может, но не знает что такое план запроса и зачем люди придумали журнал транзакций. Основные симптомы болезни: 1. ORM в отличии от СУБД позволяет кешировать лучше. 2. Java в отличии от процедурного ЯП СУБД работает быстрее. Попробуйте выполнить в транзакции 1000 merge для объекта в ORM и 1000 update в БД и сравните производительность. 3. В реальном приложении не нужны реляционные данные, оно оперирует бизнесориентированными объектами, по работе с которыми и надо судить о производительности. 4. Java-код масштабируется дешевле и проще чем СУБД. Диагноз уже выставлен. 9545073 1024Kachalov1024Выучи скл. Выучи Assembler - реально работает быстрее дурак ты. При работе с данными средства оракла всегда будут лучше любой твоей приблуды. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 22:04 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Ещё один отличительный признак: всех, кто знает PL/SQL он называет DBA. Будьте осторожны на улице, он может жить в вашем городе. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 22:09 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
web_foxЕщё один отличительный признак: всех, кто знает PL/SQL он называет DBA. Будьте осторожны на улице, он может жить в вашем городе. - кстати, просвятите как их называть? Симптомы: без БД Oracle ничего сделать не может (в том числе и на других базах), пишет бизнес-ориентированную логику на PL/SQL, не программист, но уверенно рассуждает о недостатках ORM и Java. Некоторые экземпляры отличаются неумением вести разумные дискуссии и легко переходят на личности. Что касается шуток на тему "осторожности на улице" - я в отличие от многих моих оппонентов не скрываюсь за анонимной подписью и все кому моя точка зрения чем-то не нравится могут запросто обойти меня сторонкой не привлекая к себе внимания ;) web_fox1. ORM в отличии от СУБД позволяет кешировать лучше. 2. Java в отличии от процедурного ЯП СУБД работает быстрее. Попробуйте выполнить в транзакции 1000 merge для объекта в ORM и 1000 update в БД и сравните производительность. 3. В реальном приложении не нужны реляционные данные, оно оперирует бизнесориентированными объектами, по работе с которыми и надо судить о производительности. 4. Java-код масштабируется дешевле и проще чем СУБД. - все верно сформулировали (спасибо за внимательное изучение некоторых из моих высказываний на тему ORM и достаточно аккуратное их изложение), только во 2 пункте не все понятно - я бы под ним подписался, если бы речь шла об одной транзакции в рамках которой выполняются операции и слово "Java" (это ЯП) заменил бы на ORM (это он быстро выполняет операции над данными загруженными в ОП, а сам ORM может быть реализован на различных ЯП). Какие-то пункты (например 1, где слово "лучше" можно трактовать как угодно или слово "не нужны" в п. 3) можно было бы развернуть, чтобы не провоцировать бессмысленный агрессивный флуд. Также где-то писал что ORM обычно дают возможность выполнения нативных SQL-запросов и в задачах требующих редкой обработки больших массивов данных (составление годового отчета) эту возможность никто не запрещает использовать. GarrickВы рассуждаете с точки зрения программиста - вам удобнее писать на чём-то не PL/SQL. - именно эту точку зрения я и пытаюсь донести: PL/SQL по сравнению с другими языками программирования не удобен, а бизнес-логика это не 3 строчки кода, в связи с чем разработка развитого приложения требует комманды программистов, удобных инструментов разработки и отладки, и т. д. (об этом написано много разных книг). Можно спорить на тему что удобней для написания бизнес приложений: C#, Java, Python, Delphi и т. д., но добавить в этот список PL/SQL просто невозможно - это как вместе с лошадьми сравнивать стати ишака, который эффективно решает возложенные на него задачи, но требовать от которого победы в дерби просто смешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 00:22 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
один мой коллега как-то сказал: "ОРМ дает возможность программисту, совершенно не разбирающемуся в СУБД, написать приложения для работы с БД" Откуда, собстенно, и начинаются все проблемы. пассаж про "никто не мешает вынести обработку больших массивов данных в нативный скуль" - порадовал до слёз. у меня складывается впечатление, что кто-то что-то упустил ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 03:20 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
lockyодин мой коллега как-то сказал: "ОРМ дает возможность программисту, совершенно не разбирающемуся в СУБД, написать приложения для работы с БД" - чепуха, использование ORM, как минимум требует навыков работы с транзакциями и уровнями изоляции транзакций СУБД, а также знания SQL на уровне уверенного использования оператора JOIN, в противном случае даже элементарных вещей с помощью ORM сделать скорее всего не удастся lockyОткуда, собстенно, и начинаются все проблемы. - согласен lockyпорадовал до слёз - я слабый телепат, хотите что-то сказать - говорите ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 09:35 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalovlockyпорадовал до слёз - я слабый телепат, хотите что-то сказать - говорите как правило, расчеты отчетов за "большие" и "малые" периоды отличаются только собственно периодом. И если кто-то говорит, мол "а за большие периоды мы будем считать отчет при помощи ХП/запросов/на стороне сервер" - это может (но не обязательно) означать, что где-то рядом витает мысль о том, что у нас будет 2 точки расчетов - на клиенте/апп сервере - для "малых" периодов, и на скуле - для "больших". Возможно, я ошибаюсь, но ежели нет - то такой подход меня радует до слёз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 10:51 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
lockyВозможно, я ошибаюсь, но ежели нет - то такой подход меня радует до слёз. - давайте закончим с телепатией - я не говорил что должно быть две способа генерации отчетов, суть моего тезиса: наличие ORM не лишает возможности использования нативных SQL-запросов в тех случаях в которых это может показаться необходимым архитектору системы. Моя личная точка зрения - обработки больших объемов данных (таких которые система не может обработать за приемлемое время) вообще быть не должно, если такая задача/проблема возникает это говорит о неправильной (не соответствующей фактическим требованиям) архитектуре приложения/базы не учитывающей особенностей бизнес процесса (вот гоблины сейчас начнут надо мной глумиться). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 11:05 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
[quot Kachalov]lockyМоя личная точка зрения - обработки больших объемов данных (таких которые система не может обработать за приемлемое время) вообще быть не должно, если такая задача/проблема возникает это говорит о неправильной (не соответствующей фактическим требованиям) архитектуре приложения/базы не учитывающей особенностей бизнес процесса (вот гоблины сейчас начнут надо мной глумиться). Когда возникает задача по обработке больших наборов данных необходимо разбить ее на части, каждая из которых может быть выполнена отдельно. Такая схема будет действительно масштабируемой, а вот насколько масштабируем PL/SQL скрипт - большой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 13:38 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalov, авторМоя личная точка зрения - обработки больших объемов данных(таких которые система не может обработать за приемлемое время) вообще быть не должно Я бы не стал так говорить. Не должно быть таких систем, которые за приемлемое время не могут обработать большие объемы данных. Хочу спросить знает ли кто как идет обработка телефонных звонков в биллинговых системах? Ведь там ежечасно нужно обрабатывать миллионы записей иначе большие объемы данных. Какое решение приемлемо? Трехзвенка? DBA? Причем режим работы был следующий. Если не будет работать программа, то будете сами вручную сидеть и делать начисления на клиентов так как это реальные деньги бизнеса. Поневоле не будешь рассуждать и брать ... Так что собственно будем использовать в этом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 15:11 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
PanshinKachalovМоя личная точка зрения - обработки больших объемов данных(таких которые система не может обработать за приемлемое время) вообще быть не должно Я бы не стал так говорить. Не должно быть таких систем, которые за приемлемое время не могут обработать большие объемы данных. Хочу спросить знает ли кто как идет обработка телефонных звонков в биллинговых системах? Ведь там ежечасно нужно обрабатывать миллионы записей иначе большие объемы данных. - давайте доведем ситуацию до абсурда: у Вас имеется таблица в которой хранятся данные биллинга абонентов РФ за 5 лет, т. е. заведомо обработка такого массива данных не реальна, следовательно надо проанализировать задачу и решить: необходимо ли работать одновременно со всеми данными из этой таблицы? т. е. актуальны ли хранимые в ней данные. Ответ очевиден - в большинстве случаев иметь доступ ко всем данным за 5 лет или по всем регионам РФ нет необходимости. Более подробно о возможном решении задачи в Гугле - партиционирование (partitioning). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 15:35 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalovпартиционирование (partitioning). - забыл добавить, что мне кажется более логичным когда задача партиционирования ложится не на СУБД, а на архитектора проекта, который исходя из предполагаемого объема данных и связанных с ними задач осуществляет партиционирование на этапе планирования структуры данных ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 15:41 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalov, ну и причем тут, простите, партиционирование? В намечающемся противостоянии "логика в хп" - "логика вне хп"? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 15:44 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
lockyну и причем тут, простите, партиционирование? В намечающемся противостоянии "логика в хп" - "логика вне хп"? - весь Мир сошел с ума? или Panshin это то же самое что и locky ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 16:11 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalov, другие аргументы? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 16:18 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
lockyдругие аргументы? - кто здесь? чего Вам от меня-то надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 16:38 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalovlockyдругие аргументы? - кто здесь? чего Вам от меня-то надо? От вас лично? Ну, мне было бы интересно узнать, как лично вы видите развитие систем, принципы их правильного построения и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 16:47 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
lockyНу, мне было бы интересно узнать, как лично вы видите развитие систем, принципы их правильного построения и т.д. - юмор оценил, а конкретно по данной теме моя точка зрения в немного карикатурном виде изложена товарищем web_fox в посте 10137530 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 16:56 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
KachalovlockyНу, мне было бы интересно узнать, как лично вы видите развитие систем, принципы их правильного построения и т.д. - юмор оценил, а конкретно по данной теме моя точка зрения в немного карикатурном виде изложена товарищем web_fox в посте 10137530 Понятно. пристрастие к "бизнес-объектам" и прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 17:11 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Весь прогрессивный мир движется в сторону трехуровневой архитектуры, а тут так элегантно объяснили, что вы типа, прогрессивный мир, не туда рулите:). А если серьезно, то данный документ просто курам на смех. Но хорошо хоть последнее предложение все объясняет: автор ...среда разработки Delphi хорошо известна IT-специалистами... читать как - "а больше все равно нечего и не знают". С этого и надо было начинать. На счет 2-звенки вот например статья , где приводятся некоторые аргументы которые в рамках полного жизненего цикла ПО более значимы, чем " среда разработки Delphi хорошо известна IT-специалистами ". Может сменить таких специалистов . А насчет Delphi было бы интересно узнать вот что: на сколько я знаю за бугром Delphi скорее мертв чем жив. То есть мощного сообщества вокруг этого добра нет. Да и Embarcadero, далеко не Oracle или Microsoft. Как там на счет развития системы? Если взять например платформу .NET, то она может похвалится достаточно динамично развивающимся C#. В Java, хоть компания Sun и создала некоторый застой в спецификации языка, активно работает сообщество предлагаю множество каркасов на все случай жизни, да еще и большинство даром. А у делфей как? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 17:45 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
Kachalov, Опять двадцать пять. Хотя я спрашивал о решении задачи обработки звонков в реальном времени. Но можно говорить и о массиве за 5 лет. Разве вы решаете абсурдна обработка пятилетнего массива или нет? Вы должны это сделать. При такой постановке задача с программистской территории явно склонилась в сторону DBA. Или вы будете писать под эту задачу трехзвенку с клиентом? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 18:23 |
|
Ответ разработчика
|
|||
---|---|---|---|
#18+
SergeyAKM, Я почитал немного вашу ссылку. авторСпросите любого разработчика, где должна быть бизнес логика, и получите ответ: «Конечно же в бизнес слое». Вот одна из цитат. 1. Неверно, что разработчика. Я бы сказал "Спросите разработчиков", так как трехзвенка никогда не пишется в одиночку. Поверьте, я сидел в программистском обезьяннике со стеклянными стенами. Трехзвенку пишут начиная с 5-10 разработчиков. Сами посудите клиент, движок, база данных, генераторы всякие, руководитель проекта, bla-bla 2. Кто отказывается от ответа «Конечно же в бизнес слое». Да, она вся там и лежит и лежала, но сам бизнес слой находится в базе, а не на сервере приложений. А то как-то неудобно получается: база - отдельно, а бизнес логика - отдельно. Баня, а через дорогу раздевалка. 3. А мир пусть катится. Мало ли что в мире происходит. Ктото пьет, ктото курит. Что же и мне запить и закурить? Это не аргумент. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 18:36 |
|
|
start [/forum/topic.php?fid=33&msg=37082360&tid=1548108]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 444ms |
0 / 0 |