最後更新:2014-12-24
來源:互聯網
上載者:User
關鍵字
IBM
Hadoop
DBMS
SQL技術
向關係
本文將介紹 Big SQL,回答關係 DBMS 使用者擁有的許多關於這項 IBM 技術的常見問題。
大資料:它對分析和管理資訊的 IT 專業人員非常有用。 但一些專業人員很難理解如何使用大資料,因為最流行的大資料平臺之一 Apache Hadoop 帶來了大量新技術,包括新的查詢和指令碼語言。
Big SQL 是 IBM 的基於 Hadoop 的平臺 InfoSphere BigInsights 的 SQL 介面。 Big SQL 旨在讓 SQL 開發人員能夠輕鬆地掌握對 Hadoop 管理的資料的查詢。 它使資料管理員能夠為 Hive、HBase 或他們的 BigInsights 分散式檔案系統中存儲的資料創建新表。 此外,LOAD 命令使管理員能夠在 Big SQL 表中填入來自各種來源的資料。 而且 Big SQL 的 JDBC 和 ODBC 驅動程式使許多現有的工具可使用 Big SQL 查詢分散式資料。
不過,Big SQL 並沒有將 Hadoop 轉變為一種大型的分散式關係資料庫。 如果您想知道 Big SQL 能夠做什麼,我們在這裡將介紹它的基本知識,並嘗試澄清一些常見的誤解,還會回答關係 DBMS 使用者常常遇見的關於這項新技術的許多問題。
Big SQL 概述
Big SQL 是一個軟體層,使 IT 專業人員可使用熟悉的 SQL 語句在 BigInsights 中創建表和查詢資料。 為此,程式師將會使用標準的 SQL 語法,並在某些情況下使用 IBM 創建的 SQL 擴展,使得利用某些基於 Hadoop 的技術變得非常輕鬆。 稍後我們會更詳細地介紹這些主題。
為了讓您瞭解 Big SQL 到底是什麼,圖 1 給出了它的架構,並介紹了如何將它融入 BigInsights Enterprise Edition 2.1 平臺中。
圖 1. Big SQL 架構
如頂部所示,Big SQL 支援來自 Linux® 和 Windows® 平臺的 JDBC 和 ODBC 用戶端存取。 此外,Big SQL LOAD 命令可直接從多種關係 DBMS 系統(受 Netezza 技術支援的 IBM PureData™ Systems for Analytics、DB2® 和 Teradata)以及存儲在本地或 BigInsight s 分散式檔案系統中的檔讀取資料。 BigInsights EE 2.1 可配置為支援 Hadoop Distributed File System (HDFS) 或 IBM 的 General Parallel File System with the File Placeme nt Optimizer (GPFS-FPO)。
SQL 查詢引擎支援連接、聯合、分組、常見的表運算式、視窗函數,以及其他熟悉的 SQL 運算式。 此外,通過優化提示和配置選項,您還可以改變數據訪問策略。 根據查詢的性質、資料量和其他因素,Big SQL 可以使用 Hadoop 的 MapReduce 框架並行處理各種查詢任務,或者在單個節點上的 Big SQL 伺服器上本地執行您的查詢,無論哪種方式最適合您的查詢。
對 Big SQL 感興趣的組織通常在內部擁有豐富的 SQL 技能,以及一個基於 SQL 的商業智慧應用程式和查詢/報告工具套件。 對於不熟悉 Hadoop 的組織而言,能夠利用現有技能和工具(並且可能重用部分現有應用程式)的概念可能非常有吸引力。 確實如此,一些擁有構建于 DBMS 系統之上的大型資料倉儲的公司正在尋找基於 Hadoop 的平臺,使用該平臺作為卸載 「冷的」 或不常用資料的潛在目標,同時仍然支援查詢訪問。 在其他情況下,組織會依靠 Hadoop 來分析和過濾非傳統資料(比如日誌、感應器資料、社交媒體帖子等),最終將此資訊的子集或集合提供給他們的關係倉庫,以擴充其產品、客戶或服務視圖。
在這些和其他一些情況下,Big SQL 可能發揮著重要作用。 但是,認為 Big SQL 會取代關係 DBMS 技術是不恰當的。 Big SQL 旨在為基於 Hadoop 的基礎架構提供補充並在 BigInsights 中利用該架構。 關係 DBMS 系統的一些常見特性在 Big SQL 中並不存在,而且一些 Big SQL 特性在大多數關係 DBMS 系統中都不存在。 例如,Big SQL 支援查詢資料,但不支援 SQL UPDATE 或 DELETE 子句。 INSERT 語句僅支援用於 HBase 表。 Big SQL 表可能包含具有複雜資料類型的列,比如 struct 和 array,而不是簡單的 「扁平」 行。 而且還支援一些基礎存儲機制,包括:
存儲在 HDFS 或 GPFS-FPO 中的分割檔(比如逗點分隔檔) 順序檔案格式、RCFile 格式等格式的 Hive 表。 (Hive 是 Hadoop 的資料倉儲實現) HBase 表(HBase 是 Hadoop 的基於鍵值或基於列的資料存儲)
我們更詳細分析一下 Big SQL,以便更深入地瞭解它的功能。