170 похожих чатов

А как любители бизнес-логики в базе решают проблемы A/B тестирования? Нужно

20% трафика направить на одну реализацию, а 80 на другую.
Сейчас я могу поднять 4 backend одного типа и 1 другого и балансировщик сам раскидает по ним запросы.
А как это сделать с процедурами, их зависимостями и т.д.?

25 ответов

22 просмотра

при поднятии указывать другую схему/базу/адрес?

шардинг + выбранный сервер на новом коде?

вопрос мимо разработки. это к девопсам

Igor-Shekalev Автор вопроса
c
при поднятии указывать другую схему/базу/адрес?

Не понял. Мне предлагается где-то сделать копию всей базы?

Igor Shekalev
Не понял. Мне предлагается где-то сделать копию вс...

и? в чем проблема? даже для оракла есть pdb

Igor-Shekalev Автор вопроса
c
а вы собрались тестировать на проде?

А где я еще столько трафика буду брать? Это бизнес-функция.

Igor Shekalev
А где я еще столько трафика буду брать? Это бизнес...

трафик можно брать с прода базу зачем с прода трогать?

Zver
А почему бы и да.

ну, за такое увольняют обычно

Igor-Shekalev Автор вопроса
Алексей Коврижкин
400р в месяц?

5 лет общего режима 😊 Данные за периметр выносить нельзя.

Igor-Shekalev Автор вопроса
c
трафик можно брать с прода базу зачем с прода трог...

А хранимые процедуры где? В другой базе?

Igor Shekalev
А хранимые процедуры где? В другой базе?

любая современная субд умеет делать копии базы вместе со схемой, данными и хранимками

Zver
Много уже уволили?

да, общая практика. тестировать на проде это зашквар

Igor-Shekalev Автор вопроса
Kermit
ну, за такое увольняют обычно

Это A/B тестирование функции, а не поиск багов.

Igor-Shekalev Автор вопроса
c
любая современная субд умеет делать копии базы вме...

Все 1200 Тб данных? И online-репликация? Только ради сохранения подхода к проектированию из середины 90-х? Да никто не станет платить за это.

Igor-Shekalev Автор вопроса
Kermit
я бы поспорил. вам клиенты важны?

Смотрите, у меня есть решение за 500 рублей, и решение с хранимками за 500 000. Что же выбрать, что же выбрать 😊

Тестирование превращается в ад. Если база 30тб приходится делать ее полную копию периодически , у прогеров своя копия для кодинга. Версионирование кода в субд когда у тебя более 5к процеруд/пакетов внутри базы не работает . Миграции сильно усложнены. Уменьшать базу зачастую безумно сложно - большое кол во зависимостей. Да и на лету это не сделать, ДБА вынужденный поднимать полную копию. Масштабирование тот ещё ужас - обычно это привозит только к вертикальному варианту. И легко так в год уходит 1млн баксов. В общем крайне не приятная штука. И да это легаси.

Igor-Shekalev Автор вопроса
Максим Ткаченко
Тестирование превращается в ад. Если база 30тб при...

Я так понимаю, что не просто "у прогеров своя копия", а "у каждого прогера своя копия" ? Если Вася изменит процедуру, это зааффектит всех разработчиков. Если там баг, ему настучат всей толпой т.к. ляжет все. Ну и с unit testing то же самое. Чтобы протестить процедуру, ее надо выкатить на девелоперский сервер. Если там баг - все курят бамбук до конца тестирования и отката на "живой вариант".

Igor Shekalev
Я так понимаю, что не просто "у прогеров своя копи...

Стараемся каждому не давать ,программеров под 50 штук. Жесткие ограничения на кол во стендов , соответственно планирование активностей

Igor-Shekalev Автор вопроса
Максим Ткаченко
Стараемся каждому не давать ,программеров под 50 ш...

Сурово. А как вы при этом все эти тестовые стенды синхронизируете на уровне схемы базы? Типа кто-то добавил поля или целые таблицы. Надо всем это раскатать, чтобы кто-то не отлаживал на не актуальной схеме.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта