Абстракция
Асбтрация - это путь к тому, чтобы опустить излишнюю сложность.
Пример - когда мы используем в работе библиотеки, мы не должны уметь ее писать.
Абстракция базы данных
Транзакции — это абстракция базы данных, которая скрывает множество проблемных результатов, когда одновременные пользователи читают, пишут или изменяют данные, и предоставляет простой интерфейс фиксации в случае успеха или отмены в случае неудачи.
В любом случае данные перемещаются из одного согласованного состояния в новое согласованное состояние. Транзакция позволяет конечным пользователям не увязнуть в тонких угловых случаях одновременной мутации данных, а сосредоточиться на своей бизнес-логике.
https://habr.com/ru/articles/537594/
Рубрика объясни мне это будто мне 10 лет
Представь, что ты играешь в компьютерную игру, где нужно выполнять разные задания. Когда ты выполняешь задание, игра сама сох раняет твой прогресс. Если ты что-то делаешь неправильно, ты можешь вернуться назад и попробовать снова.
Транзакции в базе данных работают похожим образом. Когда много людей одновременно работают с одними и теми же данными (например, покупают игрушки в интернет-магазине), транзакция помогает все правильно организовать. Если всё прошло хорошо, изменения сохраняются, как будто ты успешно прошел уровень в игре. Если что-то пошло не так, можно "откатиться назад" и попробовать снова.
Почему это важно?
Транзакция делает так, чтобы все данные оставались правильными, даже если многие люди работают с ними одновременно. Это как если бы в игре, независимо от того, сколько игроков участвуют, всегда был порядок, и каждый мог сосредоточиться на своих задачах, не беспокоясь о том, что кто-то другой сломает игру.
Абстракции в распределенных системах
Абстракции в распр еделенных системах помогают инженерам упростить свою работу и снять с них бремя работы с базовой сложностью распределенных систем.
Абстракция распределенных систем стала популярной, поскольку многие крупные компании, такие как Amazon AWS, Google Cloud и Microsoft Azure, предоставляют распределенные сервисы. Каждый сервис предлагает разные уровни абстракции. Детали реализации этих распределенных сервисов скрыты от пользователей, что позволяет разработчикам сосредоточиться на приложении, а не вникать в глубины распределенных систем, которые часто очень сложны.
Современные приложения не могут оставаться отзывчивыми/функциональными, если они основаны на одном узле из-за экспоненциально растущего числа пользователей. Абстракции в распределенных системах помогают инженерам быстро переходить на распределенные системы для масштабирования своих приложений.