avatar
Миша пишет код
@misha_writes_code
12.11.2023 23:33
Понравилась мысль, что важно понимать, как устроена технология, с которой работаешь.

В примере из видео рассматривалась гугловская BigTable в которой можно выполнить транзакцию, меняющую данные в разных колонках одной строки, но нельзя сделать транзакцию, которая изменяет разные строки в одной колонке.

С точки зрения базы данных (в данном случае key-value базы) это может звучать странно. Но если понимать, как она устроена и для какого использования проектировалась, то становится понятно, что база данных шардируется построчно и транзакции внутри строк реализовать просто, в то время как для транзакций по колонкам нужно уже применять дополнительные механизмы для синхронизации. Поэтому данное ограничение помогает выиграть, например, в скорости чтения и изменения строки, что для key-value базы звучит более важно, чем умение атомарно изменить столбец.

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

Часто студенты злятся, что в универе им приходится разбираться, как работает ASM, что за системные вызовы и как устроено ядро, хотя на работе скорее всего не придется написать ни единой строчки на языке ассемблера. Однако, на самом деле цель занятий не "научиться писать на ассемблере", а понять, как устроены языки программирования изнутри и как они взаимодействуют с системой. А это знание уже может оказаться крайне полезным в работе.
👍 4
🔥 2
👌 1
1 346

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram