簡介

2018-02-24 16:17 更新

這章那么短不是我的錯,MongoDB 就真的很易學(xué)。

都說技術(shù)在飛速發(fā)展。確實,有接連不斷的新技術(shù)新方法出現(xiàn)。但是,我一直認(rèn)為,程序員用到的基礎(chǔ)技術(shù)的發(fā)展卻是相當(dāng)緩慢的。你可以好幾年不學(xué)習(xí)但還能混得下去。令人驚訝的其實是成熟技術(shù)的被替換速度。就像在一夜之間,那些長期穩(wěn)定成熟的技術(shù)發(fā)現(xiàn)它們不再被開發(fā)者關(guān)注。

最好的例子就是 NoSQL 技術(shù)的發(fā)展,以及它對穩(wěn)定的關(guān)系型數(shù)據(jù)庫市場的蠶食。看起來就像,昨天網(wǎng)絡(luò)還是由 RDBMS 們來驅(qū)動的,而今天,就冒出五種左右的 NoSQL 解決案已經(jīng)證明了它們都是值得擁有的。

雖然這些轉(zhuǎn)變看起來都是一夜之間發(fā)生的,實際上他們他們可能花了數(shù)年的時間來取得公眾的認(rèn)可。最開始是由一小波開發(fā)者和公司在推動。解決方案被不斷細(xì)化,吸取教訓(xùn),然后一個新技術(shù)就這樣誕生了,慢慢的后來者也開始了嘗試。再次重申,NoSQL 的許多解決方案并不是為了取代傳統(tǒng)的存儲方案,而是解決一些特殊需求,填補了傳統(tǒng)解決方案的一些空白。

說了那么多,我們第一件應(yīng)該解決的事情是解釋一下什么是 NoSQL。它是一個寬松的概念,不同的人有不同的見解。就個人而言,我通常認(rèn)為它是數(shù)據(jù)存儲系統(tǒng)的一部分。換而言之,NoSQL (重申, 就我而言),的好處是讓你的持久層不需要一個獨立的系統(tǒng)。歷史上,傳統(tǒng)的關(guān)系數(shù)據(jù)庫廠商嘗試把他們的產(chǎn)品當(dāng)作一攬子解決方案,NoSQL 傾向于扮演,在特定的工作中充當(dāng)最好的工具這種角色。因此,你的 NoSQL 架構(gòu)中還是可以用到關(guān)系型數(shù)據(jù)庫,比如說 MySQL,但是可以也可以用 Redis 作為系統(tǒng)中某部分的持久層,或者是用到 Hadoop 來處理大數(shù)據(jù)。簡而言之,NoSQL 就是需要用開放的可代替的意識,使用現(xiàn)有的或者未來的方式和工具來管理你的數(shù)據(jù)。

你會想知道,MongoDB 是不是適用于這一切。作為一個面向文檔數(shù)據(jù)庫,MongoDB 是最通用的 NoSQL 解決案。它可以看成是關(guān)系型數(shù)據(jù)庫的代替方案。和關(guān)系型數(shù)據(jù)庫一樣,它也可以和其他的 NoSQL 解決案搭配在一起更好的工作。MongoDB 有優(yōu)點也有缺點,我們將會在本書后面的章節(jié)中介紹。

如你所見,我們混用了 MongoDB 和 Mongo 兩個術(shù)語。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號