gridfs小文件存儲
㈠ Mongodb在linux 64位系統下,通過mongofiles上傳的單個文件有大小限制嗎
一樓的,MongoDB有配置文件?在哪呢?我這是頭回聽說。
建議你改用任意一種主流驅動進行上傳,如java的API,裡面有GridFS這個類,適用於管理文件系統的,這樣對於出錯的情況很容易把我,如利用try catch和writeconcern。
你這樣什麼錯誤信息都不給出,是沒辦法排查的。
㈡ 分布式塊存儲和 分布式文件存儲有是什麼區別
分布式塊存儲和 分布式文件存儲有是什麼區別
分布式文件系統(dfs)和分布式資料庫都支持存入,取出和刪除。但是分布式文件系統比較暴力,可以當做key/value的存取。分布式資料庫涉及精煉的數據,傳統的分布式關系型資料庫會定義數據元組的schema,存入取出刪除的粒度較小。
分布式文件系統現在比較出名的有GFS(未開源),HDFS(Hadoop distributed file system)。分布式資料庫現在出名的有Hbase,oceanbase。其中Hbase是基於HDFS,而oceanbase是自己內部實現的分布式文件系統,在此也可以說分布式資料庫以分布式文件系統做基礎存儲。
分布式存儲是什麼?選擇什麼樣的分布式存儲更好?
分布式存儲系統,是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
聯想超融合ThinkCloud AIO超融合雲一體機是聯想針對企業級用戶推出的核心產品。ThinkCloud AIO超融合雲一體機實現了對雲管理平台、計算、網路和存儲系統的無縫集成,構建了雲計算基礎設施即服務的一站式解決方案,為用戶提供了一個高度簡化的一站式基礎設施雲平台。這不僅使得業務部署上線從周縮短到天,而且與企業應用軟體、中間件及資料庫軟體完全解耦,能夠有效提升企業IT基礎設施運維管理的效率和關鍵應用的性能
MongoDB 適合做分布式圖片文件存儲么?
如果硬體上捨得投入(比如N台32GB起的大內存機),gridfs很合適海量小文件, 不過兩台機我覺得還不如把靜態文件這塊外包給第三方雲存儲
軟體定義存儲和 分布式存儲的區別
軟體定義存儲其實是個偽命題,你可以看下冬瓜哥的一篇文章。你也可以這么理解,分布式存儲就是軟體定義存儲的一種方式。
集中式存儲和分布式存儲有什麼區談好別
分布式 存儲就是DAS ,就是伺服器裡面放著硬碟,多台伺服器的話就是分布式存儲,數據分散,不易於管理。
集中存儲就是 NAS,SAN,將伺服器和硬碟分開,數據都存放NAS設備中,NAS設備再級聯磁碟陣列,然後多個伺服器對這個NAS設備進行訪問,操作,集中數據管理,提高利用率,解放伺服器!
分布式存儲與軟體定義存儲的區別?
分布式存儲是一種存儲的方式,其「分布式」的理念是軟體定義存儲的基礎,從概念上來說,軟體定義存儲的范圍更大,除了存儲之外,還包括管理、計算、網路介面等相關概念。或者說,分布式存儲就是一種鏈接方式,而軟體定義存儲就是類似元核雲存儲、華為等企業所研發的軟體產品。
統一存儲和融合存儲以及分布式存儲的區別
統一存儲具體概念:
統一存儲,實質上是一個可以支持基於文件的網路附加存儲(NAS)以及基於數據塊的SAN的網路化的存儲架構。由於其支持不同的存儲協議為主機系統提供數據存儲,因此也被稱為多協議存儲。
基本簡介:
統一存儲(有時也稱網路統一存儲或者NUS)是一個能在單一設備上運行和管理文件和應用程序的存儲系統。為此,統一存儲系統在一個單一存儲平台上整合基於文件和基於塊的訪問,支持基於光纖通道的SAN、基於IP的SAN(iSCSI)和NAS(網路附加存儲)。
工作方式:
既然是一個集中化的磁碟陣列,那麼就支持主機系統通含判鉛過IP網路進行文件級別的數據訪問,或通過光纖協議在SAN網路進行塊級別的數據訪問。同樣,iSCSI亦是一種非常通用的IP協議,只是其提供塊級別的數據訪問。這種磁碟陣列配置多埠的存儲控制器和一個管理介面,允許存儲管理員按需創建存儲池或空間,並將其提供給不同訪問類型的主機系統。最通常的協議一般都包括了NAS和FC,或iSCSI和FC。當然,也可以同時支持上述三種協議的,不過一般的存儲管理員都會選FC或iSCSI中的一種,它們都提供塊級別的訪問方式,和文件級別的訪問沖拍方式(NAS方式)組成統一存儲。
什麼是分布式數據存儲
定義:
分布式資料庫是指利用高速計算機網路將物理上分散的多個數據存儲單元連接起來組成一個邏輯上統一的資料庫。分布式資料庫的基本思想是將原來集中式資料庫中的數據分散存儲到多個通過網路連接的數據存儲節點上,以獲取更大的存儲容量和更高的並發訪問量。近年來,隨著數據量的高速增長,分布式資料庫技術也得到了快速的發展,傳統的關系型資料庫開始從集中式模型向分布式架構發展,基於關系型的分布式資料庫在保留了傳統資料庫的數據模型和基本特徵下,從集中式存儲走向分布式存儲,從集中式計算走向分布式計算。
特點:
1.高可擴展性:分布式資料庫必須具有高可擴展性,能夠動態地增添存儲節點以實現存儲容量的線性擴展。
2 高並發性:分布式資料庫必須及時響應大規模用戶的讀/寫請求,能對海量數據進行隨機讀/寫。
3. 高可用性:分布式資料庫必須提供容錯機制,能夠實現對數據的冗餘備份,保證數據和服務的高度可靠性。
㈢ 有哪些輕型的非關系型資料庫
常見的非關系型資料庫有:1、mongodb;2、cassandra;3、redis;4、hbase;5、neo4j。其中mongodb是非常著名的Nosql資料庫,它是一個面向文檔的開源資料庫。
常見的幾種非關系型資料庫:
1、MongoDB
MongoDB是最著名的NoSQL資料庫。它是一個面向文檔的開源資料庫。MongoDB是一個可伸縮和可訪問的資料庫。它在c++中。MongoDB同樣可以用作文件系統。在MongoDB中,JavaScript可以作為查詢語言使用。通過使用sharding MongoDB水平伸縮。它在流行的JavaScript框架中非常有用。
人們真的很享受分片、高級文本搜索、gridFS和map-rece功能。驚人的性能和新特性使這個NoSQL資料庫在我們的列表中名列第一。
特點:提供高性能;自動分片;運行在多個伺服器上;支持主從復制;數據以JSON樣式文檔的形式存儲;索引文檔中的任何欄位;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速資料庫;無模式資料庫;橫向擴展資料庫;性能非常高。
缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。
2、Cassandra
Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分布式數據存儲系統。通常,這些數據分布在許多普通伺服器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕松地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理復雜的配置。
Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra資料庫的一種類似sql的語言。因此,Cassandra在最佳開源資料庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。
特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapRece;分配數據的最大靈活性;高度可伸縮;點對點架構。
優點:高度可伸縮;無單點故障;Multi-DC復制;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。
3、Redis
Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。
特點:自動故障轉移;將其資料庫完全保存在內存中;事務;Lua腳本;將數據復制到任意數量的從屬伺服器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發布/訂閱。
優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。
4、HBase
HBase是一個分布式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文「Bigtable:一個結構化數據的分布式存儲系統」。就像Bigtable利用了Google文件系統(File System)所提供的分布式數據存儲一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。
HBase是Apache的Hadoop項目的子項目。HBase不同於一般的關系資料庫,它是一個適合於非結構化數據存儲的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。
5、neo4j
Neo4j被稱為原生圖資料庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,資料庫使用指針導航和遍歷圖。Neo4j有資料庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。
特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
優點:容易檢索其相鄰節點或關系細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要復雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
缺點:不支持分片
㈣ linux下常用的分布式文件系統有哪些
常見的分布式文件系統有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自適用於不同的領域。它們都不是系統級的分布式文件系統,而是應用級的分布式文件存儲服務。
GFS(Google File System)
--------------------------------------
Google公司為了滿足本公司需求而開發的基於Linux的專有分布式文件系統。。盡管Google公布了該系統的一些技術細節,但Google並沒有將該系統的軟體部分作為開源軟體發布。
下面分布式文件系統都是類 GFS的產品。
HDFS
--------------------------------------
Hadoop 實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。 Hadoop是Apache Lucene創始人Doug Cutting開發的使用廣泛的文本搜索庫。它起源於Apache Nutch,後者是一個開源的網路搜索引擎,本身也是Luene項目的一部分。Aapche Hadoop架構是MapRece演算法的一種開源應用,是Google開創其帝國的重要基石。
Ceph
---------------------------------------
是加州大學聖克魯茲分校的Sage weil攻讀博士時開發的分布式文件系統。並使用Ceph完成了他的論文。
說 ceph 性能最高,C++編寫的代碼,支持Fuse,並且沒有單點故障依賴, 於是下載安裝, 由於 ceph 使用 btrfs 文件系統, 而btrfs 文件系統需要 Linux 2.6.34 以上的內核才支持。
可是ceph太不成熟了,它基於的btrfs本身就不成熟,它的官方網站上也明確指出不要把ceph用在生產環境中。
Lustre
---------------------------------------
Lustre是一個大規模的、安全可靠的,具備高可用性的集群文件系統,它是由SUN公司開發和維護的。
該項目主要的目的就是開發下一代的集群文件系統,可以支持超過10000個節點,數以PB的數據量存儲系統。
目前Lustre已經運用在一些領域,例如HP SFS產品等。
㈤ 各位使用的分布式文件存儲,有哪些產品使用體驗更好一些
我覺得XSKY星辰天合的XGFS文件存儲軟體不錯,這個軟體只需要三個全快閃記憶體元數據高可用節點,就可以高效保存和處理 100 億文件規模的數據。可以靈活擴展,滿足公司不斷增長的業務對性能和容量的需求。
㈥ mongo集群可以用來進行海量數據分析嗎
今已進入大數據時代,特別是大規模互聯網web2.0應用不斷發展及雲計算所需要的海量存儲和海量計算發展,傳統的腔陸迅關系型資料庫已無法滿足這方面的需求。隨著NoSQL資料庫的不斷發展和成熟,可以較好地解決海量存儲和海量計算方面的應用需求。本文重點描述作為NoSQL之一MongoDB資料庫在海量數據存儲方面的應用。
由於MongoDB中的Bson對象大小是有限制的,在1.7版本以前單個Bson對象最大容量為4M,1.7版本以後單個Bson對象最大容量為16M[5]。對於一般的文件存儲,單個對象的4到16M的存儲容量能夠滿足需求,但無法滿足對於一些大文件的存儲,如高清圖片、設計圖紙、視頻等,因此在海量數據存儲方面,MongoDB提供了內置的Grid
基於GridFS的海量數據存儲測試
本文主要採用MongoDB最新版2.0及官方提供的C#語言驅動進行測試。