TCP/IP-это протокол на основе подключения:
Чтобы начать любое сообщение, необходимо организовать соединение.
Откройте соединение для начала связи.
Закройте соединение, чтобы конечные коммуникации.
Это означает, что все сообщения между сторонами расположены над соединением.
Соединение устанавливается до начала какой -либо передачи данных.
Через TCP/IP нам всегда нужно установить связь между клиентами и серверами, чтобы обеспечить связь.
Более того:
Поставки над соединением проверены ошибками, если пакеты поступают повреждены или потеряны, тогда они возмущаются (известны как повторная передача).
Очень важно, чтобы мы постоянно следили за тем, какие соединения открыты и закрыты.
Между получателем и отправителем, потому что тем больше соединений мы открываем, тем больше проблем на основе производительности мы можем столкнуться.
Нам всегда нужно будет установить соединение из клиентского приложения с сервером PostgreSQL или MySQL Server через TCP/IP, чтобы взаимодействовать с ним.
У нас есть эта концепция сеанса, что такое сессия, которая отмечает начало и конец соединения.
Сессия, по сути, является периодом между началом и окончанием соединения, которое мы можем иметь между клиентом и сервером PostgreSQL.
В рамках сеанса мы инкапсулируем взаимодействия между клиентом и сервером в единицах, которые мы называем транзакциями.
Поэтому, когда мы начнем подключаться:
- Подключение запускает сеанс.
- Завершение соединения заканчивается сеансом.
В сеансе базы данных много транзакций может происходить во время данного сеанса. Каждая транзакция работает для совершения изменений в базе данных (обновление, вставка или удаление записей).
В стороне: протокол UDP:
Интернет также предлагает протокол UDP.
UDP означает протокол пользовательского грамма данных.
UDP намного проще TCP:
Хосты в сети отправляют данные (в единицах, называемых граммами данных) без каких-либо подключений, необходимых.
TCP против UDP:
Если TCP похож на строительство автомагистралей между домами, прежде чем отправлять пакеты между ними, то UDP очень похож на отправку голубя -носителя из одного дома в другой, чтобы доставить пакеты
Вы не знаете, направится ли голубь правильным образом, отбросит вашу посылку по пути или столкнется с проблемой в середине травры.
С другой стороны, используется UDP меньше, чем управление соединением по TCP/строительство шоссе.
Когда скорость важнее надежности, особенно когда приложения необходимо быстро транслировать очень небольшие объемы информации (меньшие пакеты информации означают меньше проблем с надежностью), то UDP является предпочтительным.
Много потоковых приложений в реальном времени (например, трансляция в прямом эфире, голос над IP (VoIP)) предпочитают UDP над TCP.
Поскольку UDP не нуждается в повторной передаче потерянных грамм данных, и при этом он не выполняет никакой настройки соединения, задержек по UDP меньше, чем TCP.
Непрерывное соединение TCP более надежно, но имеет большую задержку.
Сделки:
Транзакция — это единственная логическая единица работы, которая обращается и, возможно, изменяет содержимое базы данных.
Транзакции доступа к данным с использованием операций чтения и записи.
Чтобы поддерживать согласованность в базе данных до и после транзакции, соблюдаются определенные свойства.
Они называются кислотными свойствами.
Транзакции захватывают логические пучки работы
Работа объединяется в транзакции, так что в случае сбоев системы данные в вашей базе данных по -прежнему хранятся в допустимых состояниях (откатываясь от всей транзакции, если какая -либо ее часть не удается).
Для обеспечения того, чтобы база данных была согласована до и после работы, базы данных используют атомные транзакции и такие действия, как Commits и Dollback для надлежащего обработки сбоев.
Зачем переполнять транзакции?
- Системы базы данных могут сбой.
- Мы хотим, чтобы база данных всегда находилась в действительном состоянии.
- заглянуть в кислотные свойства
Реляционная база данных является транзакционной:
Все изменения в данных внесены через единицы, называемые транзакциями.
Либо единственное изменение, либо несколько изменений.
Выполнено в упорядоченной последовательности.
Операция, которая либо преуспевает вообще, либо полностью не удается в качестве единицы.
Кислотные свойства транзакций
В контексте обработки транзакций кислота аббревиатура относится к четырем ключевым свойствам транзакции: атомность, консистенция, изоляция и долговечность.
Атомность
Все изменения в данных выполняются так, как будто они являются единственной операцией. То есть все изменения выполняются, или ни один из них не является. Например, в заявке, которое переносит средства с одной учетной записи на другую, свойство атомальности гарантирует, что, если дебет успешно сделан с одной учетной записи, соответствующий кредит предоставляется в другую учетную запись.
Последовательность
Данные находятся в согласованном состоянии, когда начинается транзакция и когда она заканчивается. Например, в заявке, которое переносит средства с одной учетной записи на другую, свойство согласованности гарантирует, что общая стоимость средств в обоих счетах одинакова в начале и в конце каждой транзакции.
Изоляция
Промежуточное состояние транзакции невидимо для других транзакций. В результате транзакции, которые работают одновременно, кажутся сериализованными. Например, в заявке, которое переносит средства с одной учетной записи на другую, свойство изоляции гарантирует, что другая транзакция видит перенесенные средства на той или иной счете, но не в обоих, ни в ни в том числе.
Долговечность
После успешного завершения транзакции изменения в данных сохраняются и не отменены, даже в случае сбоя системы. Например, в заявке, которое переносит средства с одной учетной записи в другую, свойство долговечности гарантирует, что изменения, внесенные в каждую учетную запись, не будут обращены вспять.
Оригинал: «https://dev.to/mahmoudessam/connections-and-sessions-in-tcp-ip-3d7l»