干貨 | 數字經(jīng)濟創(chuàng )新創(chuàng )業(yè)——DWF和Apache IOTDB研究項目介紹(2)
接下來(lái)有請清華大學(xué)的Yingbo向大家介紹他們目前的項目。
——Chris
非常榮幸能向大家介紹我們目前的工作。今天我向大家介紹的是快速數據驅動(dòng)的應用程序發(fā)展。其實(shí)大數據在今天并不是一個(gè)新的轉折。我們中國有很多互聯(lián)網(wǎng)行業(yè)的領(lǐng)導者,比如阿里巴巴、百度,他們是大數據的強勢玩家。而且大部分都是面向消費者的。不過(guò),如果仔細看看中國經(jīng)濟,可能會(huì )發(fā)現,還有一些主要行業(yè)仍然在追不上大數據的潮流,例如制造業(yè)建筑運輸等。而今天這些行業(yè)正面臨兩大挑戰,第一是從需求方面,行業(yè)仍然缺乏對先進(jìn)的大數據應用程序有深刻理解的人才,如果我們回頭看看我們今天提供的技術(shù),也不足以讓他們解決他們的具體問(wèn)題。然而,大數據有許多新的重點(diǎn)領(lǐng)域,如人工智能機器學(xué)習和數據科學(xué)等,所以我們希望我們正在做的是面向主要經(jīng)濟部門(mén)的技術(shù)和應用創(chuàng )新?;谶@一使命,我們清華大學(xué)還成立了“大數據研究中心”,而這些研究中心是基于兩個(gè)由國家發(fā)改委支持成立的研究中心。
我們有三個(gè)主要研究方向,第一個(gè)是數據庫技術(shù),最具代表性的是IOTDB。第二個(gè)是數據分析,包括Flok和Anylearn。第三個(gè)方向是數據vacation開(kāi)發(fā)包括dataway框架,我將在接下來(lái)幾分鐘向大家介紹。
我們開(kāi)發(fā)dataway框架的動(dòng)機是因為在中國我們發(fā)現有很多傳統行業(yè)在嘗試數字化,但這些行業(yè)總是受到現實(shí)世界的限制。對于工程機械來(lái)說(shuō),它的增長(cháng)速度是受到材料技術(shù)發(fā)展和一些現實(shí)問(wèn)題的限制。但如果在另一邊我們可以看看左邊,會(huì )發(fā)現我們也見(jiàn)過(guò)被世界公認的著(zhù)名項目包括 mongoDB,Tensor Flow和最古老的東西。傳統工業(yè)和數字化之間存在著(zhù)巨大的差距,左側的軟件可以迅速地更新迭代,但不幸的是,在另一邊,他們發(fā)現必須全部使用它們或全部學(xué)習它們。一個(gè)簡(jiǎn)單的要求經(jīng)常以艱難的方式實(shí)施。
在中國,我們也面臨諸多挑戰,工具太過(guò)笨重,人才價(jià)格昂貴,企業(yè)缺乏現成的應用程序,因為IT行業(yè)快速發(fā)展,新的需求無(wú)法第一時(shí)間得到滿(mǎn)足。結果是薄弱的,數字化轉型的增長(cháng)預期與工業(yè)內部的開(kāi)發(fā)規則之間存在矛盾。
因此,基于這種演變,我們希望改變我們只想專(zhuān)注于大數據的想法,我們必須做一些大數據的應用程序開(kāi)發(fā)工具。我們定義了開(kāi)發(fā)環(huán)節的四個(gè)指標,第一個(gè)是一體化,開(kāi)發(fā)人員關(guān)注兩個(gè)重要方面:數據和交互,節約時(shí)間來(lái)考慮軟件架構和技術(shù)細節。第二點(diǎn)是高度整合性,我們采用了一個(gè)模型驅動(dòng)的設計概念來(lái)推行基于整合行為的系統,減少后續測試和維護的成本。第三點(diǎn)是敏感性,系統適時(shí)交付、適時(shí)修改、對改變需求及時(shí)響應。最后一點(diǎn)是少代碼化?;谀P偷拇a減少代碼總量,降低開(kāi)發(fā)難度。Dataway 架構與傳統架構不同之處在于,更關(guān)注應用程序。
基于數據框架,它通常用于三個(gè)主要場(chǎng)景。第一個(gè)是大數據系統協(xié)作,我們都知道大數據系統非常復雜,我們不能要求每個(gè)人都成為程序員去使用它,而使用dataway 框架就可以實(shí)現用戶(hù)與數據的交互。另外一個(gè)是快速應用開(kāi)發(fā),為了給中小企業(yè)檢驗新的想法是否可行。最后一個(gè)是智能應用程序快速開(kāi)發(fā)工具。該工具整合了IOT和AI。以上關(guān)于大數據的內容,接下來(lái)我會(huì )展示一個(gè)例子。Dataway 框架有兩個(gè)主要的部分,第一個(gè)是現代工具,包括一個(gè)數據模型、形成模型、功能模型、組織模型和授權模型。數據整合也是現代管理。這是一種模型驅動(dòng)的編輯工具。另外一個(gè)是解釋模型的應用程序,最終用于用戶(hù)教育。對于前者來(lái)說(shuō),如果我們從簡(jiǎn)單的教育開(kāi)始,比如一個(gè)Excel表格文件,dataway框架的數據會(huì )自動(dòng)分析表格內容,并迅速創(chuàng )建模型。
——YingBo
感謝Kris對大數據現狀的介紹,而我們所做的正是管理大數據。今天我想跟大家分享的是清華大學(xué)開(kāi)發(fā)的IOTDB項目,這是目前世界上頂尖的開(kāi)源項目。
首先,我將向大家介紹什么是時(shí)序數據。時(shí)序是在特定時(shí)間點(diǎn)序列采集的標準化記錄,占據了80%的數據席位。時(shí)序數據隨處可見(jiàn),滲透到工業(yè)和人類(lèi)活動(dòng)的方方面面。實(shí)際上,時(shí)序數據在幾年前的工業(yè)革新關(guān)鍵基礎設施中就已經(jīng)為人所知。通用電氣早在十年前就已經(jīng)強調了時(shí)序數據的重要性。
電力行業(yè)也有一些場(chǎng)景顯露出時(shí)序數據管理的重要。從傳統角度來(lái)看,我們有一些不錯的去中心化控制系統用于管理實(shí)時(shí)數據,但現在我們需要的不僅是堆積如山的實(shí)時(shí)數據,還有歷史數據的管理。例如,變電站和能源發(fā)電站已經(jīng)變得越來(lái)越需求導向,對于實(shí)時(shí)數據,我們可以進(jìn)行遠程監控和遠程操作,但是如果我們有一批歷史數據,我們就有更多的事可以做??梢宰鰴C器的數字配置文以評估機器健康狀況,如果有機器備件,我們也可以在變電站出現設備失靈的情況之前及時(shí)進(jìn)行調撥。再者,如果我們擁有全生命過(guò)程數據,我們可以嘗試改善生產(chǎn)或發(fā)電流程。
過(guò)去幾年,我們曾經(jīng)使用DCS系統,但現在我們不僅在數據中心的工廠(chǎng),而且在設備中部署軟件。我們的管理容量也從十年或二十年前的幾萬(wàn)個(gè)數據點(diǎn)到幾千萬(wàn)個(gè)數據點(diǎn)。以前我們可能只需存儲百分之一到百分之十的數據,現在為了更多的分析,我們可能需要存儲所有的數據。近幾年有一個(gè)非?;鸬男略~叫做”邊緣到云同步”(edge-to-cloud synchronization),它也要求為數據處理更好地管理數據。
上圖是使用DB-engines生成的圖表,它表明,時(shí)序數據的重要性在最近一段時(shí)間內已經(jīng)引起了業(yè)界的關(guān)注。數據庫還是數據庫管理系統有很多種,例如傳統的關(guān)系數據庫或鍵值數據庫,但現在我們有一個(gè)非常熱門(mén)的時(shí)序數據庫,例如Influxdb和GE PREDIX以及KairosDB等是分布式非關(guān)系型數據庫。
下面我將介紹的是Apache IOTDB。你可能會(huì )疑惑,為什么已經(jīng)有這么多種類(lèi)型的數據庫,還要再開(kāi)發(fā)新的呢?那是因為許多數據庫有自身缺陷,例如關(guān)系型數據庫,目前用于90%的系統,但是其模型數量有限,不能儲存大量數據,如果我們有一個(gè)表格,表格只能設置1000列和1000萬(wàn)行以?xún)鹊臄祿?。另一種類(lèi)型是鍵值數據庫,它的缺陷也是數據存儲量限制。例如MangoDB對管理大數據表現很差。也有一些時(shí)序數據庫,但是其中大部分也是基于關(guān)系型數據庫或鍵值數據庫管理系統。而IOTDB則解決了上述缺陷。它是在十年前由清華大學(xué)團隊打造的新型數據庫,于2018年11月進(jìn)入捐贈給Apache,進(jìn)行了為期1年10個(gè)月的孵化,兩年后成為世界頂尖的項目,并榮獲了許多獎項。
IOTDB是一個(gè)IOT native數據管理系統,IOT native意味著(zhù)專(zhuān)門(mén)針對IOT場(chǎng)景使用,非常輕便易用,并且能夠深度整合進(jìn)入大數據生態(tài)系統的軟件。例如Apache PLC4X。物聯(lián)網(wǎng)旨在解決典型物聯(lián)網(wǎng)用例的痛點(diǎn),例如海量數據生成和高頻采樣。這是 Apache IOTDB 的架構。我們可以從圖片中看到,有兩個(gè)部分實(shí)際上是一個(gè)文件層和引擎層。ts文件是優(yōu)化了記錄數據的文件格式,它將被上傳到IOTDB服務(wù)器。而Grafana連接器是可視化的儀表板。對于與大數據系統的集成,有許多連接器。
IOTDB有許多特點(diǎn)。例如,它的跨平臺部署能力強。它是一個(gè)開(kāi)源的,有一個(gè)非常廣泛的生態(tài)系統。而且其特有的數據格式ts文件具有非常高的壓縮率,可以節省大量存儲空間。
IOTDB擁有大量的數據模型。以車(chē)輛數據為例,燃油車(chē)輛可以有一個(gè)唯一的ID,它的速度或燃油狀態(tài)將單獨存儲,而不在這里的可以隨時(shí)根據需要擴展。對ts文件來(lái)說(shuō),有很多不同數據類(lèi)型,可以隨時(shí)根據需要存儲。
目前有兩種非常流行的文件格式Parquet和ORC。Ts文件與之相類(lèi)似性能卻優(yōu)于兩者。不僅有多種數據模型,其時(shí)序編碼也是優(yōu)化的。除此之外,它還有設備水平指數,這在我們導入數據的時(shí)候可以獲得更多關(guān)于數據本身的信息。通常,如果我們想從邊緣設備(例如我們的手機)或從車(chē)輛上傳數據到云,我們需要有兩個(gè)過(guò)程,首先我們需要對數據進(jìn)行編碼,然后上傳包。而云必須解碼數據并做進(jìn)一步的處理。但是對于 T S 文件,T S 文件本身可以只上傳到云或數據中心,可以只導入數據,這樣我們可以節省大量的時(shí)間和計算資源。
簡(jiǎn)單介紹一下邊云協(xié)同。它有兩個(gè)含義,第一,IOTDB可以部署在云上或數據中心或者在邊緣設備上。而在另一方面, ts文件可以在三個(gè)不同的平臺上同步。而且IOTDB還有一個(gè)非常廣泛的生態(tài)系統,它能夠與大數據系統深度集成。
Apache IOTDB有一些已經(jīng)非常廣泛的用例,不僅在中國而且在美國和歐洲都有使用,并且涵蓋了衛星航空和鐵路和船舶業(yè)。從重點(diǎn)央企和國內龍頭企業(yè)都有使用。
這是上海地鐵的一個(gè)非常典型的用例,他們在嘗試IOTDB之前使用Cassandra數據庫管理系統,但后來(lái)他們發(fā)現其性能不佳。而IOTDB一臺服務(wù)器可以取代15個(gè)原始數據庫服務(wù)器。而且可以管理300條列車(chē)的數據,每條列車(chē)每200毫秒可以收集3200條數據,日均數據量達到4000億。在IOTDB被使用之前,大約是兩百太字節的數據存儲,但在IOTDB使用之后,數據量減少到大約十六太。IOTDB在其他領(lǐng)域也有著(zhù)非常廣泛的應用。
最后,我想介紹一下Apache IOTDB開(kāi)源社區,這是一個(gè)開(kāi)源項目,如果大家感興趣,都可以加入進(jìn)來(lái)。
——Pengcheng
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。