六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

我為何要開(kāi)發(fā)一個(gè)專用的物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái),還開(kāi)源它?

Jeff Tao

2019-08-04 /

作者按:7月28日周日下午,在TDengine物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái)開(kāi)源兩周后,濤思數(shù)據(jù)聯(lián)合CSDN舉辦了「TDengine 和他的小伙伴們」Beijing Meetup活動(dòng)?;顒?dòng)后,我應(yīng)CSDN邀約,撰寫(xiě)此文,講述了我開(kāi)發(fā)TDengine的新路歷程,為什么我會(huì)想到要開(kāi)發(fā)物聯(lián)網(wǎng)專用的大數(shù)據(jù)平臺(tái)?與眾多創(chuàng)業(yè)者和程序員們分享。

我為何要開(kāi)發(fā)一個(gè)專用的物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái),還開(kāi)源它? - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
大家在看100億條記錄查詢的現(xiàn)場(chǎng)演示

7月12日,濤思數(shù)據(jù)宣布將TDengine開(kāi)源,10多萬(wàn)行C代碼,包括最核心的存儲(chǔ)引擎和計(jì)算引擎都上傳到了GitHub上。

整整兩周時(shí)間,GitHub上Star已經(jīng)超過(guò)7300,F(xiàn)ork數(shù)已經(jīng)超過(guò)1800,在開(kāi)發(fā)者社區(qū)中獲得的反響遠(yuǎn)超預(yù)期。應(yīng)開(kāi)發(fā)者要求,7月28日在北京進(jìn)行了一次線下交流,現(xiàn)場(chǎng)互動(dòng)十分熱烈。

我為何要開(kāi)發(fā)一個(gè)專用的物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái),還開(kāi)源它? - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
線下活動(dòng)現(xiàn)場(chǎng)

很多人好奇,為什么一個(gè)從沒(méi)研發(fā)過(guò)大數(shù)據(jù),也沒(méi)研發(fā)過(guò)數(shù)據(jù)庫(kù)軟件的人,能研發(fā)物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái)軟件?而且你怎么想到要開(kāi)發(fā)這樣軟件的?你三次創(chuàng)業(yè),每次都在跨界,怎么能做到的?

7月28日,我把創(chuàng)業(yè)過(guò)程中的思考和分析分享出來(lái),供在創(chuàng)業(yè)路上的朋友特別是技術(shù)型創(chuàng)業(yè)者參考。

2016年初,我上家創(chuàng)業(yè)公司快樂(lè)媽咪被收購(gòu),一下就輕松下來(lái)。但總有很多朋友拉我去看項(xiàng)目,有想讓我投資的,有想讓我加入團(tuán)隊(duì)的。因?yàn)槲以谥悄苡布ψ永镉幸欢麣?,因此看的最多的還是智能硬件、物聯(lián)網(wǎng)相關(guān)的項(xiàng)目?;俗约翰簧贂r(shí)間仔細(xì)琢磨的有好幾個(gè)項(xiàng)目。

第一個(gè)是菜市場(chǎng)的智能秤,希望通過(guò)智能秤將菜市場(chǎng)的信息流完全打通,打造一個(gè)不亞于美團(tuán)的平臺(tái)出來(lái);

第二個(gè)是養(yǎng)殖物聯(lián)網(wǎng),希望對(duì)投料機(jī)進(jìn)行自動(dòng)控制,對(duì)養(yǎng)殖的魚(yú)塘的環(huán)境進(jìn)行監(jiān)測(cè),通過(guò)物聯(lián)網(wǎng)將飼料、養(yǎng)殖、水產(chǎn)銷(xiāo)售打通,形成平臺(tái);

第三個(gè)是電梯物聯(lián)網(wǎng),系統(tǒng)通過(guò)監(jiān)測(cè),由按期保修變成按需保修,而且建立全國(guó)性的電梯維保平臺(tái)。

還有智能家居等好幾個(gè),但最終沒(méi)有一個(gè)打動(dòng)我,讓我投入進(jìn)去。因?yàn)槲曳治鲞@些項(xiàng)目之后,發(fā)現(xiàn)他們成功的關(guān)鍵因素,都不是我或者現(xiàn)有團(tuán)隊(duì)具備的。但這些項(xiàng)目讓我看到了物聯(lián)網(wǎng)的前景,看到萬(wàn)物互聯(lián)是不可阻擋的潮流,一定要抓住。我一個(gè)強(qiáng)技術(shù)背景,沒(méi)有多少行業(yè)資源的人,能在這股潮流里找到什么樣的機(jī)會(huì)?

我的第一反應(yīng)就是研發(fā)一個(gè)物聯(lián)網(wǎng)平臺(tái),但仔細(xì)一看,從IT巨頭如微軟、IBM、 Oracle、亞馬遜,到工業(yè)巨頭如GE、Siemens等等,無(wú)不有自己的物聯(lián)網(wǎng)平臺(tái),特別是仔細(xì)看完GE的Predix,發(fā)現(xiàn)自己能想到的東西都被它做了。

再看國(guó)內(nèi),做物聯(lián)網(wǎng)平臺(tái)的公司就更多了,海爾、三一、徐工、阿里、百度等等,就更不用提無(wú)數(shù)Startup了。心一下就涼了,這個(gè)物聯(lián)網(wǎng)平臺(tái)是絕不能做了,要做就是瞎折騰,唯一的可能性是緊靠一行業(yè)資源,靠行業(yè)特性和市場(chǎng)資源取勝,但我偏偏沒(méi)有多少行業(yè)背景和資源。

但在仔細(xì)看完很多物聯(lián)網(wǎng)平臺(tái)的資料后,終于發(fā)現(xiàn)了一絲曙光,那就是數(shù)據(jù)處理。物聯(lián)網(wǎng)平臺(tái)里模塊很多,但其中很重要的一塊就是數(shù)據(jù)處理,包括采集、存儲(chǔ)、查詢、分析和計(jì)算,是整個(gè)物聯(lián)網(wǎng)行業(yè)里面比較共性的部分,個(gè)性化程度不高。

再仔細(xì)一看,大部分物聯(lián)網(wǎng)平臺(tái),尤其是國(guó)內(nèi)的,幾乎無(wú)一例外的用的是Hadoop生態(tài)搭建的,用的是互聯(lián)網(wǎng)行業(yè)流行的大數(shù)據(jù)架構(gòu),采集進(jìn)來(lái)的數(shù)據(jù)先進(jìn)Kafka, 然后分流進(jìn)HBase/Cassandra/MongoDB等做持久化存儲(chǔ),進(jìn)Redis做緩存,進(jìn)Spark/Flink等做流式計(jì)算,后面再接應(yīng)用、大屏展示等等。雖然我沒(méi)有真正接觸過(guò)大數(shù)據(jù)的處理,但了解這些通用的大數(shù)據(jù)框架后,我的第一反應(yīng)就是,Hadoop這套體系太重,至少對(duì)于物聯(lián)網(wǎng)大數(shù)據(jù)而言如此。搭建一個(gè)平臺(tái),居然要好多款開(kāi)源軟件拼接在一起,研發(fā)、運(yùn)維效率會(huì)很低,數(shù)據(jù)一致性很難保證,定位一個(gè)問(wèn)題牽涉的環(huán)節(jié)太多,很不適合私有化部署。

將各種物聯(lián)網(wǎng)場(chǎng)景抽象出來(lái),我總結(jié)出了物聯(lián)網(wǎng)數(shù)據(jù)的十二大特點(diǎn):

1.數(shù)據(jù)是時(shí)序的,一定帶有時(shí)間戳;2.數(shù)據(jù)是結(jié)構(gòu)化的;3.數(shù)據(jù)極少有更新或刪除操作;4.數(shù)據(jù)源是唯一的;5.相對(duì)互聯(lián)網(wǎng)應(yīng)用,寫(xiě)多讀少;7.用戶關(guān)注的是一段時(shí)間的趨勢(shì),而不是某一特點(diǎn)時(shí)間點(diǎn)的值;8.數(shù)據(jù)是有保留期限的;7.數(shù)據(jù)的查詢分析一定是基于時(shí)間段和地理區(qū)域的;9.除存儲(chǔ)查詢外,還往往需要各種統(tǒng)計(jì)和實(shí)時(shí)計(jì)算操作;10.流量平穩(wěn),可以預(yù)測(cè);11.往往需要有插值等一些特殊的計(jì)算;12.數(shù)據(jù)量巨大,一天采集的數(shù)據(jù)就可以超過(guò)100億條。

總結(jié)出這些特點(diǎn)后,一下豁然開(kāi)朗,覺(jué)得采用Hadoop這些開(kāi)源軟件來(lái)處理物聯(lián)網(wǎng)數(shù)據(jù)完全是大錯(cuò)特錯(cuò)。

物聯(lián)網(wǎng)數(shù)據(jù)像日志數(shù)據(jù),幾乎沒(méi)有更新操作的可能,那數(shù)據(jù)庫(kù)中的事務(wù)處理的實(shí)現(xiàn)就完全多余;數(shù)據(jù)是時(shí)序的,時(shí)間戳自然可以作為主鍵,根本不需要復(fù)雜的索引結(jié)構(gòu);物聯(lián)網(wǎng)數(shù)據(jù)是結(jié)構(gòu)化的,像HBase、Cassandra那樣用Key-Value來(lái)存儲(chǔ),計(jì)算效率和存儲(chǔ)效率大打折扣,應(yīng)該采用結(jié)構(gòu)化存儲(chǔ)才行;物聯(lián)網(wǎng)數(shù)據(jù)的冷熱程度是時(shí)間決定的,剛采集的數(shù)據(jù)是最熱的,而不是用戶點(diǎn)擊決定。因此用簡(jiǎn)單的先進(jìn)先出的內(nèi)存管理就能很好的實(shí)現(xiàn)高效的緩存,根本就不需要Redis;物聯(lián)網(wǎng)數(shù)據(jù)從一個(gè)設(shè)備來(lái)看,就是一個(gè)數(shù)據(jù)流,實(shí)現(xiàn)滑動(dòng)窗口的流計(jì)算那不是一個(gè)最順其自然的事情,哪用得上Spark這么復(fù)雜的引擎;對(duì)于數(shù)據(jù)分區(qū),簡(jiǎn)單的按設(shè)備分區(qū)按時(shí)間段分區(qū),就輕松解決,根本就不需要復(fù)雜的分區(qū)機(jī)制;物聯(lián)網(wǎng)數(shù)據(jù)流是相對(duì)平穩(wěn)的,而且物聯(lián)網(wǎng)設(shè)備本身一定有緩存能力,完全可以拋棄Kafka這些套件,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的消息隊(duì)列和數(shù)據(jù)訂閱來(lái)滿足需求。

隨后又發(fā)現(xiàn)有時(shí)序數(shù)據(jù)庫(kù),馬上看他們文檔和代碼,發(fā)現(xiàn)他們利用了時(shí)序數(shù)據(jù)一些特點(diǎn),但還是沒(méi)有充分利用,而且只是定位為一個(gè)數(shù)據(jù)庫(kù)。后面又了解到工業(yè)界有實(shí)時(shí)數(shù)據(jù)庫(kù),發(fā)現(xiàn)這些實(shí)時(shí)數(shù)據(jù)庫(kù)都是老古董產(chǎn)品了,基本上都還是Windows上研發(fā),價(jià)格貴,而且沒(méi)有標(biāo)準(zhǔn)SQL,水平擴(kuò)展幾乎沒(méi)有,大數(shù)據(jù)分析能力幾乎沒(méi)有,完全沒(méi)有能力應(yīng)對(duì)日益增長(zhǎng)的大數(shù)據(jù)量和大數(shù)據(jù)分析需求,遲早會(huì)被淘汰。

我做完分析后很興奮,覺(jué)得找到了一空白點(diǎn)。但我自己有沒(méi)有能力研發(fā)這產(chǎn)品?仔細(xì)一琢磨,還是興奮。

2008年,我創(chuàng)辦和信,推送平臺(tái)除推送之外,一個(gè)重要的模塊就是消息隊(duì)列。2009年,我們就研發(fā)了一個(gè)分布式高可靠、持久化存儲(chǔ)的消息隊(duì)列,每臺(tái)手機(jī)需要推送的消息就放在一個(gè)隊(duì)列里。消息隊(duì)列與物聯(lián)網(wǎng)的時(shí)序數(shù)據(jù)有區(qū)別嗎?本質(zhì)上沒(méi)有。

一個(gè)是非結(jié)構(gòu)化的,一個(gè)是結(jié)構(gòu)化的;一個(gè)是簡(jiǎn)單的進(jìn)和出,但另外一個(gè)是需要有分析和計(jì)算的;兩者在系統(tǒng)的架構(gòu)設(shè)計(jì)上沒(méi)有大的不同。

考慮到必須設(shè)計(jì)成分布式系統(tǒng),因?yàn)槎嗄晖ㄓ嵲O(shè)備研發(fā)背景,對(duì)我那是輕車(chē)熟路。因此,我應(yīng)該具備所需要的知識(shí)儲(chǔ)備和技能,自己多年積累的研發(fā)經(jīng)驗(yàn)全部能派上用場(chǎng) 。

因此我迅速定位了自己要做的產(chǎn)品,那就是物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái),要把時(shí)序數(shù)據(jù)庫(kù)、緩存、消息訂閱、流式計(jì)算等系列功能融合在一起,一站式的解決物聯(lián)網(wǎng)大數(shù)據(jù)問(wèn)題,這樣才能將系統(tǒng)研發(fā)、維護(hù)的復(fù)雜度與成本大幅降低。前面兩次創(chuàng)業(yè),都是2C產(chǎn)品,讓我養(yǎng)成了追求簡(jiǎn)單極致的習(xí)慣,馬上又定下采用SQL接口,能通過(guò)JDBC接口與眾多第三方工具無(wú)縫集成,安裝部署要一鍵搞定的策略,目的是要讓開(kāi)發(fā)者用起來(lái)輕松,完全沒(méi)有學(xué)習(xí)成本。

研究物聯(lián)網(wǎng)數(shù)據(jù)的特點(diǎn)后,我想到了兩個(gè)技術(shù)創(chuàng)新點(diǎn),一是“一臺(tái)設(shè)備一張表”的數(shù)據(jù)模型來(lái)極大提高單臺(tái)設(shè)備的數(shù)據(jù)插入和查詢效率,  二是給每張表打靜態(tài)標(biāo)簽,將靜態(tài)標(biāo)簽數(shù)據(jù)與采集的動(dòng)態(tài)數(shù)據(jù)完全分開(kāi)存儲(chǔ),來(lái)解決多表聚合查詢問(wèn)題。

想明白這些后,2016年底,接近50歲的我決定親自寫(xiě)程序開(kāi)干。為什么不找人呢?幾個(gè)原因,1:自己做技術(shù)多年,有個(gè)心結(jié),就是希望自己寫(xiě)的代碼能被無(wú)數(shù)的人使用;2:開(kāi)發(fā)難度大,特別是分布式,如果我自己不把主要框架搭完,把存儲(chǔ)引擎寫(xiě)好,那團(tuán)隊(duì)效率會(huì)很低;3:這個(gè)產(chǎn)品的核心是技術(shù),如果自己不重度參與研發(fā),那公司會(huì)很危險(xiǎn)。

我準(zhǔn)備動(dòng)手寫(xiě)的時(shí)候,告訴太太,如果我寫(xiě)的存儲(chǔ)引擎在數(shù)據(jù)插入、查詢速度上不比其他數(shù)據(jù)庫(kù)好五倍以上,就當(dāng)做我又寫(xiě)了一段好玩的程序。如果能達(dá)到五倍以上,那我就要再折騰一次。 因?yàn)樵谖业难劾铮夹g(shù)型的產(chǎn)品,要打敗市場(chǎng)上現(xiàn)有的廠商,如果沒(méi)有五倍以上的優(yōu)勢(shì),那完全沒(méi)有必要做,因?yàn)閷?duì)方有人、有錢(qián),有客戶群,你憑什么與對(duì)方開(kāi)戰(zhàn)?

幸運(yùn)的是,我2個(gè)月時(shí)間,寫(xiě)完一萬(wàn)八千多行代碼,完全證明憑借我的兩大創(chuàng)新,性能上可以秒殺市場(chǎng)上現(xiàn)有產(chǎn)品,因此就有了今天的TDengine。 

我為何要開(kāi)發(fā)一個(gè)專用的物聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái),還開(kāi)源它? - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
濤思數(shù)據(jù)團(tuán)隊(duì)在Meetup現(xiàn)場(chǎng)

研發(fā)底層基礎(chǔ)軟件,開(kāi)發(fā)難,推廣更難。即使功能、性能比現(xiàn)有產(chǎn)品好一個(gè)數(shù)量級(jí),客戶還是會(huì)以安全性和穩(wěn)定性為由拒絕你,因此我想到應(yīng)該用開(kāi)源的方式,把最核心的代碼和詳細(xì)的設(shè)計(jì)都曬出來(lái),讓更多的程序員參與進(jìn)來(lái),將開(kāi)發(fā)者社區(qū)建立起來(lái)?;钴S的開(kāi)發(fā)者社區(qū)能讓所有大客戶都感覺(jué)到所選的技術(shù)不會(huì)被拋棄,不會(huì)有重大安全漏洞, 可放心使用。

另外一方面,很多中小企業(yè)客戶數(shù)據(jù)量不大,技術(shù)上有很多選擇,如果不開(kāi)源,他們就會(huì)選擇一些其他的開(kāi)源方案。本來(lái)就賺不到他們的錢(qián),那為何不開(kāi)源給他們,讓他們免費(fèi)用呢?不僅要讓大家免費(fèi)用,我們還要組織一個(gè)不小的團(tuán)隊(duì)來(lái)運(yùn)營(yíng),與各種背景的開(kāi)發(fā)者互動(dòng),回答他們的疑問(wèn),讓他們得到技術(shù)支持和幫助,更希望他們參與進(jìn)來(lái),有榮譽(yù)感和自豪感,他們才可能發(fā)自內(nèi)心地傳播。

同時(shí),通過(guò)開(kāi)源,可以快速獲得市場(chǎng)對(duì)產(chǎn)品的反饋,了解市場(chǎng)的需求,這是一件多好的事情,因此毫無(wú)猶豫的決定開(kāi)源。大數(shù)據(jù)平臺(tái)、物聯(lián)網(wǎng)平臺(tái)和數(shù)據(jù)庫(kù)都已經(jīng)有很多主流產(chǎn)品,挑戰(zhàn)他們是一件困難的事情。而專為物聯(lián)網(wǎng)打造的大數(shù)據(jù)平臺(tái),目前還沒(méi)有,TDengine在全球是第一家。

物聯(lián)網(wǎng)的市場(chǎng)在高速增長(zhǎng),采集的數(shù)據(jù)量更是指數(shù)式的上升,5年的時(shí)間,世界上90%的數(shù)據(jù)都會(huì)是物聯(lián)網(wǎng)類型的數(shù)據(jù),這個(gè)細(xì)分市場(chǎng)一定會(huì)成為一個(gè)主流市場(chǎng)。只要濤思數(shù)據(jù)團(tuán)隊(duì)繼續(xù)努力,抱著開(kāi)放、合作的態(tài)度,充分利用開(kāi)源打造出技術(shù)生態(tài),同時(shí)與全球的系統(tǒng)集成商、獨(dú)立軟件開(kāi)發(fā)商、渠道等合作,積極的構(gòu)建出商業(yè)生態(tài),那TDengine一定有成為獨(dú)角獸的一天。

喜歡丘吉爾說(shuō)的一句話,“Success is not final, failure is not fatal, it is the courage to continue that counts”,繼續(xù)奔跑吧,伙伴們!