tgoop.com/itextrapolation/690
Last Update:
Принципиально существует два разных метода к организации данных приложения. Первый условно называем «простое чтение, сложная запись», а второй подход обратный первому — «сложное чтение, простая запись». И вообще любая логика программ находится где-то на этой шкале, между описанными крайностями.
Простой и утрированый пример — это когда вам хочется посчитать количество коментариев к публикации, то для этого можно сделать джойн с каунтом, а можно коллбеком инкрементировать comments_count
в основной записи. Сложновастенько и нетранзакционно, но потом при чтении не надо будет джойны делать. Короче, у вас либо простое чтение, но с записью нужно заморочиться, либо наоборот.
Повсеместный подход вообще во всех маленьких, но амбициозных приложениях — это начать с простой записи и сложного чтения. Когда и джойны маленькие и количество записей в табличке не то, чтобы такое большое. А потом уже эволюционно приходим к тому, что и счётчики кешировать нужно и рядом с parent_id
ещё и grandpa_id
держать бы хотелось. С опытом приходишь к мысли, что так делать нужно уже сразу в маленьком новеньком приложении, когда имена табличек в базе данных ещё наизусть назвать все можешь.
Есть, конечно, в этом и кардинальные, так сказать, проблемы, которые нужно решать. Но куда ж без них-то, без проблем этих.
BY Экстраполяция IT
Share with your friend now:
tgoop.com/itextrapolation/690