對於IT人而言,相信大家一定唔會對SQL感到陌生!不論是從事網站開發,還是數據工作都需要用到SQL的強大功能來處理,然而SQL語法並非完美,而且一直存在不少問題,最近Google就推出全新程式語言Logica有望可彌補SQL缺陷。
圖片來源:Shutterstock Image、buzzorange 資料來源:googleblog、163.com
查詢示例困難+處理抽像問題不佳
關聯式資料庫管理系統Structured Query Language(簡稱SQL)自上世紀70年代被發明以來,一直被視為讀寫數據的強大工具,從讀者現時正瀏覽的網頁到手機應用程式都留有SQL的身影。SQL由於功能強大,並由自然語言生成,故吸引大批沒有計算機編程和數學背景的人士使用它執行讀寫數據工作,這導致SQL出現查詢困難的問題,即使邏輯程序再簡單,查詢示例時竟需使用數百行代碼,再加上SQL處理抽像問題一直為人所詬病,故縱使SQL的應用範圍廣泛,但一直有待改善。
Logic+ Aggregation
為解決上述問題,Google就推出全新的程式語言Logica,Logica是一種類似Datalog的邏輯編程語言,它的代碼可編譯為SQL並在Google BigQuery上運行。據Google解釋Logica的意思是:
Logica = Logic(邏輯) + Aggregation(聚合)
與使用自然語言生成的SQL不同,Logica是由數學家專門設計,並使用數學命題邏輯的語法寫成,目的是希望能使複雜的語句變得簡單。此外,Logica亦彌補了SQL處理抽像問題的缺陷,它的可重用抽像機制可供用家於交互式Python上執行模塊和導入工作,而且查詢示例亦變得簡單方便。
三類人士適用
Google引述內部工程師指Logica功能強大,建議一眾網站和系統開發者嘗試使用,更表示:「You will love it(你一定會愛上的!)」。Google列舉出下列三類適合使用Logica的人士,包括:
- 正使用邏輯編程並且需要更多的計算能力
- 正使用SQL,但對它的可讀性並不滿意
- 想學習邏輯編程並將其應用於大數據處理工作
此外,Google亦表示計劃將來拓展更多Logica應用於SQL語言和引擎的功能,目前Logica反應不俗,以下為Logica於GitHub網址,各位讀者不妨一試:
https://github.com/EvgSkv/logica