1. 程式人生 > 其它 >使用odbc 提升cube.js 查詢dremio 的效能

使用odbc 提升cube.js 查詢dremio 的效能

主要是一個技術說明,後續開發相關的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的效能來說會有不少的提升的

參考資料

https://github.com/markdirish/node-odbc