Протокол передачи данных Tabular Data Stream (TDS)
Tabular Data Stream
Протокол TDS: передача данных между базами данных SQL Server (Sybase, Microsoft). Netlib, db lib, blk – ключевые компоненты для эффективной работы с SQL.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Табличный поток данных (TDS) — это протокол прикладного уровня, используемый для передачи данных между сервером базы данных и клиентом. Он был изначально разработан компанией Sybase Inc. для своей реляционной СУБД Sybase SQL Server в 1984 году, а затем компанией Microsoft для Microsoft SQL Server.
Tabular Data Stream (TDS) is an application layer protocol used to transfer data between a database server and a client. It was initially designed and developed by Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and later by Microsoft in Microsoft SQL Server.
История
Во время ранней разработки Sybase SQL Server разработчики Sybase отметили отсутствие общепринятого протокола прикладного уровня для передачи данных между сервером базы данных и его клиентом. Чтобы стимулировать использование своих продуктов, Sybase продвигала использование гибкой пары библиотек – netlib и db lib – для реализации стандартного SQL. Для реализации функции "Массового копирования" была добавлена дополнительная библиотека под названием blk. В то время как netlib отвечает за передачу данных между двумя компьютерами через базовый сетевой протокол, db lib предоставляет API для клиентской программы и взаимодействует с сервером через netlib. db lib отправляет на сервер структурированный поток байтов, предназначенный для табличных данных, то есть Табличный поток данных. blk, как и db lib, предоставляет API для клиентских программ и взаимодействует с сервером через netlib. В 1990 году Sybase заключила соглашение о технологическом обмене с Microsoft, в результате чего Microsoft начала продавать свой собственный SQL Server – Microsoft SQL Server – на основе кода Sybase. Microsoft сохранила API db lib и добавила ODBC. (Microsoft впоследствии добавила дополнительные API.) Примерно в то же время Sybase представила более мощного преемника db lib, названного ct lib, и объединила их под названием Open Client. db lib, хотя и официально устарела, по-прежнему широко используется. Протокол TDS существует в нескольких вариантах, большинство из которых не были публично документированы, поскольку считались проприетарной технологией. Исключением является TDS 5.0, используемый исключительно Sybase, документация на которую доступна от Sybase. Ситуация изменилась, когда Microsoft опубликовала спецификацию TDS в 2008 году в рамках Open Specification Promise. Команда FreeTDS разработала бесплатную нативную библиотеку для реализации протокола TDS, лицензированную по лицензии LGPL. WireShark имеет декодер протокола для TDS. Oracle Corporation предоставляет программное обеспечение Oracle Net, аналогичное TDS.
During the early development of Sybase SQL Server, the developers at Sybase perceived the lack of a commonly accepted application level protocol to transfer data between a database server and its client. In order to encourage the use of its products, Sybase promoted the use of a flexible pair of libraries, called netlib and db lib, to implement standard SQL. A further library was included in order to implement "Bulk Copy" called blk. While netlib's job is to ferry data between the two computers through the underlying network protocol, db lib provides an API to the client program, and communicates with the server via netlib. db lib sends to the server a structured stream of bytes meant for tables of data, hence a Tabular Data Stream. blk provides, like db lib, an API to the client programs and communicates with the server via netlib. In 1990 Sybase entered into a technology sharing agreement with Microsoft which resulted in Microsoft marketing its own SQL Server — Microsoft SQL Server — based on Sybase's code. Microsoft kept the db lib API and added ODBC. (Microsoft has since added additional APIs.) At about the same time, Sybase introduced a more powerful successor to db lib, called ct lib, and called the pair Open Client. db lib, though officially deprecated, remains in widespread use. The TDS protocol comes in several varieties, most of which had not been openly documented because they were regarded as proprietary technology. The exception was TDS 5.0, used exclusively by Sybase, for which documentation is available from Sybase. This situation changed when Microsoft published the TDS specification in 2008, as part of the Open Specification Promise. The FreeTDS team has developed a free native library implementation of the TDS protocol, licensed under the LGPL license. WireShark has a protocol decoder for TDS. Oracle Corporation provides Oracle Net software analogous to TDS.