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

Приветствую! Вопрос скорее смежный. Есть самописный сервер, есть БД. Где

лучше реализовывать бизнес-логику? Если на сервере то получается много маленьких запросов к БД. Если в БД то получаются длиннющие селекты с подселектами и джоинами.

6 ответов

11 просмотров

я уже года 2 не делаю даже в пет проектах на 1 сервере бд и веб-сервер если есть всего 2 ядра, то я бы посадил на разные машины веб сервер и бд по 1 ядру каждому. когда нагрузка вырастет, то я бы сделал master/slave репликацию, добавил 1 машину отдельную, с которой можно только читать, но не записывать куча запросов. так и надо. качай индексы и знания классических алгоритмов. индекс как правило это бинарное дерево, которое имеет время на чтение lg n, бла-бла ...индексы сокращают время запросов длиннющие postgre довольно крутая штука, проверь что ты не переписываешь фичи постгреса своими длиннющими запросами. они написали уже все, вплоть до того, что ты можешь поручить этой субд хранить json и самостоятельно распарсивать.

Много маленьких запросов к СУБД - это плохо. Но может нивелироваться хорошим сетевым каналом между хостами. Длиннющие select-ы - это вовсе не обязательно что-то плохое, как правило, в объемных по размеру кода запросах ничего плохого нет. Надо только уметь их писать. Также, как правило, язык СУБД более высокого уровня и лучше приспособлен для работы с данными, со всеми типами данных, что хранятся. В итоге, правильный ответ на этот вопрос , конечно - что однозначного ответа на это быть не может. И у одного, и у другого подхода есть преимущества и недостатки. И хотя я лично очень ЗА реализацию BL внутри БД, я бы призвал вдумчиво подходить к этому вопросу, и в идеале сочетать два подхода, реализовывать BL как в БД , так и на сервере приложения. Главное - не в UI.

Ilya-Saraev Автор вопроса
Alexander E
я уже года 2 не делаю даже в пет проектах на 1 сер...

Спасибо, есть над чем подумать. Индексы юзаю, возможно проблема в понимании бизнес-процессов и неправильном выборе таблиц и взаимосвязей

Ilya Zviagin
Много маленьких запросов к СУБД - это плохо. Но мо...

А почему много маленьких запросов к СУБД - это дефолтно плохо? вот такой сценарий, ты делаешь пет проект, у тебя мобильное приложение, ты хочешь реализовать автокомплит мобильное приложение в 80% случаев будет работать через lte/3g. на твой взгляд, о чем стоит подумать, в контекте субд, прежде чем приступить?

Alexander E
А почему много маленьких запросов к СУБД - это деф...

А почему много маленьких запросов к СУБД - это дефолтно плохо? Потому что снижает производительность. Раундтрипы в бд и из бд в приложение стоят достаточно дорого, если их много, могут вообще убить все на свете. Есть такая штука 1С Битрикс, там есть такие штуки как "инфоблок", ну и Вэб-формы на них вполне способны при загрузке генерировать порядка 1-1,5 тысячи запросов в БД. Время одного запроса порядка 10-100 миллисекунд. Вот и считай.

Alexander E
А почему много маленьких запросов к СУБД - это деф...

Следует прочитать ТЗ, тут у тебя нет ничего, о чем можно было бы подумать

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта