|
![]() |
#1 |
Участник
|
IMHO, не достаточно объективный подход в статье. В частности, авторы упускают в статье следующие аспекты.
1. Двухуровневая архитектура клиент-сервер, которая так ярко описывается в статье, в настоящее время уже устарела. И ей на смену пришла трехуровневая. 2. Одним из факторов не использования хранимых процедур и примитивного SQL является кросс-платформенность. 3. Для OLTP систем тяжелые процедуры и тяжелые SQL-запросы в совокупности с тяжелыми триггерами не всегда оптимальны. Могут возникнуть тяжелые блокировки, что будет тормозить работу пользователей на OLTP операциях. Чем больше пользователей в системе — тем актуальнее проблема. Альтернативный подход к решению проблемы можно посмотреть в Аксапте в процедуре многопользовательского закрытия склада. 4. Запросно-триггерное программирование имеет узкое место — сервер БД. Двухзвенка тяжело масштабируется. У вас есть только один вариант — наращивать ресурсы сервера БД. Либо делать распределенные БД. Последнее далеко не всегда приемлемо или эффективно. А отдача от дополнительных вложенных ресурсов в одну коробку имеет тенденцию к снижению, начиная с определенного предела. То же самое касается большого количества машин в кластере. Сервера приложения масштабировать легче, а при их использовании нагрузка на ресурсы серверов БД снижается. В общем, необходим сбалансированный подход. |
|
![]() |
#2 |
Участник
|
Цитата:
Согласен, что нужен сбалансированный подход. |
|
![]() |
#3 |
Участник
|
Цитата:
Алгоритмы же обработки данных, к которым наши основные претензии, одинаковы, что в трехзвенке, что в двухзвенке, как и сказано в статье. Цитата:
Цитата:
Сообщение от glibs
![]() 3. Для OLTP систем тяжелые процедуры и тяжелые SQL-запросы в совокупности с тяжелыми триггерами не всегда оптимальны. Могут возникнуть тяжелые блокировки, что будет тормозить работу пользователей на OLTP операциях. Чем больше пользователей в системе — тем актуальнее проблема. Альтернативный подход к решению проблемы можно посмотреть в Аксапте в процедуре многопользовательского закрытия склада.
Цитата:
Сообщение от glibs
![]() 4. Запросно-триггерное программирование имеет узкое место — сервер БД. Двухзвенка тяжело масштабируется. У вас есть только один вариант — наращивать ресурсы сервера БД. Либо делать распределенные БД. Последнее далеко не всегда приемлемо или эффективно. А отдача от дополнительных вложенных ресурсов в одну коробку имеет тенденцию к снижению, начиная с определенного предела. То же самое касается большого количества машин в кластере. Сервера приложения масштабировать легче, а при их использовании нагрузка на ресурсы серверов БД снижается.
|
|
![]() |
#4 |
Модератор
|
Цитата:
Цитата:
Поэтому, для того, чтобы быть «кросс-платформным», подъязыку SQL-axapta следует догонять стандарты SQL-92 и SQL-2000, а не оставаться в реликтовых диалектах.
![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#5 |
Участник
|
Цитата:
На примере той же Аксапты хорошо это просматривается (3-я версия работает в режиме толстого и "полутонкого" (в смысле не классический mainframe терминал) клиента). Это вопрос терминологии, но при реализации трехзвенки клиент не обязан быть предельно тонким, как вы пишете. Я на терминалах не комплексную. Даже браузер не является тонким клиентом с т.з. классической теории. В общем, я не сторонник терминалов, а сторонник распределения обработки информации по трем узлам (хранилище - прикладной сервер - клиент). При таком подходе можно выиграть на трафике. И последний для вас пример. Решает ли (упростим формулировки в предложениях) MS SQL (пусть будет с использованием T-SQL) задачи построения сложной отчетности? А для чего тогда MS выпустил OLAP? PS. Я сам довольно часто использую прямые запросы к базе. Практически всегда работает быстрее. Но в базе в таких случаях я, как правило, работаю один. А запросы использую для решения аналитических задач, чаще разового характера. (Чтобы никто не подумал, что я враг SQL). |
|