Я Python dev, и мне снова нужно привыкать к PostgreSQL

Я Python backend-разработчик, и мне снова нужно привыкать к PostgreSQL.

Звучит странно, потому что Postgres -- это вроде бы база, с которой backend-разработчик часто работает по умолчанию.

Но последний год я много работала с DynamoDB от AWS и single-table design. И, честно говоря, мне понравился этот подход.

Сначала он кажется непривычным: одна таблица, access patterns, partition key, sort key, денормализация, заранее продуманные запросы.

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

А теперь я возвращаюсь к PostgreSQL и ловлю себя на забавном ощущении: мне нужно снова переключить мышление. Вспомнить joins, constraints, migrations, transactions, нормализацию, индексы и всю эту прекрасную реляционную вселенную.

И это хороший пример того, что “знать базу данных” - это не просто помнить синтаксис. Это уметь думать в её модели.

PostgreSQL и DynamoDB не лучше и не хуже друг друга в вакууме. Они просто заставляют проектировать данные по-разному.

И, кажется, именно это мне больше всего нравится в backend-разработке: иногда ты учишь не новый инструмент, а новый способ думать.

#backend #databases #архитектура #dynamodb #postgresql

Я Python dev, и мне снова нужно привыкать к PostgreSQL | Сетка — социальная сеть от hh.ru