使用odbc 提升cube.js 查詢dremio 的效能
阿新 • • 發佈:2022-03-22
主要是一個技術說明,後續開發相關的driver
原理
dremio 是支援obdc 訪問的,odbc 是比直接的http 訪問有更快的效能,而且可以使用更加標準的sql 查詢
參考處理
社群已經有了完整的實現node-odbc 我們可以使用來使用
參考demo
dremio 的odbc 需要先安裝,具體參考官方文件,對於mac 需要先安裝unixodbc然後安裝dremio的odbc,注意目前對於linux 沒有debian包,只有rpm包
- 參考程式碼
const odbc = require('odbc');
const username = "<>";
const password = "<>"
const host= "<>"
const port = 31010
async function connectToDatabase() {
// 此處對於driver的路徑是mac 的linux 具體結合實際調整
const connectionConfig = {
connectionString:`DRIVER=/Library/Dremio/ODBC/lib/libdrillodbc_sbu.dylib;Host=${host};ConnectionType=Direct;Port=${port};UID=${username};PWD=${password}`,
connectionTimeout: 10,
loginTimeout: 10,
}
const connection2 = await odbc.connect(connectionConfig);
let result = await connection2.query(`select * from "@dalong".gitlab`)
console.log(result)
}
connectToDatabase();
說明
基於odbc 我們可以一個cube.js driver 對於dremio的效能來說會有不少的提升的