溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

巨杉數(shù)據(jù)庫和mongodb有什么關(guān)系

發(fā)布時(shí)間:2021-10-12 09:57:08 來源:億速云 閱讀:158 作者:柒染 欄目:云計(jì)算

巨杉數(shù)據(jù)庫和mongodb有什么關(guān)系,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

巨杉數(shù)據(jù)庫作為商業(yè)化開源軟件,已經(jīng)擁有大量社區(qū)用戶。開源至今,大到分布式數(shù)據(jù)庫原理、架構(gòu)問題,小到SDB巨杉數(shù)據(jù)庫的安裝使用問題,大家似乎都有很多問題想要和我們交流,所以我們邀請技術(shù)大咖和大家好好聊聊,有啥問題盡管放馬過來!


昨天,我們就請到巨杉數(shù)據(jù)庫的兩位技術(shù)大咖在巨杉官方微信群針對分布式數(shù)據(jù)庫的相關(guān)內(nèi)容對于群友的提問進(jìn)行解答。來淘點(diǎn)干貨吧!

1.官方數(shù)據(jù)說巨杉很多性能超過mongoDB,前者是否可以替代后者,不能完全替代的話,在哪些性能方面巨杉能力不足于mongoDB,為什么,有設(shè)計(jì)方面的因素嗎?mongodb和SDB有什么關(guān)系?

SDB完全可以替代mongodb,而且很多功能mongodb并不支持。例如事務(wù)、join查詢等。

目前在性能上超越mongodb,而且在分布機(jī)制上也比mongodb完善。

要說弱點(diǎn),主要在社區(qū)的推廣和發(fā)展上,mongodb最早的出發(fā)點(diǎn)是從開發(fā)開始的。

e-r關(guān)系結(jié)構(gòu)對于開發(fā)來說迭代太慢了,所以JSON文檔型和對象一一對應(yīng),而且沒有schema的限定,對于開發(fā)POC等迭代幫助太大了,很多互聯(lián)網(wǎng)企業(yè)都是半天出個(gè)版本,這對開發(fā)要求很高。

Mongodb在易用性上做的很好,我們也在努力,希望大家支持!

Mongodb和SDB沒有任何關(guān)系,大家的出發(fā)點(diǎn)非常不同。

2.數(shù)據(jù)庫的開發(fā)本身技術(shù)要求都很高,需要論文原理來支撐,就像CAP理論中的AC的平衡,更希望能聽到原理性的分析。

CAP主要是指Consistency(一致性); Availability(可用性);Partition tolerance(分區(qū)容錯(cuò)性);主要在分布式存儲(chǔ)系統(tǒng)中提出的理論,P是分布式里必須的,當(dāng)網(wǎng)絡(luò)等因素發(fā)生故障的時(shí)候,A和C不能同時(shí)滿足,因此提出了“三選二”的概念,及AP和CP的取舍選擇。

三選二會(huì)誤導(dǎo)很多新人,覺得不是CP就是AP,其實(shí)這個(gè)選擇是極端情況的,并不是簡單的非黑即白的選擇。

首先,由于分區(qū)很少發(fā)生,那么在系統(tǒng)不存在分區(qū)的情況下沒什么理由犧牲C或A。其次,C與A之間的取舍可以在同一系統(tǒng)內(nèi)以非常細(xì)小的粒度反復(fù)發(fā)生,而每一次的決策可能因?yàn)榫唧w的操作,乃至因?yàn)闋可娴教囟ǖ臄?shù)據(jù)或用戶而有所不同。所以是0-100%之間的變化。

這里舉例來說,分布式一主兩從,保障了AP,但網(wǎng)絡(luò)同步的速度決定了CP的能力,所以這個(gè)同步能力就是根據(jù)網(wǎng)絡(luò)環(huán)境從0-100%里變化的。

當(dāng)條件好的時(shí)候,就基本都滿足,當(dāng)斷網(wǎng)了,就要做取舍,但是當(dāng)同步完成,從節(jié)點(diǎn)升級為主節(jié)點(diǎn)后,又恢復(fù)了。

當(dāng)然如果要100%保證CP必須強(qiáng)一致,那么當(dāng)一臺(tái)機(jī)器宕機(jī),強(qiáng)一致就做不到了,就滿足不了CP了。

ACID是傳統(tǒng)關(guān)系型數(shù)據(jù)庫最為重要的特征,原子性、一致性、隔離性、持久性;強(qiáng)調(diào)的是一致性。屬于CP。

BASE是基本可用(Basically Available)軟狀態(tài)(Soft State)最終一致性(Eventually Consistent)軟狀態(tài)就是中間狀態(tài),例如同步延時(shí)時(shí)的分布式從節(jié)點(diǎn)的副本狀態(tài)。從BASE的角度,高可用是優(yōu)先保障的。屬于AP。

如何在這兩種狀態(tài)保持平衡,就需要從業(yè)務(wù)邏輯,用戶需求,業(yè)務(wù)需求出發(fā)。

3.現(xiàn)在巨杉數(shù)據(jù)庫分社區(qū)版和企業(yè)版,社區(qū)辦是否有閹割,這兩種分別適用哪些場景?

開源的社區(qū)版和企業(yè)版的數(shù)據(jù)庫內(nèi)核源碼都是一致的,相較于企業(yè)版,社區(qū)版只是可視化上操作以及SparkSQL這部分有限制。

其他的就是專業(yè)的服務(wù),企業(yè)版有一些我們專用的調(diào)試工具等,便于服務(wù),但是對社區(qū)影響不大。

4. 巨杉數(shù)據(jù)庫是怎么與Spark進(jìn)行結(jié)合的?不用普通sql查詢,那是利用什么方法查詢?

Spark適合低并發(fā),大數(shù)據(jù)量復(fù)雜查詢。

巨杉數(shù)據(jù)庫專門為spark開發(fā)了一套連接器,可以支持為spark 提供原數(shù)據(jù)。Spark SQL 的語法基本沿用了Hive SQL 的語法,大家基本可以通過查閱hive SQL 語法進(jìn)行編寫。

5.spark sql與普通sql區(qū)別在哪里?語法不一樣還是語言不同?

Spark SQL是類似于標(biāo)準(zhǔn)SQL的語言,寫得時(shí)候基本沒有障礙,但是畢竟不是做OLTP(On-Line Transaction Processing聯(lián)機(jī)事務(wù)處理過程)的,一些語法不支持,屬于SQL子集。

6.巨杉數(shù)據(jù)庫的瓶頸在哪里?

目前最大的瓶頸在隔離機(jī)制,巨杉SDB主要追求高可用、高性能的,就是ACID和BASE機(jī)制中,在BASE機(jī)制上巨杉SDB的優(yōu)勢更明顯。

ACID和BASE分別推動(dòng)了關(guān)系型數(shù)據(jù)庫和NoSQL的發(fā)展,現(xiàn)在大家所主張的NewSQL就是在尋找更好的平衡點(diǎn),在高可用的基礎(chǔ)上,盡量支持ACID。

對于現(xiàn)在的業(yè)務(wù)來說,高可用的場景遠(yuǎn)大于OLTP場景。

7.nosql 和newsql 的區(qū)別?

這個(gè)要從nosql講起,在互聯(lián)網(wǎng)時(shí)代激發(fā)了大量用戶,高可用變得非常重要,所以就退出了BASE機(jī)制

BASE是基本可用(Basically Available)軟狀態(tài)(Soft State)最終一致性(Eventually Consistent)軟狀態(tài)就是中間狀態(tài),例如同步延時(shí)時(shí)的分布式從節(jié)點(diǎn)的副本狀態(tài)。從BASE的角度,高可用是優(yōu)先保障的。屬于CAP中的AP,主要目的就是為了保障業(yè)務(wù)迭代的便捷性和高可用。Newsql就是在BASE基礎(chǔ)上,盡量滿足ACID。

8.巨杉數(shù)據(jù)庫支持分布式文件存儲(chǔ)嗎?

支持的,巨杉有SequoiaCM產(chǎn)品專門用于非結(jié)構(gòu)化存儲(chǔ),分布方式相同,存儲(chǔ)結(jié)構(gòu)不同,是塊存儲(chǔ)。

目前SDB 是支持雙存儲(chǔ)的,一個(gè)是行存的BSON結(jié)構(gòu),另外一個(gè)塊存儲(chǔ)結(jié)構(gòu), SDB 對于塊存儲(chǔ)的功能稱為 LOB(大對象),支持存儲(chǔ)任意大小的非結(jié)構(gòu)化文件。所以大家可以使用SDB 的LOB 功能來存儲(chǔ)文件,并且該文件將會(huì)被切分成256KB(默認(rèn))的塊大小分布式存儲(chǔ)在整個(gè)數(shù)據(jù)庫集群中,數(shù)據(jù)的冗余依賴數(shù)據(jù)分區(qū)組的方式進(jìn)行。

?【巨杉解決方案】ECM企業(yè)內(nèi)容管理

9.SDB目前有官方docker鏡像嗎?

目前沒有官方docker。

主要原因是我們目前從性能角度考慮,docker對于內(nèi)存管理和i/o的使用上有很多技巧,但是從小項(xiàng)目,易用性角度來說,我們會(huì)考慮推出docker。

我們近期在青云會(huì)提供鏡像版本的APP,對于其他云,我們也考慮使用docker部署。

10.如果我是一個(gè)視頻文件,性能會(huì)有什么變化?

如果用戶持續(xù)對SDB寫入一些大的非結(jié)構(gòu)化文件,性能的變化主要取決于你的服務(wù)器I/O。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI