當前位置:首頁 » 服務存儲 » 存儲的開源社區
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲的開源社區

發布時間: 2022-07-25 12:04:38

Ⅰ 的雲存儲系統,問下現在有什麼比較常用的開源分布式

書生雲於宣布將基於SAS架構的新一代開源分布式存儲技術——SurFS開源。SurFS是書生雲公司自主研發的分布式存儲系統,是雲平台的核心部件,在性能和成本兩方面具有一定實力。書生雲將具有自身知識產權的商業軟體開源,對軟體行業將帶來哪些影響? 書生雲董事長王東臨 眾所周知,開源軟體技術領域較為知名的除了Android(安卓)、Linux、Mysql、OpenOffice、OpenStack等開源社區外,企業級領域軟體開源的並不算多,但也能看到其中一些卓越領導者,比如知名開源軟體企業 RedHat, RedHat的年收入甚至超過了20億美元。 因此,書生雲董事長王東臨認為:「雖然在視核心技術商業機密的傳統思維里,軟體企業將自身擁有知識產權的軟體的開源顯得另類,但隨著開源系統在全球的廣泛普及,未來開源與商業也會得到完美結合,形成了「先奉獻後收益」、「貢獻越大收益越大」的格局。」 存儲系統是雲平台的核心部件,對雲平台的整體性能和成本都有極大的影響。SurFS通過對存儲網路的顛覆式創新,第一個採用SAS做存儲網路構建分布式存儲系統,將帶寬提升了幾十倍延時降低了幾十倍,而且從架構體繫上完全打破了傳統存儲體系的桎梏,將存儲控制節點與存儲介質分離,存儲控制節點與計算節點聚合,從而將數據I/O路徑壓縮到了極致,將擴容成本也壓縮到了極致,大幅提升了整個雲平台的性能,同時還顯著降低了成本,同時實現高性能、低成本、高可靠、高可用和可擴展性。對於正在向私有雲遷移的廣大企業級用戶來說,SurFS的確有著很大的優越性。 筆者小結 書生雲基於SAS存儲網路構建的新一代開源分布式存儲SurFS 開源後將成為OpenStack等主流雲平台的存儲後端之一,對於廣大IT工程師和終端用戶來說,更無異是一針強心劑,開源社區在得到完善管理的前提下,對於未來的存儲技術及應用會有更加加速的發展。SurFS 開源將為全球企業級用戶搭建高性價比的雲平台,並為廣大IT企業提供一個切磋、改善行業價值鏈的機遇的開源,基於SurFS技術的雲平台有望成為全球雲產業的主流部署模式之一。 當然,書生雲的SurFS 開源仍然只是國內軟體業的起步!無論是業務模式的探索還是開源後社區的維護,還需要時間及智慧來推進。

Ⅱ 在大數量級的數據存儲上,比較靠譜的分布式文件存儲有哪些

一、 Ceph

Ceph最早起源於Sage就讀博士期間的工作、成果於2004年發表,並隨後貢獻給開源社區。經過多年的發展之後,已得到眾多雲計算和存儲廠商的支持,成為應用最廣泛的開源分布式存儲平台。
二、 GFS

GFS是google的分布式文件存儲系統,是專為存儲海量搜索數據而設計的,2003年提出,是閉源的分布式文件系統。適用於大量的順序讀取和順序追加,如大文件的讀寫。注重大文件的持續穩定帶寬,而不是單次讀寫的延遲。
三、 HDFS

HDFS(Hadoop Distributed File System),是一個適合運行在通用硬體(commodity hardware)上的分布式文件系統,是Hadoop的核心子項目,是基於流數據模式訪問和處理超大文件的需求而開發的。該系統仿效了谷歌文件系統(GFS),是GFS的一個簡化和開源版本。

Ⅲ 該選擇哪個開源資料庫

如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫呢?

在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。

MySQL

MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如WordPress、Drupal、Zend及phpBB等。

一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的核心存儲引擎與第三方引擎。

MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。

MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。

現在,基於最初的MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael
"Monty"
Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的MySQL開發者Brian
Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。

PostgreSQL

PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。

PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即可。

可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來自於獨立廠商的商業支持。

數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性的,它對於資料庫訪問提供了強大的安全性保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規則確保數據質量。在眾多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能了。

平台

MySQL與PostgreSQL都出現在一些高流量的Web站點上:

  • MySQL:Slashdot、Twitter、Facebook與Wikipedia
  • PostgreSQL:Yahoo使用了一個修改的PostgreSQL資料庫來處理每天數以億計的事件,還有Reddit和Disqus

MySQL與PostgreSQL都能運行在多個操作系統上,如Linux、Unix、Mac OS
X與Windows。他們都是開源、免費的,因此測試他們時的唯一代價就是你的時間與硬體。他們都很靈活且具有可伸縮性,可用在小型系統和大型分布式系統上。MySQL在一個領域上要比PostgreSQL更進一步,那就是它的觸角延伸到了嵌入式領域,這是通過libmysqld實現的。PostgreSQL不支持嵌入式應用,依然堅守在傳統的客戶端/伺服器架構上。

MySQL通常被認為是針對網站與應用的快速資料庫後端,能夠進行快速的讀取和大量的查詢操作,不過在復雜特性與數據完整性檢查方面不太盡如人意。PostgreSQL是針對事務型企業應用的嚴肅、功能完善的資料庫,支持強ACID特性和很多數據完整性檢查。他們二者都在某些任務上具有很快的速度,MySQL不同存儲引擎的行為有較大差別。MyISAM引擎是最快的,因為它只執行很少的數據完整性檢查,適合於後端讀操作較多的站點,不過對於包含敏感數據的讀/寫資料庫來說就是個災難了,因為MyISAM表最終可能會損壞。MySQL提供了修復MySQL表的工具,不過對於敏感數據來說,支持ACID特性的InnoDB則是個更好的選擇。

與之相反,PostgreSQL則是個只有單一存儲引擎的完全集成的資料庫。你可以通過調整postgresql.conf文件的參數來改進性能,也可以調整查詢與事務。PostgreSQL文檔對於性能調優提供了非常詳盡的介紹。

MySQL與PostgreSQL都是高可配置的,並且可以針對不同的任務進行相應的優化。他們都支持通過擴展來添加額外的功能。

一個常見的誤解就是MySQL要比PostgreSQL更容易學習。關系資料庫系統都是非常復雜的,這兩個資料庫的學習曲線其實是差不多的。

標准兼容性

PostgreSQL旨在實現SQL兼容性(當前標準是ANSI-SQL:2008)。MySQL則兼容大部分SQL,不過還有自己的擴展,可以支持NoSQL特性,這在參考手冊中都有介紹。每種方式都有優缺點。兼容標准會讓資料庫管理員、資料庫開發者與應用開發者更舒服一些,因為這意味著他們只需學習一套標准、一套特性和命令即可。這會節省時間,提升效率,也不會被鎖定在特定的廠商上。

支持使用非標準的自定義功能的人們認為這樣可以快速採用新的特性,而不必等待標准進程完成。ANSI/ISO標准在不斷演化,因此標准兼容性也是個變化的目標:知名的關系型資料庫Microsoft
SQL Server、Oracle與IBM DB2也只是部分兼容於標准。

結論

雖然有不同的歷史、引擎與工具,不過並沒有明確的參考能夠表明這兩個資料庫哪一個能夠適用於所有情況。很多組織喜歡使用PostgreSQL,因為它的可靠性好,在保護數據方面很擅長,而且是個社區項目,不會陷入廠商的牢籠之中。MySQL更加靈活,提供了更多選項來針對不同的任務進行裁剪。很多時候,對於一個組織來說,對某個軟體使用的熟練程度要比特性上的原因更重要。

Ⅳ 有沒有用Java寫的輕量級開源的分布式存儲系統

以下內容源於分布式內存文件系統:Tachyon 14年9月的文章
Tachyon是一個分布式內存文件系統,可以在集群里以訪問內存的速度來訪問存在tachyon里的文件。把Tachyon是架構在最底層的分布式文件存儲和上層的各種計算框架之間的一種中間件。主要職責是將那些不需要落地到DFS里的文件,落地到分布式內存文件系統中,來達到共享內存,從而提高效率。同時可以減少內存冗餘,GC時間等。
<img src="https://pic3.mg.com/_b.png" data-rawwidth="810" data-rawheight="311" class="origin_image zh-lightbox-thumb" width="810" data-original="https://pic3.mg.com/_r.png">
Tachyon架構
Tachyon的架構是傳統的Master—slave架構,這里和Hadoop類似,TachyonMaster里WorkflowManager是 Master進程,因為是為了防止單點問題,通過Zookeeper做了HA,可以部署多台Standby Master。Slave是由Worker Daemon和Ramdisk構成。這里個人理解只有Worker Daemon是基於JVM的,Ramdisk是一個off heap memory。Master和Worker直接的通訊協議是Thrift。
下圖來自Tachyon的作者Haoyuan Li:
<img src="https://pic4.mg.com/_b.png" data-rawwidth="854" data-rawheight="571" class="origin_image zh-lightbox-thumb" width="854" data-original="https://pic4.mg.com/_r.png">
三、Fault Tolerant
Tachyon是一個分布式文件存儲系統,但是如果Tachyon里的容錯機制是怎麼樣的呢?
Tachyon使用血統這個我們在Spark里的RDD里已經很熟悉了,這里也有血統這一概念。會使用血統,通過非同步的向Tachyon的底層文件系統做Checkpoint。
當我們向Tachyon裡面寫入文件的時候,Tachyon會在後台非同步的把這個文件給checkpoint到它的底層存儲,比如HDFS,S3.. etc...
這里用到了一個Edge的演算法,來決定checkpoint的順序。
比較好的策略是每次當前一個checkpoint完成之後,就會checkpoint一個最新生成的文件。當然想Hadoop,Hive這樣的中間文件,需要刪除的,是不需要checkpoint的。
下圖來自Tachyon的作者Haoyuan Li:
<img src="https://pic1.mg.com/_b.png" data-rawwidth="822" data-rawheight="609" class="origin_image zh-lightbox-thumb" width="822" data-original="https://pic1.mg.com/_r.png">

關於重新計算時,資源的分配策略:
目前Tachyon支持2種資源分配策略:
1、優先順序的資源分配策略
2、公平調度的分配策略
<img src="https://pic2.mg.com/_b.png" data-rawwidth="940" data-rawheight="621" class="origin_image zh-lightbox-thumb" width="940" data-original="https://pic2.mg.com/_r.png">

四、總結
Tachyon是一個基於內存的分布式文件系統,通常位於分布式存儲系統和計算框架直接,可以在不同框架內共享內存,同時可以減少內存冗餘和基於Jvm內存計算框架的GC時間。
Tachyon也有類似RDD的血統概念,input文件和output文件都是會有血統關系,這樣來達到容錯。並且Tachyon也利用血統關系,非同步的做checkpoint,文件丟失情況下,也能利用兩種資源分配策略來優先計算丟失掉的資源。

Ⅳ 分布式存儲排名前十名有哪些

一、 Ceph

Ceph最早起源於Sage就讀博士期間的工作、成果於2004年發表,並隨後貢獻給開源社區。經過多年的發展之後,已得到眾多雲計算和存儲廠商的支持,成為應用最廣泛的開源分布式存儲平台。
二、 GFS

GFS是google的分布式文件存儲系統,是專為存儲海量搜索數據而設計的,2003年提出,是閉源的分布式文件系統。適用於大量的順序讀取和順序追加,如大文件的讀寫。注重大文件的持續穩定帶寬,而不是單次讀寫的延遲。
三、 HDFS

HDFS(Hadoop Distributed File System),是一個適合運行在通用硬體(commodity hardware)上的分布式文件系統,是Hadoop的核心子項目,是基於流數據模式訪問和處理超大文件的需求而開發的。該系統仿效了谷歌文件系統(GFS),是GFS的一個簡化和開源版本。

Ⅵ ceph好學么

好學。
Ceph是一個統一的分布式存儲系統,設計初衷是提供較好的性能、可靠性和可擴展性。
Ceph項目最早起源於Sage就讀博士期間的工作(最早的成果於2004年發表),並隨後貢獻給開源社區。在經過了數年的發展之後,目前已得到眾多雲計算廠商的支持並被廣泛應用。RedHat及OpenStack都可與Ceph整合以支持虛擬機鏡像的後端存儲。

Ⅶ 目前雲存儲平台有哪些開源的項目,那個比較適合二次開發

一整套完整的所謂的雲平台是一個非常龐大的系統。但是你都可以找到對應的開源程序,組合成你想要的平台。
開源的分布式文件存諸系統有GlusterFS、Hadoop 、FastDFS 等等非常多
開源的分布式計算框架,你要自己搜索一下,我目前還不需要,主要用把繁重的計算任務拆分到不同的伺服器上運算,或者說是把業務拆分成多個子業務多個伺服器運行。
分布式的內存緩存之類的東東。自己搜

具體的web伺服器和資料庫伺服器組分布式的方法自己去搜索。

Ⅷ 基於linux的開源分布式存儲有哪些

開源這兩個字很好解釋,開放源代碼。 這個開放有很多不同的方法,針對不同的開源社區、習慣、法律責任等等。 比如微軟有自己的開源協議,好像叫微軟互惠許可(Microsoft Reciprocal License)和微軟公共許可(Microsoft Public License)

Ⅸ 哪個開源分布式存儲適合搭建nas

OpenStack是一個旨在為公共及私有雲的建設與管理提供軟體的開源項目。它的社區擁有超過130家企業及1350位開發者,這些機構與個人都將OpenStack作為基礎設施即服務(簡稱IaaS)資源的通用前端。OpenStack項目的首要任務是簡化雲的部署過程