跳转至

Oracle

一、概述

AILab-PDBC (Python DataBase Connectivity)是数智教育发展(山东)有限公司 AI Lab 100 团队开发的高效、灵活的数据接口(API)

ailab100.pdbc.sql类用于用于关系型数据库管理系统(RDBMS)的读写,支持MySQL 、微软SQL SERVERSQLiteORACLEMariaDBPostgreSQL等主流结构化数据库。

本章介绍如何使用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) 响应时间 (越短越好)

pg-time.png

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

pg-time.png

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