|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Мимопроходящийсильно подозреваю, что не со старым клиентом. Точнее даже и не со старым движком, но что если поступить как pgbouncer и разнести их по разным "внутренним" коннектам вплоть до коннектов к разным нодам кластера?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:08 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, иметь единый контекст для параллельных транзакций с одного аттача, это, конечно, хорошо, но как быть со временными таблицами, которые держат записи после завершения транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:14 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Джентльмены, а что, собственно, стоит коннект? Первый - оно понятно. А в общем случае стоит ли копья ломать, в чём выигрыш? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:38 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, Нельзя использовать контекстные переменные и временные таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:46 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Коннект стоит рихтовки рук того заскорузлого паренька, что колбу держит приложение пишет. Жонглировать несколькими коннектами для повешения общей производительности приложения не всякая Наталья Хлопотун (тм) осилит, а в ограничения, накладываемые таковым жонглированием "за кулисами", оно, авось, как-нибудь само случайно уложится. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:49 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, DS про коннект, а вы с rdb_dev вдруг про коНТеКст. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:55 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, крайне сомнительная мотивация. При таком подходе гораздо проще, с моей кочки зрения, реализовать конвейер глубиной в одну команду. Это позволит распараллелить исполнение текущей команды (собственно манипуляция данными) и подготовку исполнения следующей (разбор, проверка прав и построение плана). Этакий аналог "100 Continue" в HTTP/1.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 18:56 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
rdb_devиметь единый контекст для параллельных транзакций с одного аттача, это, конечно, хорошо, но как быть со временными таблицами, которые держат записи после завершения транзакции? ээээ... транзакции и так как бы параллельные. В том смысле, что коннект сам себе непараллельный. А если он вдруг станет параллельным, никакого влияния на КОНТЕКСТ коннекта это не окажет. Если у тебя ГТТ уровня коннекта, значит, ну так ты сделал. Дальше-то что. При чем тут "параллельность транзакций" этого коннекта??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 19:00 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
kdvДальше-то что. А дальше его ждёт большой сюрприз если там не окажется данных от транзакции, которая, как он думал, уже закончилась, а в реальности даже ещё и не начиналась. Многопоточность - очень крышесдвигающая вещь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 19:12 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Многопоточность - очень крышесдвигающая вещь Целью является повышение производительности (условные DML per second), а "многопоточность" - всего лишь инструмент. Вообще не факт, что удачный. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 19:20 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Basil A. SidorovЦелью является повышение производительности (условные DML per second) Это да, но основная проблема тут в том, что Firebird API синхронное, то есть при возврате из функции ожидается, что она таки выполнена и даже на сервере. Если, например, заставить Prepare возвращаться сразу как только запрос отослан на сервер, то сообщение о синтаксической ошибке в этом запросе может вылезть аж на Fetch, а в результате "DML per second" всё равно не увеличится, поскольку приложение не готово посылать новый запрос раньше, чем получит результат предыдущего. Чтобы оно было готово, его нужно перековывать на использование какого-нибудь IBatch, но даже там могут быть свои нюансы (я ещё на этот интерфейс вообще не смотрел). Поэтому с точки зрения приложения проще запустить несколько потоков, которые эту фигню разрулят "автомагически". Но на данный момент этот подход означает отдельный коннект на каждый поток. Что, как справедливо заметил Дед, приемлемая цена. Мой же вопрос состоит в том можно ли получить какую-нибудь дополнительную прибыль в DML/s, заставив эти потоки щемиться в одну дверь (и разведя их по отдельным кабинкам уже на сервере) вместо пробития каждому индивидуальной. Бонус-условие: сервер находится в облаке с доступом через Internet, то бишь канал с повышенной латентностью. (В данный момент Firebird слаба на этом рынке.) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 19:37 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Бонус-условие: сервер находится в облаке с доступом через Internet, то бишь канал с повышенной латентностью. (В данный момент Firebird слаба на этом рынке.) А ещё - излагать надо задачу, а не решение. Решений которые реализуемые уже сейчас - два и они - не взаимоисключающие. И вы, как я понимаю, знаете их оба. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 19:52 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Basil A. SidorovНа "этом рынке" слаба не Firebird, а двухзвенная архитектура. Да. И именно эту проблему хочется решить. Basil A. SidorovРешений которые реализуемые уже сейчас - два и они - не взаимоисключающие. И вы, как я понимаю, знаете их оба. Нет, не знаю. То, что я знаю - одно, да и решением, собственно говоря, не является. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 20:00 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Нет, не знаю. 2. Борьба с задержками. С "физикой", понятное дело, не поборешься, но если в процессе ожидания можно делать другую полезную работу, то результат всё равно будет. Тут, с моей кочки зрения, есть два варианта: прокси-(де)мультиплексор на стороне клиента и сервера и конвейеризация на уровне движка и протокола обмена клиент-СУБД (Firebird). Прокси позволит сократить издержки с "задержка на каждое сообщение" до "задержка на пачку сообщений", уменьшив общее количество (промежуточных интернет-)подключений. Минус - результат вообще не гарантирован, плюс - минимум возни и можно использовать в любом (и уже существующем) проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 07:07 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Basil A. SidorovТрёхзвенка. Да, неуниверсально и требует "много возни". И самое главное - не работает. Ибо физика та же самая. Basil A. SidorovПрокси позволит сократить издержки с "задержка на каждое сообщение" до "задержка на пачку сообщений", уменьшив общее количество (промежуточных интернет-)подключений. И вот именно это я сейчас пытаюсь себе уложить в голове. Пока получается не очень. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 13:28 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Alexey Kovyazin Пишите сюда любые, самые безумные идеи , без ограничений и моральных норм :)! А верните SYSDBA/masterkey. Зачем над людьми измываться. Кому надо - переделают. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 16:38 |
|
Конкурс идей про Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov И самое главное - не работает. Ибо физика та же самая. Трёхзвенка является зоной "доверенного кода" и туда можно вынести "много чего". В частности, можно, до некоторой степени, сократить количество подключений к базе с "число пользователей" до "число серверов приложений (с небольшим коэффициентом)".И вот именно это я сейчас пытаюсь себе уложить в голове. Пока получается не очень.Клиенты подключается к прокси, находящемуся в локальной сети этого клиента. Каждое такое подключение получает слот и через (единственное) интернет-подключение идут фрагменты "слот, команда[, размер данных, данные]". Цена вопроса - лишние три байта на каждый фрагмент. Учитывая минимальный размер физического кадра езернет, максимальные накладные расходы такого протокола (три байта обрамления на один байт данных) будут в ситуации, когда это совершенно пофигу. Кроме того, резко сокращаются накладные расходы на подключения - клиент подключился локально и начал отправлять данные. Прокси прислал команду "открыть подключение и (сразу) отправить данные". Это подключение тоже будет выполнено локально, но уже на стороне сервера. Не работает это ровно в одном случае - каждая площадка использует по одному-два подключения. Но, даже в этом случае можно выиграть на уменьшении времени подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 17:10 |
|
|
start [/forum/topic.php?fid=40&msg=40121136&tid=1559861]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
229ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 585ms |
0 / 0 |