Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
betelgeizex,
2003год. Тут плюсы и минусы)
Странные мысли о 3-звенном приложении
7 мар 19, 16:24    [21827528]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
Petro123,

Да, я тот топик читал в реальном времени - эпичный срач был ))
Но это было в ветке Delphi - а там с трехзвенкой не дружат до сих пор. Ну не предназначен для этого инструмент.

Ну и технологии развиваются, требования опять же расширяются. Аргументов у двузвенщиков всё меньше и меньше )
7 мар 19, 16:38    [21827535]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
betelgeizex,
Да. Дельфи как бы для двухзвенки отличный ЯП.
Трехзвенка больше в java. Чуть меньше в шарп т.к. В java аппСерверов штук 10 на выбор.
7 мар 19, 16:49    [21827548]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
tunknown
Member

Откуда:
Сообщений: 636
betelgeizex
А могут процедуры в БД масштабироваться отдельно от таблиц? Нет!
Странный вопрос. Упрощённо- процедура есть набор запросов.

Перефразируя:
Могут http запросы масштабироваться отдельно от Nginx?
7 мар 19, 17:02    [21827572]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
tunknown
betelgeizex
А могут процедуры в БД масштабироваться отдельно от таблиц? Нет!
Странный вопрос. Упрощённо- процедура есть набор запросов.

Перефразируя:
Могут http запросы масштабироваться отдельно от Nginx?


Это слишком упрощенно )

Процедура - это исполняемый код, который выполняется внутри процесса SQL сервера.

Конечно, процедуры используют SQL-запросы для обращения к таблицам этой же самой БД, но помимо запросов содержат операторы, переменные, функции итп.

Фактически, ХП выступают клиентом для SQL-движка СУБД. Таким же клиентом, как любая внешняя программа (на С#, к примеру),
за исключением того, что выполняются в том же процессе, что и SQL-движок.

Но если внешнее приложение можно запросто запустить во множестве экземпляров на разных хостах, то ХП всегда на одном хосте - где СУБД.
7 мар 19, 18:23    [21827642]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
tunknown
Member

Откуда:
Сообщений: 636
betelgeizex
Фактически, ХП выступают клиентом для SQL-движка СУБД. Таким же клиентом, как любая внешняя программа (на С#, к примеру),
за исключением того, что выполняются в том же процессе, что и SQL-движок.
Насколько помню, так простенько только в процедурах mysql, на Postgre всё грамотнее.

betelgeizex
Но если внешнее приложение можно запросто запустить во множестве экземпляров на разных хостах, то ХП всегда на одном хосте - где СУБД.
Отсутствие горизонтального масштабирования было упомянуто ранее.
7 мар 19, 18:52    [21827657]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
tunknown
Member

Откуда:
Сообщений: 636
betelgeizex
Но если внешнее приложение можно запросто запустить во множестве экземпляров на разных хостах, то ХП всегда на одном хосте - где СУБД.

Кластеризация устраняет некоторые проблемы.
7 мар 19, 18:57    [21827664]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 4710
betelgeizex
Но если внешнее приложение можно запросто запустить во множестве экземпляров на разных хостах, то ХП всегда на одном хосте - где СУБД.

ХП можно запустить из множества экземпляров внешнего приложения на разных хостах. И она (ХП) будет выполняться параллельно во множестве сессий (ну, если запрашиваемые блокировки позволят).
Это не в защиту бизнес-логики в БД, это так, мимоходом.
7 мар 19, 19:15    [21827669]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
tunknown
Member

Откуда:
Сообщений: 636
Сон Веры Павловны
ХП можно запустить из множества экземпляров внешнего приложения на разных хостах. И она (ХП) будет выполняться параллельно во множестве сессий (ну, если запрашиваемые блокировки позволят).
Верно, без учёта блокировок sql сервер делает параллелизм "из коробки" без каких либо дополнительных действий. Вдруг, кто не знает.
7 мар 19, 19:21    [21827673]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
tunknown
betelgeizex
Но если внешнее приложение можно запросто запустить во множестве экземпляров на разных хостах, то ХП всегда на одном хосте - где СУБД.

Кластеризация устраняет некоторые проблемы.


Статья, которую вы прислали, говорит про кластер master-slave. Он решает проблемы доступности, а не производительности.

Активный хост там всегда один. ХП будут выполняться только на нем ( ОК, read-only ХП можно и на слэйвах пускать, но это просто вопрос кэширования )

Это не про масштабируемость...
7 мар 19, 20:03    [21827691]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
tunknown
Сон Веры Павловны
ХП можно запустить из множества экземпляров внешнего приложения на разных хостах. И она (ХП) будет выполняться параллельно во множестве сессий (ну, если запрашиваемые блокировки позволят).
Верно, без учёта блокировок sql сервер делает параллелизм "из коробки" без каких либо дополнительных действий. Вдруг, кто не знает.


Вы о чем? Что sql-сервера многопоточны? Это очевидно)

Мы можем запустить ХП в тысячах сессий параллельно, но все они будут выполняться на одной железке, с фиксированным числом процессорных ядер, памятью и дисковым IO. Вы не сможете поставить рядом вторую железку и перенести часть нагрузки на нее.

Это не про масштабируемость.. тоже.
7 мар 19, 20:10    [21827696]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3640
betelgeizex,

это не так
Процедура - это код, алгоритм

Если данные шардированы, то процедуры могут параллельно исполнятся на каждом хосте.
Также как исполнимая часть серверов приложений - физически тоже на дном сервере.
7 мар 19, 20:22    [21827699]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
Arm79
betelgeizex,

это не так
Процедура - это код, алгоритм

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


Что именно не так? ) Мы тут много тем обсуждаем...

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

И всё равно понадобится сервер(а) приложений, чтобы шарды собрать вместе, ибо пользователям пофиг, какого года заказ... интерфейс-то единый.

И зачем тут еще один слой в виде ХП? <тут удивлённый смайл>
7 мар 19, 20:57    [21827722]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ViPRos
Member

Откуда:
Сообщений: 9510
tunknown
Сон Веры Павловны
ХП можно запустить из множества экземпляров внешнего приложения на разных хостах. И она (ХП) будет выполняться параллельно во множестве сессий (ну, если запрашиваемые блокировки позволят).
Верно, без учёта блокировок sql сервер делает параллелизм "из коробки" без каких либо дополнительных действий. Вдруг, кто не знает.

А блокировки никто нигде не отменяет
7 мар 19, 21:05    [21827724]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
betelgeizex
Member

Откуда:
Сообщений: 52
ViPRos
tunknown
пропущено...
Верно, без учёта блокировок sql сервер делает параллелизм "из коробки" без каких либо дополнительных действий. Вдруг, кто не знает.

А блокировки никто нигде не отменяет


Ну, известные мне СУБД позволяют явно управлять транзакциями в процедурах - тут принципиальной разницы с серверами приложений нет..
Минимизировать update-транзакции надо независимо от технологии. MS SQL 2000 рекомендует )))
7 мар 19, 21:41    [21827739]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145559
ВМоисеев
Я уткнулся в максимальный размер перемещаемого блока данных по каналу WCF, примерно 40 КБайт.


Интернет
Иногда бывает так что ваш ответ от сервера слишком большой и клиент говорит что превышен максимальный размер сообщение в 65536.
В таком случае в app.config (или web.config) клиента нужно указать максимальный размер сообщения которое может получить клиент, например - maxReceivedMessageSize="2147483647" - это примерно 2GB. Это максимальное значение.

Хотя перемещать такие объемы по сети - дурость
8 мар 19, 09:11    [21827832]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1891
>Cat2, сегодня, 09:11 [21827832]
>Хотя перемещать такие объемы по сети …
<
Это как посмотреть.
Если человек имел дело с фокспро (например), то для него это будет неприятная новость.
Я же поступаю так - режу выборку по вертикали (примерно 250 строк) и отсылаю на клиента только оставшиеся строки, зажигая одновременно фонарь на клиенте - уточни запрос. Но иногда так сделать нельзя - выборку загоняю в файл, и информацию на клиента перегоняю из файла, но уже другими запросами (короче говоря неизбежная возня). Если у кого другие варианты - подскажите.
8 мар 19, 12:43    [21827915]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
ВМоисеев
Если у кого другие варианты - подскажите.
постановки задачи от тебя нет.
Ты любишь рассказывать как ты написал код, а вот зачем он нужен не умеешь.
Так и тут. Зачем клиенту 3 гига данных, если сотовые с памятью 200 мегов?
8 мар 19, 14:13    [21827961]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 1690
ВМоисеев
Если у кого другие варианты - подскажите.

Варианты чего?

Видео в FullHD качестве по сети передают, а Вы уткнулись в 40 КБ
8 мар 19, 14:21    [21827964]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1891
>Дмитрий Мух, сегодня, 14:21 [21827964]
>Варианты чего?
<
Работы с большими выборками.
8 мар 19, 16:37    [21828026]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1891
>Petro123, сегодня, 14:13 [21827961]
>постановки задачи…
<
Имеется большая база данных. Если не задавать параметры фильтра при запросе - в выборке получишь всю базу, 10 тыс.стр. Как поступаешь?
Ещё более худший вариант - у тебя 10 пользователей с аналогичными запросами. И ты используешь WCF?
8 мар 19, 16:46    [21828029]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145559
ВМоисеев
Это как посмотреть.

Я тут, погорячился, конечно. Если клиенту надо выдать изображение, то тут часто мегабайты нужны.

ВМоисеев
Я же поступаю так - режу выборку по вертикали (примерно 250 строк) и отсылаю на клиента только оставшиеся строки, зажигая одновременно фонарь на клиенте - уточни запрос.

Да много разных приемов.
Можно, например, что бы вообще без фильтров запросов не было.

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

1. Пользователь отлично осуществляет визуальный поиск в таблице, если вся информация отображена на экране. Нормально, если строк не более 200. Плохо, но все же может найти что-то нужное, если в таблице менее 500 строк
2. Пользователя не раздражает ожидание получения информации, если время ее получения меньше 15-25 секунд.
8 мар 19, 17:06    [21828035]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38457
ВМоисеев
>Petro123, сегодня, 14:13 [21827961]
>постановки задачи…
<
Имеется большая база данных. Если не задавать параметры фильтра при запросе - в выборке получишь всю базу, 10 тыс.стр. Как поступаешь?
Ещё более худший вариант - у тебя 10 пользователей с аналогичными запросами. И ты используешь WCF?

зачем ты детские вопросы задаешь?
- показать начало и кнопочку ещё?
Что за детские вопросы?
8 мар 19, 17:31    [21828044]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1891
>Petro123, сегодня, 17:31 [21828044]
>... кнопочку ещё?...
<
Кнопочка - это рейжинг?
8 мар 19, 18:02    [21828051]     Ответить | Цитировать Сообщить модератору
 Re: Среднее звено в трёхзвенке - посоветуйте технологию  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1891
>Cat2, сегодня, 17:06 [21828035]
>...Можно, например, ...
<Не реально.
>...1,2...
<Остаюсь при своём. 15-25 сек. если показывается полоска ожидания, иначе комфортно при <4 сек.
8 мар 19, 18:09    [21828055]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить