Каков наилучший подход для крупномасштабной системы — процедура БД или логика программирования

Я действительно попал в загадку.

Мы используем некоторый язык (java / php / python) в качестве посредника между внешним интерфейсом и базой данных. Мы используем JPA / hibernate, чтобы сгладить этот поток данных. Если мы проверим с любым администратором базы данных, большая часть обработки данных, вычислений, обработки заданий может быть выполнена непосредственно на стороне базы данных с помощью процедуры или запускает это тоже с хорошей масштабируемостью. То же самое, если обрабатывать на стороне java / php, это займет довольно много времени, и снова проблема может возникнуть с масштабируемостью, так как обработка транзакций не так проста.

Что я хочу прояснить в своей мысли: 1) действительно ли лучший / правильный подход — обрабатывать большую часть возможной логики с помощью процедур БД (например, обрабатывать большую часть обработки, влияющей на многие таблицы)? 2] Может ли масштабируемость быть достигнута с БД, а с Coding — нет? 3] Есть ли лучший способ взглянуть на эту связь БД и кодирования?

Заранее спасибо.

С уважением

0

Решение

Ну, исходя из того, что вы сказали, вы поняли их правильно,

Однако не всегда у вас будет правильный ответ, например, я работаю над системой с записями 6M +, вам нужно проанализировать систему и проверить производительность базы данных, при запуске производительность будет хорошей, но по мере масштабирования системы, когда вы начинаете иметь все больше и больше записей, здесь вы узнаете, можете ли вы сохранить триггеры и все в базе данных или вам нужно будет жестко их кодировать, но, насколько я вижу, вам хорошо иметь расчеты, сделанные в базе данных, поскольку она распределяется между 3 системами.

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

0

Другие решения

Других решений пока нет …