国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MongoDB指南---1、MongoDB簡介

VPointer / 3461人閱讀

摘要:不采用關(guān)系模型主要是為了獲得更好的擴(kuò)展性。易于擴(kuò)展應(yīng)用程序數(shù)據(jù)集的大小正在以不可思議的速度增長。過去非常罕見的級別數(shù)據(jù),現(xiàn)在已是司空見慣了。這種精簡方式的設(shè)計(jì)是能夠?qū)崿F(xiàn)如此高性能的原因之一。下一篇文章指南基礎(chǔ)知識文檔集合數(shù)據(jù)庫客戶端

下一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識-文檔、集合、數(shù)據(jù)庫、客戶端

MongoDB是一款強(qiáng)大、靈活,且易于擴(kuò)展的通用型數(shù)據(jù)庫。它能擴(kuò)展出非常多的功能,如二級索引(secondary index)、范圍查詢(range query)、排序、聚合(aggregation),以及地理空間索引(geospatial index)。本章涵蓋了MongoDB的主要設(shè)計(jì)特點(diǎn)。

1.1 易于使用

MongoDB是一個(gè)面向文檔(document-oriented)的數(shù)據(jù)庫,而不是關(guān)系型數(shù)據(jù)庫。不采用關(guān)系模型主要是為了獲得更好的擴(kuò)展性。當(dāng)然, 還有其他一些好處。
與關(guān)系型數(shù)據(jù)庫相比,面向文檔的數(shù)據(jù)庫不再有“行”(row)的概念,取而代之的是更為靈活的“文檔”(document)模型。通過在文檔中嵌入文檔和數(shù)組,面向文檔的方法能夠僅使用一條記錄來表現(xiàn)復(fù)雜的層次關(guān)系,這與使用現(xiàn)代面向?qū)ο笳Z言的開發(fā)者對數(shù)據(jù)的看法一致。
另外,不再有預(yù)定義模式(predefined schema):文檔的鍵(key)和值(value)不再是固定的類型和大小。由于沒有固定的模式,根據(jù)需要添加或刪除字段變得更容易了。通常,由于開發(fā)者能夠進(jìn)行快速迭代,所以開發(fā)進(jìn)程得以加快。而且,實(shí)驗(yàn)更容易進(jìn)行。開發(fā)者能嘗試大量的數(shù)據(jù)模型,從中選擇一個(gè)最好的。

1.2 易于擴(kuò)展

應(yīng)用程序數(shù)據(jù)集的大小正在以不可思議的速度增長。隨著可用帶寬的增長和存儲器價(jià)格的下降,即使是一個(gè)小規(guī)模的應(yīng)用程序,需要存儲的數(shù)據(jù)量也可能大得驚人,甚至超出了很多數(shù)據(jù)庫的處理能力。過去非常罕見的T級別數(shù)據(jù),現(xiàn)在已是司空見慣了。
由于需要存儲的數(shù)據(jù)量不斷增長,開發(fā)者面臨一個(gè)困難:應(yīng)該如何擴(kuò)展數(shù)據(jù)庫?實(shí)質(zhì)上,這是縱向擴(kuò)展(scale up)和橫向擴(kuò)展(scale out)之間的選擇。縱向擴(kuò)展就是使用計(jì)算能力更強(qiáng)的機(jī)器,而橫向擴(kuò)展就是通過分區(qū)將數(shù)據(jù)分散到更多機(jī)器上。通常,縱向擴(kuò)展是最省力的做法,其缺點(diǎn)是大型機(jī)一般都非常昂貴。而且,當(dāng)數(shù)據(jù)量達(dá)到機(jī)器的物理極限時(shí),無論花多少錢也買不到更強(qiáng)的機(jī)器了。另一個(gè)選擇是橫向擴(kuò)展:要增加存儲空間或提高性能,只需購買一臺普通的服務(wù)器并把它添加到集群中就可以了。橫向擴(kuò)展既便宜又易于擴(kuò)展;不過,管理1000臺機(jī)器比管理一臺機(jī)器顯然要困難得多。
MongoDB的設(shè)計(jì)采用橫向擴(kuò)展。面向文檔的數(shù)據(jù)模型使它能很容易地在多臺服務(wù)器之間進(jìn)行數(shù)據(jù)分割。MongoDB能自動處理跨集群的數(shù)據(jù)和負(fù)載,自動重新分配文檔,以及將用戶請求路由到正確的機(jī)器上。這樣,開發(fā)者能夠集中精力編寫應(yīng)用程序,而不需要考慮如何擴(kuò)展的問題。如果一個(gè)集群需要更大的容量,只需要向集群添加新服務(wù)器,MongoDB就會自動將現(xiàn)有數(shù)據(jù)向新服務(wù)器傳送。

1.3 豐富的功能

MongoDB作為一款通用型數(shù)據(jù)庫,除了能夠創(chuàng)建、讀取、更新和刪除數(shù)據(jù)之外,還提供一系列不斷擴(kuò)展的獨(dú)特功能。

索引(indexing)

MongoDB支持通用二級索引,允許多種快速查詢,且提供唯一索引、復(fù)合索引、地理空間索引,以及全文索引。 ?

聚合(aggregation)

MongoDB支持“聚合管道”(aggregation pipeline)。用戶能通過簡單的片段創(chuàng)建復(fù)雜的聚合,并通過數(shù)據(jù)庫自動優(yōu)化。

特殊的集合類型

MongoDB支持存在時(shí)間有限的集合,適用于那些將在某個(gè)時(shí)刻過期的數(shù)據(jù),如會話(session)。類似地,MongoDB也支持固定大小的集合,用于保存近期數(shù)據(jù),如日志。

文件存儲(file storage)

MongoDB支持一種非常易用的協(xié)議,用于存儲大文件和文件元數(shù)據(jù)。
MongoDB并不具備一些在關(guān)系型數(shù)據(jù)庫中很普遍的功能,如連接(join)和復(fù)雜的多行事務(wù)(multirow transaction)。省略這些功能是出于架構(gòu)上的考慮(為了得到更好的擴(kuò)展性),因?yàn)樵诜植际较到y(tǒng)中這兩個(gè)功能難以高效地實(shí)現(xiàn)。

1.4 卓越的性能

MongoDB的一個(gè)主要目標(biāo)是提供卓越的性能,這很大程度上決定了MongoDB的設(shè)計(jì)。MongoDB能對文檔進(jìn)行動態(tài)填充(dynamic padding),也能預(yù)分配數(shù)據(jù)文件以利用額外的空間來換取穩(wěn)定的性能。MongoDB把盡可能多的內(nèi)存用作緩存(cache),試圖為每次查詢自動選擇正確的索引。總之,MongoDB在各方面的設(shè)計(jì)都旨在保持它的高性能。
雖然,MongoDB非常強(qiáng)大并試圖保留關(guān)系型數(shù)據(jù)庫的很多特性,但它并不追求具備關(guān)系型數(shù)據(jù)庫的所有功能。只要有可能,數(shù)據(jù)庫服務(wù)器就會將處理和邏輯交給客戶端(通過驅(qū)動程序或用戶的應(yīng)用程序代碼來實(shí)現(xiàn))。這種精簡方式的設(shè)計(jì)是MongoDB能夠?qū)崿F(xiàn)如此高性能的原因之一。

1.5 小結(jié)

本書將詳細(xì)說明MongoDB開發(fā)過程中的一些特定設(shè)計(jì)背后的原因和動機(jī),借此分享MongoDB背后的哲學(xué)。當(dāng)然,掌握MongoDB最好的方式是創(chuàng)建一個(gè)易擴(kuò)展、靈活、快速的功能完備的數(shù)據(jù)存儲,這也是MongoDB的意義所在。

下一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識-文檔、集合、數(shù)據(jù)庫、客戶端

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43993.html

相關(guān)文章

  • MongoDB指南---1MongoDB簡介

    摘要:不采用關(guān)系模型主要是為了獲得更好的擴(kuò)展性。易于擴(kuò)展應(yīng)用程序數(shù)據(jù)集的大小正在以不可思議的速度增長。過去非常罕見的級別數(shù)據(jù),現(xiàn)在已是司空見慣了。這種精簡方式的設(shè)計(jì)是能夠?qū)崿F(xiàn)如此高性能的原因之一。下一篇文章指南基礎(chǔ)知識文檔集合數(shù)據(jù)庫客戶端 下一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識-文檔、集合、數(shù)據(jù)庫、客戶端 MongoDB是一款強(qiáng)大、靈活,且易于擴(kuò)展的通用型數(shù)據(jù)庫。它...

    guyan0319 評論0 收藏0
  • MongoDB指南---10、索引、復(fù)合索引 簡介

    摘要:可以通過來強(qiáng)制使用某個(gè)特定的索引,再次執(zhí)行這個(gè)查詢,但是這次使用,作為索引。 上一篇文章:MongoDB指南---9、游標(biāo)與數(shù)據(jù)庫命令下一篇文章:MongoDB指南---11、使用復(fù)合索引、$操作符如何使用索引、索引對象和數(shù)組、索引基數(shù) 本章介紹MongoDB的索引,索引可以用來優(yōu)化查詢,而且在某些特定類型的查詢中,索引是必不可少的。 什么是索引?為什么要用索引? 如何選擇需要建立...

    enrecul101 評論0 收藏0
  • MongoDB指南---10、索引、復(fù)合索引 簡介

    摘要:可以通過來強(qiáng)制使用某個(gè)特定的索引,再次執(zhí)行這個(gè)查詢,但是這次使用,作為索引。 上一篇文章:MongoDB指南---9、游標(biāo)與數(shù)據(jù)庫命令下一篇文章:MongoDB指南---11、使用復(fù)合索引、$操作符如何使用索引、索引對象和數(shù)組、索引基數(shù) 本章介紹MongoDB的索引,索引可以用來優(yōu)化查詢,而且在某些特定類型的查詢中,索引是必不可少的。 什么是索引?為什么要用索引? 如何選擇需要建立...

    leiyi 評論0 收藏0
  • MongoDB指南---7、find簡介與查詢條件

    摘要:上一篇文章指南更新文檔下一篇文章指南特定類型的查詢本章將詳細(xì)介紹查詢。查詢條件和就是全部的比較操作符,分別對應(yīng)和。如果查詢優(yōu)化器可以更高效地處理,那就選擇使用它。注意,查詢優(yōu)化器不會對進(jìn)行優(yōu)化,這與其他操作符不同。 上一篇文章:MongoDB指南---6、更新文檔下一篇文章:MongoDB指南---8、特定類型的查詢 本章將詳細(xì)介紹查詢。主要會涵蓋以下幾個(gè)方面: 使用find或者f...

    denson 評論0 收藏0
  • MongoDB指南---7、find簡介與查詢條件

    摘要:上一篇文章指南更新文檔下一篇文章指南特定類型的查詢本章將詳細(xì)介紹查詢。查詢條件和就是全部的比較操作符,分別對應(yīng)和。如果查詢優(yōu)化器可以更高效地處理,那就選擇使用它。注意,查詢優(yōu)化器不會對進(jìn)行優(yōu)化,這與其他操作符不同。 上一篇文章:MongoDB指南---6、更新文檔下一篇文章:MongoDB指南---8、特定類型的查詢 本章將詳細(xì)介紹查詢。主要會涵蓋以下幾個(gè)方面: 使用find或者f...

    tylin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<