can3p (can3p) wrote,
can3p
can3p

Category:

Абстракции

Все, что нужно знать об абстракциях - это то, что они начинают терять товарный вид, как только на них посильнее надавишь, а иногда и этого не надо. Говорят тебе, у нас лучшая база данных, просто сделай db.set(key, value), чтобы записать, а потом db.get(key), чтобы прочитать. Вроде бы надо радоваться и спокойно пользоваться, но боевые раны уже начинают напоминать о себе, потому что даже в этом случае есть миллион разных вариантов, когда что-то может пойти не так.

  • А что там с репликацией?
  • А что происходит, при одновременной записи из двух мест?
  • Из разных тредов?
  • Какого размера может быть ключ?
  • А какого размера может быть значение?
  • А как делаются бекапы?
  • Как решаются конфликты?
  • И с авторизацией как?
  • Что будет, если процесс умрет где-то в середине?
  • Что если машина умрет?
  • А если сеть будет лагать, пакеты теряться?
  • А что там с консистентностью данных?
  • А как понять, что что-то пошло не так?

И так далее. Может кажется, что ничего страшного, но на самом деле трудно измерить, насколько это круто, когда на эти вопросы уже кто-то ответил, а разработчиков MySQL хочется расцеловать, настолько надежная на практике бд получилась, хотя и здесь начинаются вопросы, как только копнуть поглубже. Как там, говорите, лочатся строки? Ой, невинный запрос начал приводить к фулл скану? А с кассандрой недавно исследовали влияние gc пауз в ней на производительность приложения. И это я еще про кубернетес не плакался.

Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments