Сетевой доступ к базе данных

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

Компоненты для доступа к базе данных в сети

Далее описывается каждый компонент:

  • Интерфейс программирования, как описано ранее в этом разделе, интерфейс программирования содержит вызовы, сделанные приложением. Эти интерфейсы (встроенные интерфейсы SQL, SQL и интерфейсы уровня вызовов) обычно относятся к каждой СУБД, хотя они обычно основаны на стандарте ANSI или ISO.

  • Протокол потока данных— протокол потока данных описывает поток данных, передаваемых между СУБД и его клиентом. Например, протоколу может потребоваться первый байт для описания того, что содержит остальная часть потока: инструкция SQL для выполнения, возвращаемого значения ошибки или возвращаемых данных. Формат остальных данных в потоке будет зависеть от этого флага. Например, поток ошибок может содержать флаг, 2-байтовый целочисленный код ошибки, 2-байтовую длину сообщения об ошибке и сообщение об ошибке.

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

  • Механизм взаимодействия между процессами — это механизм взаимодействия между процессами (IPC), с помощью которого один процесс взаимодействует с другим. Примеры включают именованные каналы, сокеты TCP/IP и сокеты DECnet. Выбор механизма IPC ограничен используемой операционной системой и сетью.

  • Сетевой протокол— сетевой протокол используется для передачи потока данных по сети. Можно рассматривать сантехнику, которая поддерживает механизмы IPC, используемые для реализации протокола потока данных, а также поддержку основных сетевых операций, таких как передача файлов и общий доступ к печати. Сетевые протоколы включают NetBEUI, TCP/IP, DECnet и SPX/IPX и зависят от каждой сети.