網(wǎng)站性能檢測(cè)評(píng)分
注:本網(wǎng)站頁(yè)面html檢測(cè)工具掃描網(wǎng)站中存在的基本問(wèn)題,僅供參考。
擴(kuò)展
如何刪除Safari瀏覽器的擴(kuò)展程序 大神教你搞定 互聯(lián)網(wǎng)視頻課程
TiDB,為SQL注入分布式可擴(kuò)展性 推廣視頻課程
時(shí)下,一大批新型數(shù)據(jù)庫(kù)急劇涌現(xiàn),諸如GoogleSpanner、FaunaDB、Cockroach以及TimeScaleDB等等,這些數(shù)據(jù)庫(kù)都在專注解決影響標(biāo)準(zhǔn)SQL的規(guī)模問(wèn)題。現(xiàn)在,另一位來(lái)自中國(guó)北京的競(jìng)爭(zhēng)者——PingCAP開(kāi)源的TiDB項(xiàng)目,旨在維持ACID事務(wù)的同時(shí),使SQL也具備N(xiāo)oSQL系統(tǒng)的可伸縮性。 PingCAP聯(lián)合創(chuàng)始人兼首席執(zhí)行官劉奇表示,該項(xiàng)目全面支持MySQL協(xié)議,也就意味著用戶可以重新利用MySQL工具,大大減少遷移成本。在多數(shù)情況下,用戶甚至無(wú)需修改應(yīng)用程序的任何代碼即可取代MySQL。另外它是橫向擴(kuò)展的,通過(guò)簡(jiǎn)單地增加機(jī)器數(shù)量就可以提高性能。 去年十月,劉奇在阿姆斯特丹的PerconaLive會(huì)議上提出了TiDB項(xiàng)目,彼時(shí)項(xiàng)目還處于測(cè)試階段,目前項(xiàng)目已進(jìn)化到候選版本。本周四,PingCAP聯(lián)合創(chuàng)始人兼首席技術(shù)官愛(ài)德華黃將在加州,圣克拉拉的PerconaLive會(huì)議上披露TiDB項(xiàng)目的新進(jìn)展。 他們認(rèn)為T(mén)iDB兼具SQL和NoSQL的優(yōu)勢(shì),并且致力于使它: 易于使用; 確保數(shù)據(jù)不會(huì)丟失,故障情況下自我修復(fù); 跨平臺(tái)且可以在任何環(huán)境中運(yùn)行; 開(kāi)源。 該項(xiàng)目還允許模式在線變化,所以可以根據(jù)實(shí)際需求來(lái)修改模式。此外,在不影響業(yè)務(wù)進(jìn)展的前提下,用戶還可以添加新列和索引。 在某次郵件采訪中,劉奇提到:作為一個(gè)開(kāi)源項(xiàng)目,TiDB已有超過(guò)100名貢獻(xiàn)者。 TiDB項(xiàng)目靈感來(lái)源于GoogleF1分布式數(shù)據(jù)庫(kù)及GoogleSpanner。Google在自己的專有系統(tǒng)上建立了Spanner,并不開(kāi)源,這在一部分人看來(lái)是個(gè)缺點(diǎn)。 “如果使用Spanner,用戶即默認(rèn)承諾在GCE(GoogleComputeEngine)運(yùn)行服務(wù),并有可能貫穿服務(wù)的整個(gè)生命周期。即使用戶選擇運(yùn)行自己的堆棧,也不會(huì)出棧。”CockroachLabs首席執(zhí)行官SpencerKimball此前曾向TheNewStack透露。 TiDB采用松散耦合的方法,由一個(gè)MySQLServer層和SQL層組成,其基礎(chǔ)是開(kāi)源分布式事務(wù)鍵-值數(shù)據(jù)庫(kù)TiKV。TiKV是另一個(gè)PingCAP項(xiàng)目,使用Rust編程語(yǔ)言和分布式協(xié)議Raft,而TiDB用的是Go編程語(yǔ)言。TiKV項(xiàng)目?jī)?nèi)含MVCC(多版本并發(fā)控制)、Raft以及使用RocksDB的本地鍵值存儲(chǔ)等功能,它同樣使用SparkConnector。 劉奇表示,TiDB與Spanner相比較有兩點(diǎn)不同: Spanner底層依賴于Google的Colossus分布式文件系統(tǒng),但TiDB可以確保安全日志存儲(chǔ)在Raft層。也就是說(shuō)TiDB不依賴任何分布式文件系統(tǒng),大大降低了寫(xiě)入延遲。 “我們還看到了SQL優(yōu)化器的巨大潛力,但Google似乎并不打算在F1項(xiàng)目中深入研究這方面。在設(shè)計(jì)我們的項(xiàng)目時(shí),我們就旨在探索優(yōu)化器的能力,”他說(shuō)。 受益于原子鐘的使用,Spanner獲得了廣泛關(guān)注,用戶可以借助它在地理分布的數(shù)據(jù)中心間獲得時(shí)間同步。TiDB沒(méi)有使用原子鐘和GPS時(shí)鐘,相反,它依靠Percolator(2006年Google發(fā)表的一篇論文)中所介紹的TimestampAllocator。 TiDB支持流行的容器技術(shù),例如Docker。目前團(tuán)隊(duì)正在致力于對(duì)Kubernetes提供支持,劉奇表示,這方面工作中的難點(diǎn),在之前的阿姆斯特丹會(huì)議上恰好提到過(guò)。 現(xiàn)在他們正在努力解決的最大問(wèn)題是延遲,尤其是地理分布的數(shù)據(jù)中心之間存在的延遲,他希望這一問(wèn)題能在不久的將來(lái)得到解決。 PingCAP由高級(jí)分布式系統(tǒng)工程師黃東旭、高級(jí)系統(tǒng)工程師崔秋以及基礎(chǔ)設(shè)施工程師劉奇共同創(chuàng)立于2015年4月,它有48個(gè)在北京的工程師和其他來(lái)自中國(guó)各地的遠(yuǎn)程工作者。 其客戶包括手機(jī)游戲提供商GAEA,它使用TiDB支持跨平臺(tái)的實(shí)時(shí)廣告系統(tǒng),這要求面對(duì)大容量數(shù)據(jù)時(shí)能夠在一定期限內(nèi)具備高峰負(fù)荷能力和經(jīng)驗(yàn)。TiDB支持自動(dòng)分片和底層,TiKV自動(dòng)分配集群中的數(shù)據(jù),幫助GAEA降低操作和維護(hù)的成本。