ChatGPT與資料庫能擦出什麼火花
來源:韓鋒頻道
ChatGPT,可以說是今年最火的一個科技名詞。在兩個多月前,我也寫過一篇《ChatGPT:對話中國資料庫》。隨著這幾個月的發展,我們看到有越來越多的ChatGPT與資料庫結合的應用出現。這也不禁令人暢想,未來ChatGPT與資料庫的結合,能擦出什麼火花?DEV、DBA未來會失業嗎?本文嘗試闡述下未來兩者的結合前景。
讓我們先看看ChatGPT,是如何來解釋自己的?
作為一個人工智慧的外行,一直有點好奇,為什麼ChatGPT的出現,能產生如此顛覆性的影響。可以說在過去幾十年裡,人工在很多領域都有不錯的表現。從最早的IBM Watson,到近幾年的Google AlphaGo,都在具備領域有所突破,但似乎都沒有辦法解決通用性問題,只能滿足特定場景。因而人們常說,AI沒有那麼聰明。其背後的原理也查了查資料是因為讓AI掌握常識,並且能夠融會貫通地運用這些常識、形成推理能力非常難,一直以來這都是巨大的難題。但這次以ChatGPT為代表的一眾大語言模型,突然突破了這個門檻,變得非常“聰明”。當然背後的原因有很多,比如自監督學習、Fine-tuning策略等等,但有一個重要的底層變化——大語言模型的“湧現”現象,就是說一些業界從未想象到的能力,例如基礎的社會知識、上下文學習、推理等等,在訓練引數和資料量超過一定數值後,這些能力突然出現了,令AI一下子變得非常智慧。伴隨著這一技術突破,很多領域可採用新交付方式甚至是全面重塑。資料庫作為重要的基礎軟體,也與其全面結合,產生很多新方向。
在開始之前,先簡單回顧下之前AI與DB之前的結合。下面部分內容摘自清華大學李國良教授團隊論文《Database Meets AI:A Survey》。之前的資料庫和人工智慧的結合主要來自兩個方面:一是人工智慧可以使資料庫更加智慧化(AI4DB)。傳統的經驗資料庫最佳化技術難以滿足大規模資料庫例項、各種應用程式和多樣化使用者的高效能要求,尤其是在雲上。而幸運的是,人工智慧基於學習的技術可以緩解這個問題。二是資料庫技術可以最佳化AI模型(DB4AI)。例如,人工智慧很難在實際應用中部署,因為它需要開發人員編寫複雜的程式碼和訓練複雜的模型。資料庫技術可用於降低使用人工智慧模型的複雜性,加速人工智慧演算法,並在資料庫中提供人工智慧功能。其全貌如下
這裡我們重點關注AI4DB的方向。傳統的資料庫設計基於經驗方法和規範,需要人工參與(例如DBA)來調整和維護資料庫。人工智慧技術被用來緩解這些限制,下圖所示為機器學習能為資料庫帶來的一些技術突破:
其中的主要能力包括:引數調優、索引/檢視顧問、SQL改寫、成本估算、連線順序最佳化等。從上述能力可見,AI4DB的方向重點是解決資料庫執行問題,包括很多產品頁都提出了“自治”、“自動駕駛”的概念。也就是說,是主要解決資料庫自身問題。與之不同的是,ChatGPT更多是解決人與資料庫間及資料自身的問題。
❖ 生成 SQL 語句(受益方:開發者、分析師)
這是目前最為常見的一類應用,將傳統SQL語句編寫,改為自然語言描述。透過這樣的方式,降低資料庫使用門檻,提升開發效率。主要受益的人群是資料庫應用的開發者及資料探索者(如資料分析師)。很多產品紛紛整合了這一能力,如國內的NineData、Bytebase或者國外的sqlTranslate、AI2sql等。下面我們做個小測試,觀察下ChatGPT能力(以下基於ChatGPT 3.5測試)
透過這個簡單例子,可以看出ChatGPT具備的能力。可將自然語言描述生成對應SQL。
❖ 效能最佳化(受益方:DBA、開發者)
ChatGPT另外一個能力,則是對資料物件或語句的最佳化能力。如下文是給出的一些通用性建議
也可以根據具體語句,給出進一步最佳化建議:
當然上述最佳化建議還是比較通用的,當然針對具體物件的最佳化也是可以的。再如下文是對語句級提出的最佳化建議
上述能力可以解決很多常規的效能問題,能大大簡化開發者和初級DBA的很多工作,可以說能解決大部分的初級效能問題。
❖ 結構設計(受益方:DBA、開發者)
除了根據已有物件或語句完成最佳化提示外,ChatGPT還可以前置完成結構的設計。根據的簡單的場景描述,給出資料庫結構定義,簡化結構設計工作。如下圖就是一個簡單登記學生成績系統的庫表設計。這其中包括了主要表、欄位、約束等的定義,還是比較全的。
❖ 架構設計(受益方:DBA、架構師)
如果再進一步,將資料庫架構設計也由ChatGPT完成如何?下圖是我將上述例子場景提出,由ChatGPT提出推薦資料庫選型。在明確使用AWS產品範圍後,它給出了部分選型的建議。在給出一定效能要求後,甚至給出了推薦規格(db.r5.large)及潛在架構最佳化點(如讀寫分離)。
❖ 資料分析、挖掘與探索(受益方:資料分析師)
ChatGPT的一個很強能力在於對資訊的理解,這一能力可利用在很多資料分析、挖掘、探索領域。其可以敏銳的洞察到資料的變化、甚至做一些趨勢性的分析。如下圖是國內各省份2021、2022年的GDP情況,可以這些資訊可讓ChatGPT估算今年的GDP。
❖ 資料治理(受益方:資料管理者、安全人員)
企業內包含著大量業務資料,如何有效利用資料,形成資料資產,進而發揮資料最大價值是企業管理者關心的問題。傳統方式需要透過資料建模等手段自上而下完成治理動作,但受限於企業發展階段、應用開發水平等因素,這種方式會存在很大推進難點。ChatGPT提供了另外一種可能,即從資料本身含義理解做起,自下而上完成治理結構的構建。例如我們提供一組資料給ChatGPT,看它是符合判斷資料屬性的
亦或是給出明確規則定義的情況下,判斷資料質量問題
寫在最後:
綜上,ChatGPT在構建資料應用的全流程中均可發揮作用。從前期的架構、結構設計,到中期的應用開發與最佳化,再到後期的資料分析挖掘乃至資料治理領域。可以說覆蓋了企業對資料及上層應用的方方面面。當然,除了簡化開發外其他能力當前還稍顯初級,但相信隨著其技術本身的成熟及垂直領域的定向增強,未來構建全自動的資料應用將不是幻想。可能只需要提出一個業務Idea,後續從應用設計、開發,到資源選型、部署,再到應用運營分析等,都可以自助完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027828/viewspace-2950657/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 當中國傳統文化IP與NFT撞個滿懷,能擦出什麼火花
- AI與線上業務的結合,究竟會擦出什麼火花?AI
- 小程式與WebRTC聯姻能擦出怎樣的火花?Web
- A/Btest——視覺設計與資料增長擦出的火花視覺
- 跨境電商遇上ERP系統會擦出什麼火花
- 3D列印與大資料會碰撞出什麼樣的火花?3D大資料
- 當RPA遇上AI,會擦出怎樣的火花?AI
- 什麼?雲資料庫也能C位出道?資料庫
- 百度CTO王海峰對話王辰院士:大資料與抗疫會摩擦出怎樣的火花?大資料
- 低程式碼搭上AIGC,會擦出怎樣的火花?AIGC
- 什麼是資料庫?什麼是雲資料庫?資料庫
- GDE專欄 | 一個完整的示例:Android Things和TensorFlow能擦出怎樣的火花?Android
- 當智慧交通遇上大資料,會碰撞出什麼樣的火花?大資料
- 城市發展的舞臺上,人工智慧如何與區塊鏈擦出新的火花?人工智慧區塊鏈
- 資料庫與資料倉儲的區別是什麼資料庫
- 【資料庫】簡單聊聊資料庫可以做什麼,有什麼用?資料庫
- 【資料庫】雲資料庫rds是什麼意思?有什麼優勢?資料庫
- 雲資料庫RDS是什麼?雲資料庫RDS有什麼優勢?資料庫
- django用什麼資料庫Django資料庫
- 什麼是皇帝資料庫?資料庫
- 什麼是Cassandra資料庫資料庫
- 什麼是NoSQL資料庫?SQL資料庫
- 什麼叫xml資料庫?XML資料庫
- 資料庫該學什麼!!!!資料庫
- Chronicles 是什麼資料庫資料庫
- 資料倉儲能為你當前資料庫體系的不足做些什麼? (轉)資料庫
- 資料是什麼——資料的倉庫
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 什麼是資料分析,資料分析能為企業帶來什麼?_光點科技
- 資料是什麼——資料與語言
- 什麼是資料庫檢視?資料庫
- MySQL資料庫是什麼?linux資料庫運維MySql資料庫Linux運維
- 織夢需要什麼資料庫織夢資料庫在哪資料庫
- 如何使用ChatGPT模擬MySQL資料庫ChatGPTMySql資料庫
- ChatGPT “眼”中的開源資料庫ChatGPT資料庫
- 資料庫mysql儲存是什麼?可以存什麼?資料庫MySql
- 資料庫審計是什麼意思?作用是什麼?資料庫
- 當Spring Cloud Alibaba Sentinel碰上Spring Cloud Sleuth會擦出怎樣的火花SpringCloud