詞彙表

Arrow Flight SQL

一種用於資料系統的線路協定,其使用 Apache Arrow。請參閱規格

用戶端 API

應用程式用來與資料庫互動的 API。 可以將底層的線路協定和其他細節抽象化。 例如:ADBC、JDBC、ODBC。

連線

在 ADBC 中,「連線」物件/結構代表與資料庫的單一連線。 可以從一個資料庫建立多個連線。

資料庫

在 ADBC 中,「資料庫」物件/結構保存跨連線共用的狀態。

驅動程式

廣義來說,驅動程式是一種函式庫,其使用線路協定實作用戶端 API。 例如,ADBC PostgreSQL 驅動程式公開 ADBC 用戶端 API,並透過 PostgreSQL 線路協定與 PostgreSQL 資料庫互動。 JDBC PostgreSQL 驅動程式使用相同的線路協定,但改為公開 JDBC 用戶端 API。

驅動程式管理員

一個函式庫,可協助管理給定用戶端 API 的多個驅動程式。 例如,JDBC 驅動程式管理員可以為資料庫 URI 找到合適的驅動程式實作。

各語言中的 ADBC 驅動程式管理員都十分相似。 在 C/C++ 中,它可以動態載入驅動程式,讓應用程式不必直接連結它們(因為所有驅動程式都公開相同的 API,否則它們的符號會衝突)。 在 Python 中,它會載入驅動程式,並在其上提供 Python 繫結。

陳述式

在 ADBC 中,「陳述式」物件/結構保存執行單一查詢的狀態。 查詢本身、繫結參數、結果集等等都與陳述式相關聯。 可以從一個連線建立多個陳述式(但並非所有驅動程式都支援此功能)。

Substrait

Substrait 自述為「關聯式代數的跨語言序列化」。 其運作範疇與 SQL 相似,但層級更低。 您不太可能手動撰寫 Substrait 查詢,但可能會使用選擇產生 Substrait 而非 SQL 的工具,以獲得更可預期的語意。

線路協定

資料庫驅動程式連接到資料庫、發出指令、取得結果等等的實際方式。 例如:Arrow Flight SQLPostgreSQL 線路協定表格資料串流 (Microsoft SQL Server)。 一般而言,應用程式不會直接實作並使用線路協定,而是使用更高等級的介面,例如 ADBC、JDBC 或 ODBC 驅動程式。