Миша пишет код
@misha_writes_code
Миша пишет код
Фото:
Понравилась мысль, что важно понимать, как устроена технология, с которой работаешь.
В примере из видео рассматривалась гугловская BigTable в которой можно выполнить транзакцию, меняющую данные в разных колонках одной строки, но нельзя сделать транзакцию, которая изменяет разные строки в одной колонке.
С точки зрения базы данных (в данном случае key-value базы) это может звучать странно. Но если понимать, как она устроена и для какого использования проектировалась, то становится понятно, что база данных шардируется построчно и транзакции внутри строк реализовать просто, в то время как для транзакций по колонкам нужно уже применять дополнительные механизмы для синхронизации. Поэтому данное ограничение помогает выиграть, например, в скорости чтения и изменения строки, что для key-value базы звучит более важно, чем умение атомарно изменить столбец.
База данных выполняет задачи, для которых была сделана, поэтому если в ней нет функционала или гарантий, которые нужны для конкретной задачи, то это не значит, что "разрабы тупые", а свидетельствует лишь о неверном выборе технологии для решения задачи.
Часто студенты злятся, что в универе им приходится разбираться, как работает ASM, что за системные вызовы и как устроено ядро, хотя на работе скорее всего не придется написать ни единой строчки на языке ассемблера. Однако, на самом деле цель занятий не "научиться писать на ассемблере", а понять, как устроены языки программирования изнутри и как они взаимодействуют с системой. А это знание уже может оказаться крайне полезным в работе.
build-your-own.org
Build Your Own Redis with C/C++ | Build
Your Own Redis with C/C++
Build Your Own Redis with
C/C++ | Learn network programming and data structures
2 9 352
Обсуждение 2
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram