Получи случайную криптовалюту за регистрацию!

#машины_разное #люди Недавно на просторах тележки я вступил | Человек и машина

#машины_разное #люди

Недавно на просторах тележки я вступил в одну минидискуссию о проблемах эксплуатации DynamoDB там, где можно было эксплуатировать реляционную БД. Оставим тему за скобками, к этому посту она не имеет отношения.

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

Предусмотреть все и вся не получится. Будущие хотелки где-то в будущем (возможно далеком), внезапные ограничения там же по соседству. Можно попытаться обеспечить 5 девяток при отказе всех датацентров сразу, но такой дизайн никогда не увидит свет, не говоря уже о выходе системы в промышленную эксплуатацию.

Поэтому в самом начале стоит следовать KISS и учитывать только те требования и ограничения, которые могут наступить до, в момент и через год с начала выхода в прод. Тут уже на многие вопросы “какую СУБД возьмем” или “на каком языке будем писать” будет ответ “на каком можем и быстро”.

Не переживайте, через несколько лет новичок-карьерист перепишет вашу систему на Rust и занесет сэкономленные наносекунды на запрос в резюме.

Чтобы этому новичку-карьеристу было проще это сделать, а вам, как автору оригинальной системы, не стыдно, заводятся Записи Архитектурных Решений (ADR). В некоторых местах используются старые добрые RFC.

Кстати, дайте знать, если тема архитектурных решений интересная, могу рассказать подробнее.

Другое дело, когда нужно решать задачи ПЛАНЕТАРНОГО МАСШТАБА. Впрочем, это тема для другого разговора.