Load dữ liệu từ database với Qlik ODBC Connector Package

Các hệ thống thông tin doanh nghiệp lưu trữ dữ liệu trong các database. Một business dashboard thường tổng hợp dữ liệu từ nhiều hệ thống khác nhau (ví dụ doanh số từ hệ thống bán hàng, thông tin khách hàng từ CRM). Vì vậy, khả năng kết nối dữ liệu với database là một yêu cầu quan trọng của các BI platform như Qlik.

Tuy nhiên, trích xuất dữ liệu từ database không phải là một công việc đơn giản với phần lớn người sử dụng không có background về lập trình. Muốn kết nối với database, người sử dụng phải hiểu rõ các data API mà database đó cung cấp, cài đặt và cấu hình kết nối dữ liệu (data connector) phù hợp để lấy dữ liệu từ API. Ví dụ, để tải dữ liệu từ Oracle database, bạn cần hiểu Oracle cung cấp một kênh kết nối dữ liệu thông qua phương thức ODBC, download và cài đặt Oracle Instant Client, cấu hình file tns.ora và tạo một data source name (DSN) sử dụng Oracle ODBC driver.

Theo tinh thần “self-service data analytics” (phân tích dữ liệu theo nhu cầu), QlikView và Qlik Sense đều được thiết kế theo hướng đơn giản hóa tối đa các thao tác mà người sử dụng cần thực hiện để truy xuất nguồn dữ liệu cần thiết. Qlik ODBC Connector Package ra đời để đáp ứng yêu cầu này.

Qlik ODBC Connector Package là gì?

Qlik ODBC Connector Package là một tập hợp các ODBC driver do Qlik đóng gói và cung cấp, giúp nhanh chóng kết nối QlikView/ Qlik Sense với các database phổ biến mà không cần phải cài đặt ODBC driver của nhà sản xuất database. Các ODBC driver được phát triển bởi Simba Technologies (simba.com/drivers/) , được Qlik mua bản quyền và tích hợp như một phần sản phẩm của Qlik. ODBC Connector package cung cấp  một giao diện thống nhất, cho phép người sử dụng cấu hình các database connector một cách đơn giản mà không cần tạo ra DSN như các ODBC driver thông thường.

Package này được đóng gói sẵn trong cài đặt mặc định của Qlik Sense. Với QlikView, bạn có thể tải ODBC Connector Package từ Qlik dowload và sử dụng miễn phí. Khi sử dụng, QlikView/ Qlik Sense khởi tạo process QvOdbcConnectorPackage.exe để quản lý các ODBC connection.

Ở các phiên bản cũ hơn như 4.0 (đóng gói trong Qlik Sense 3.2 trở về trước), bạn có thể thấy các ODBC driver mang tên Qlik-<DatabaseName> trong ODBC Data Source Administrator như minh họa trong hình sau. Tuy nhiên, bạn không thể tạo DSN với các ODBC driver này, cũng như không thể sử dụng các driver này trong các ứng dụng khác ngoài QlikView/ Qlik Sense vì lý do license. Từ phiên bản 4.8 trở đi, các driver Qlik-<DatabaseName> không còn được liệt kê trong ODBC Data Source Administrator để tránh bị sử dụng sai mục đích

Qlik ODBC Connector Package hỗ trợ các database nào?

Ở phiên bản mới nhất (5.8.1, đóng gói trong Qlik Sense September 2018), Qlik ODBC Connector Package hỗ trợ các database sau:

  • Amazon Redshift
  • Apache Drill (Beta)
  • Apache Hive (CDH 5.5, CDH 1.1, CDH 0.9x)
  • Apache Phoenix (Beta)
  • Apache Spark (Beta)
  • Azure SQL (2005 to 2014)
  • Cloudera Impala (2.3, 1.0)
  • Google BigQuery
  • IBM DB2 (V10.5, V10.1, V9.5)
  • Microsoft SQL Server (2005 to 2014)
  • MongoDB (Beta)
  • MySQL Enterprise (5.7 server, 5.1 server)
  • Oracle (12c, 11.2)
  • PostgreSQL (9.0 – 9.6)
  • Presto
  • Sybase ASE (16, 15.7)
  • Teradata (16.20, 15.10, 15.0, 14.10, 14.0)

Demo: Xây dựng ứng dụng kết nối Qlik Sense với MySQL database

Cách nhanh nhất để hiểu một công nghệ mới là bắt đầu sử dụng nó. Ví dụ sau đây sẽ hướng dẫn bạn xây dựng một ứng dụng đơn giản sử dụng nguồn dữ liệu là MySQL database.

Để tránh phải chuẩn bị test database riêng, mình sẽ sử dụng public MySQL database mang tên rfam (rfam.readthedocs.io/en/latest/database.html). Đây là database mở về các nhóm vật liệu di truyền ARN được cung cấp bởi Viện Tin Sinh học châu Âu (European Bioinformatics Institute).

Đừng lo lắng, bạn không cần phải có kiến thức nền về Bioinformatics hoặc di truyền học để làm tiếp ví dụ này đâu :-). Ứng dụng của chúng ta sẽ chỉ thống kê xem nhà nghiên cứu (author) nào tìm ra nhiều họ (family) ARN nhất, và phân bổ số lượng họ ARN theo nhà nghiên cứu.

Các bước xây dựng app như sau:

  1. Download và cài đặt Qlik Sense Desktop từ địa chỉ qlik.com/us/try-or-buy/download-qlik-sense. Nếu là lần đầu tiên download sản phẩm của Qlik, bạn cần đăng ký tài khoản QlikID miễn phí.
  2. Trong Qlik Sense Desktop, tạo một app mới và đặt tên cho app, ví dụ MySQL.
  3. Trong app mới tạo, mở Data Load Editor
  4. Click “Create new connection” ở góc trên bên phải, chọn MySQL Enterprise Edition
  5. Trong cửa sổ Create new connection, nhập các tham số sau. Lưu ý rằng các tham số sau có thể thay đổi so với thời điểm viết bài, bạn vào website của rfam database rfam.readthedocs.io/en/latest/database.html để cập nhật lại cho chính xác.
    • Name: Tên gợi nhớ bất kỳ cho connection, ví dụ MySQL_RFAM
    • Hostname: mysql-rfam-public.ebi.ac.uk
    • Port: 4497
    • Database: Rfam
    • User: rfamro
    • Password: Để trống
  6. Nhấn Test Connection để kiểm tra kết nối. Nếu kết nối thành công, connector sẽ báo “Connection succeeded”
  7. Chọn Select data (biểu tượng 4-select1) trong connection vừa tạo
  8. Trong cửa sổ Select data to load, đảm bảo Database hiện hành là Rfam. Click chọn 2 bảng author và family_author. Click Insert script
  9. Một đoạn script với 2 cặp lệnh LOAD và SELECT tương ứng với mỗi bảng đã được tự động chèn vào reload script của bạn. Nhấn Load data phía trên Create connetion để thực thi reload script.
  10. Mở menu Navigation (biểu tượng Navigation), chọn Data model viewer. Data model vừa được tạo ra gồm 2 bảng author và family_author, liên kết với nhau bởi key field author_id
  11. Công đoạn chuẩn bị dữ liệu đã xong, giờ ta sẽ tạo các biểu đồ để phân tích dữ liệu vừa load. Tạo một sheet mới với caption Author analysis. Trong sheet này, tạo 3 visualization object sau:
    • KPI
      • First measure
        • Expression  = Count(rfam_acc)
        • Label = Total families
      • Second measure
        • Expression = Count(author_id)
        • Label = Total authors
    • Bar chart
      • Dimension: name
      • Measure: Count(rfam_acc)
      • Title: Top authors
    • Distribution plot
      • Dimension: name
      • Measure: Count(rfam_acc)
      • Title: Distribution by number of families

Kết quả cuối cùng tương tự như hình sau:

Các biểu đồ trên cho biết các thông tin như sau:

  • KPI: Có tổng cộng 3,223 ARN family, được tìm ra bởi 72 nhà nghiên cứu.
  • Bar chart: Các nhà nghiên cứu hàng đầu (tìm ra nhiều ARN family nhất) là Wilkinson A, Eberhardt R, Moxon SJ, Argasinska J và Osuch I.
  • Distribution plot: Đa số các nhà nghiên cứu tìm ra dưới 150 ARN family (chia làm 3 nhóm nhỏ có thể thấy được khi zoom distribution plot lên).  Có 5 nhà nghiên cứu vượt trội về số lượng ARN family so với số còn lại.