Oracle
一、概述
AILab-PDBC (Python DataBase Connectivity)是数智教育发展(山东)有限公司 AI Lab 100 团队开发的高效、灵活的数据接口(API)
ailab100.pdbc.sql类用于用于关系型数据库管理系统(RDBMS)的读写,支持MySQL
、微软SQL SERVER、SQLite、ORACLE、MariaDB 、PostgreSQL等主流结构化数据库。
本章介绍如何使用ailab100.pdbc.sql.ORACLE 连接 ORACLE 数据库进行读写和下载,以及数据库类型和Pandas类型之间的转换。
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。
二、API 接口说明
(一) DBConnector 基类
(二) Oracle 类
三、应用案例及技术性能
(一) Oracle应用案例
import connectorx as cx
conn = 'oracle://username:password@server:port/database' # connection token
query = 'SELECT * FROM table' # query string
cx.read_sql(conn,query) # read data from Oracle
(二) 数据类型映射
Oracle - Pandas 数据类型映射
| Oracle Type | Pandas Type | Comment |
|---|---|---|
| Number(*,0) | int64, Int64(nullable) | |
| Number(*,>0) | float64 | |
| Float | float64 | |
| BINARY_FLOAT | float64 | |
| BINARY_DOUBLE | float64 | |
| VARCHAR2 | object | |
| CHAR | object | |
| NCHAR | object | |
| NVarchar2 | object | |
| DATE | datetime64[ns] | |
| TIMESTAMP | datetime64[ns] | |
| TIMESTAMP WITH TIME ZONE | datetime64[ns] |
(三) 性能测试
实验室通过比较 Python 中的不同解决方案,采用 4 个线程并行处理,读取 SQL Server 中一个 10,981,106 行的数据表 (1,092,616,192 字节,1.02 GB) 加载到 DataFrame 中,实验结果如下:
(1) 响应时间 (越短越好)

(2) 内存消耗 (越低越好)

总之,AILab PDBC 使用的内存减少了 1/3 ,与 Pandas 相比响应时间减少了近 1 倍(与 Polars 相比,响应时间相差无几 )。