簡(jiǎn)單分析靈活的非關(guān)系型數(shù)據(jù)庫(kù)NoSQL
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
非關(guān)系型數(shù)據(jù)庫(kù)NoSQL催生了另一種數(shù)據(jù)存儲(chǔ)方式,所有的這些改變都試圖填補(bǔ)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的缺陷。NoSQL可以很容易地兼容各種關(guān)系型數(shù)據(jù)庫(kù),如MySQL,Oracle,DB2等。NoSQL的世界更加多樣化,以及常規(guī)化的NoSQL標(biāo)簽。 NoSQL 與 MongoDB(基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)) 和 Cassandra(非關(guān)系型數(shù)據(jù)庫(kù))的數(shù)據(jù)存儲(chǔ)方式不同,蘋(píng)果機(jī)對(duì)蘋(píng)果機(jī)就不可以。因此,NoSQL有著自己的適用范圍,如鍵值數(shù)據(jù)庫(kù),圖形數(shù)據(jù)存儲(chǔ)和面向文檔的存儲(chǔ)。 不論是面向文檔的存儲(chǔ)還是文檔存儲(chǔ)都不是什么新的存儲(chǔ)方式。行業(yè)巨頭很快的承認(rèn)了Lotus Notes,80年代后期唯一成功采用NoSQL文檔存儲(chǔ)的應(yīng)用。文檔中存儲(chǔ)的數(shù)據(jù)封裝成松耦合文件,而不是列和行。底層文件實(shí)現(xiàn)不同的數(shù)據(jù)存儲(chǔ),以JSON 和XML為代表。 但在一般情況下,文件沒(méi)有嚴(yán)格的定義,事實(shí)上,他們提供了高度的靈活性。例如,這些數(shù)據(jù)存儲(chǔ)不支持SQL,反而支持Query。Query是一種基礎(chǔ)文件架構(gòu)(就像 XPath,類(lèi)似XML的數(shù)據(jù)存儲(chǔ))。在定義數(shù)據(jù)方面有很多好處,比如更加靈活。在很多情況下,相對(duì)傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)具有更快的迭代算法,這也是數(shù)據(jù)庫(kù)開(kāi)發(fā)時(shí)所必須考慮的以及未來(lái)的發(fā)展趨勢(shì)。 近年來(lái)許多文檔存儲(chǔ)數(shù)據(jù)庫(kù)出現(xiàn),并在開(kāi)發(fā)者心中得到了認(rèn)可。其中最受歡迎的就是MongoDB,用c++編寫(xiě)的一個(gè)開(kāi)源文檔存儲(chǔ)數(shù)據(jù)庫(kù),模式自由(schema-free),意味著對(duì)于存儲(chǔ)在MongoDB數(shù)據(jù)庫(kù)中的文件,我們不需要知道它的任何結(jié)構(gòu)定義。如果需要的話,你完全可以把不同結(jié)構(gòu)的文件存儲(chǔ)在同一個(gè)數(shù)據(jù)庫(kù)里。支持多語(yǔ)言,例如RUBY,PYTHON,JAVA,C++,PHP,C#等多種語(yǔ)言,可以為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。 Mongo支持跨節(jié)點(diǎn)集群文件的集合,允許橫向擴(kuò)展,從而使讀取速度更快。更重要的是,Mongo提供兩種模式:master-slave(主從式數(shù)據(jù)同步)和replica sets(異步主從復(fù)制集)。在replica sets模式中,并沒(méi)有master node模式;相反,所有的節(jié)點(diǎn)都是一個(gè)副本,并沒(méi)有單點(diǎn)故障。因此,副本集帶來(lái)更多的容錯(cuò)性較大的環(huán)境,支持大量的數(shù)據(jù)。這些功能和更多并不需要數(shù)據(jù)庫(kù)管理工具,也不需要大量的硬件。 Mongo 可以運(yùn)行在大部分硬件平臺(tái)上,只要有一個(gè)充足的內(nèi)存。 Mongo 能夠存儲(chǔ)任何文件,你也可以決定文件的存放位置。存儲(chǔ)在集合中的文檔,被存儲(chǔ)為鍵-值對(duì)的形式。在Mongo內(nèi)部,JSON使用它的二進(jìn)制形式表示,名為BSON(Binary Serialized dOcument Format)。鍵用于唯一標(biāo)識(shí)一個(gè)文檔,為字符串類(lèi)型,而值則可以是各種復(fù)雜的文件類(lèi)型(這有點(diǎn)像列和行)。 該文章在 2012/3/25 10:49:04 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |