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

開源存儲網路

發布時間: 2022-06-12 01:54:10

1. 有沒有用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,文件丟失情況下,也能利用兩種資源分配策略來優先計算丟失掉的資源。

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

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

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

3. 目前國內有公司在使用開源的ceph分布式存儲系統嗎

有,我知道的使用ceph的公司主要有元核雲、XSky、杉岩數據等,其他的華為雲、深信服等公司也有分布式存儲,不過不知道是不是基於ceph的。

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

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

5. 列舉一些開源的雲計算技術

雲計算是個IT界火熱的詞彙,開源雲計算更是被認為是IT的趨勢。我們熟知的幾個IT巨頭的雲計算平台,如亞馬遜EC 2、IBM的藍雲、微軟的Azure、Sun
Cloud等,那麼開源雲計算的平台又有哪些呢?以下列舉了開源中國社區收錄的5款知名的開源雲計算平台。

1、AbiCloud企業級開源雲計算平台

Abiquo公司推出的一款開源的雲計算平台——「abiCloud」,使公司能夠以快速、簡單和可擴展的方式創建和管理大型、復雜的IT基礎設施(包括虛擬伺服器,網路,應用,存儲設備等等)。AbiCloud較之同類其他產品的一個主要的區別在於其強大的Web界面管理。你可以通過拖拽一個虛擬機來部署一個新的服務。這個版本允許通過VirtualBox部署實例,它還支持VMware,KVM和Xen。

abiCloud架構如下圖所示:

2、Eucalyptus 開源雲計算平台

Eucalyptus 項目(Elastic Utility Computing Architecture for LinkingYour
Programs To Useful Systems)是 Amazon EC2 的一個開源實現,它與商業服務介面兼容。和 EC2一樣,Eucalyptus
依賴於 Linux 和 Xen 進行操作系統虛擬化。Eucalyptus
是加利福尼亞大學(SantaBarbara)為進行雲計算研究而開發的。您可以從該大學的網站上下載它,或者通過 Eucalyptus Public
Cloud體驗它,不過後者有一些限制。

3、10gen MongoDB 開源高性能存儲平台

10gen 既是一個雲平台,又是一個可下載的開放源代碼包,可用於創建您自己的私有雲。10gen 是類似於 App Engine的一個軟體棧,它提供與
App Engine 類似的功能 — 但有一些不同之處。通過 10gen,可以使用 Python 以及JavaScript 和
Ruby編程語言開發應用程序。該平台還使用沙盒概念隔離應用程序,並且使用它們自己的應用伺服器的許多計算機(當然,是在
Linux上構建)提供一個可靠的環境。

4、Enomalism 彈性計算平台

Enomaly's Elastic Computing Platform
(ECP)是一個可編程的虛擬雲架構,ECP平台可以簡化在雲架構中發布應用的操作。

雲計算平台是一個 EC2 風格的 IaaS 。Enomalism 是一個開放源代碼項目,它提供了一個功能類似於 EC2的雲計算框架。Enomalism
基於 Linux,同時支持 Xen 和 Kernel Virtual Machine(KVM)。與其他純IaaS 解決方案不同的是,Enomalism
提供了一個基於 TurboGears Web 應用程序框架和 Python 的軟體棧。

5、雲計算平台 Nimbus

Nimbus由網格中間件Globus提供,Virtual Workspace演化而來,與Eucalyptus 一樣,提供EC2的類似功能和介面。

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

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

7. 想搭建一個小型雲存儲平台,求幫忙評估難度大嗎

不難的,如果你有些基礎的話。
開源的系統就有不少。
比如OpenStack裡面有Swift,是一個對象存儲,適合於存放比較小的,以對象為單位的文件。
SeaFile開源雲存儲系統平台是由國人開發的新一代的開源雲存儲系統軟體,SeaFile提供豐富的文件同步和管理功能,搭個網盤是比較方便的。
還有GlusterFS,是一個集群的文件系統,支持 PB 級的數據量。
按照教程來,搭建起來不難。當然,要深入使用,解決生產運行中的各種坑,還是需要一定時間的積累的。

8. 開源大數據平台ladoop體系。哪一組件可以實現列式存儲和NOSg1

沒有。
為了克服MapRece的性能缺點,Google提出了新型互動式計算引擎Dremel,它構建於Google的GFS等系統之上,支撐了Google的數據分析服務BigQuery等諸多服務。Dremel的技術兩點主要有兩個,一是採用了MPP架構,使用了多層查詢樹,使得任務可以在數千個節點上並行執行和聚合結果,二是實現了嵌套型數據的列存儲,避免了讀取不必要的數據,大大減少網路和磁碟IO。
Impala最初由Cloudera公司開發,設計的動機是充分結合傳統資料庫與大數據系統Hadoop的有事,構造一個全新的、支持sql與多租戶、並具備良好的靈活性和擴展性的高性能查詢引擎。

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

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

10. 全球四個最大的四個開源庫

開源資料庫MySQLMySQL是一個開放源碼的小型關聯式資料庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源...開源資料庫MySQLMySQL是一個開放源碼的小型關聯式資料庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。盤點:開源社區那些免費的資料庫軟體MySQL為多種編程語言提供了API,包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。而其自身是採用C和C++編寫的,使用了多種編譯器進行測試,所以,MySQL能夠保證源代碼具有很強的可移植性。這樣的一款資料庫,自然能夠支持幾乎所有的操作系統,從Unix、Linux到Windows,具體包括AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多種操作系統。最重要的是,它是一個可以處理擁有上千萬條記錄的大型資料庫。與此同時,MySQL也產生了很多分支版本的資料庫也非常值得推薦。首先是MariaDB,它是一個採用Maria存儲引擎的MySQL分支版本,是由原來MySQL的作者 Michael Widenius創辦的公司所開發的免費開源的資料庫伺服器。與MySQL相比較,MariaDB更強的地方在於它擁有更多的引擎,包括Maria存儲引擎、PBXT存儲引擎、XtraDB存儲引擎、FederatedX存儲引擎,它能夠更快的復制查詢處理、運行的速度更快、更好的功能測試以及支持對Unicode的排序等。其次是rcona,它為MySQL資料庫伺服器進行了改進,在功能和性能上較MySQL有著很顯著的提升。該版本提升了在高負載情況下的InnoDB的性能,同時,它還為DBA提供一些非常有用的性能診斷工具,並且提供很多參數和命令來控制伺服器行為。第三是Percona Server,它使用了諸如google-mysql-tools、Proven Scaling和 Open Query對MySQL進行改造。並且,它只包含MySQL的伺服器版,並沒有提供相應對 MySQL的Connector和GUI工具進行改進。非關系型資料庫NoSQL從NoSQL的字面上理解,NoSQL就是Not Only SQL,被業界認為是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對於目前鋪天蓋地的關系型資料庫運用,這一概念無疑是一種全新的思維的注入。盤點:開源社區那些免費的資料庫軟體當然,NoSQL也是隨著互聯網Web2.0網站的興起才能取得長足的進步。關鍵的需求在於,傳統的關系資料庫在應付Web2.0網站,特別是超大規模和高並發的SNS類型的web2.0純動態網站顯得力不從心,暴露了很多難以克服的問題,而非關系型的資料庫則由於其本身的特點得到了非常迅速的發展。首先推薦的是Oracle NoSQL Database,這是一個社區版。Oracle的這個NoSQL Database, 是在10月4號的甲骨文全球大全上發布的Big Data Appliance的其中一個組件,Big Data Appliance是一個集成了Hadoop、NoSQL Database、Oracle資料庫Hadoop適配器、Oracle資料庫Hadoop裝載器及R語言的系統。其次推薦的是Membase。Membase是NoSQL家族的一個新的重量級的成員。Membase是開源項目,源代碼採用了Apache2.0的使用許可。該項目託管在GitHub.Source tarballs上,目前可以下載beta版本的Linux二進制包。該產品主要是由North Scale的memcached核心團隊成員開發完成,其中還包括Zynga和NHN這兩個主要貢獻者的工程師,這兩個組織都是很大的在線游戲和社區網路空間的供應商。並且,Membase容易安裝、操作,可以從單節點方便的擴展到集群,而且為memcached(有線協議的兼容性)實現了即插即用功能,在應用方面為開 發者和經營者提供了一個比較低的門檻。做為緩存解決方案,Memcached已經在不同類型的領域(特別是大容量的Web應用)有了廣泛的使用,其中 Memcached的部分基礎代碼被直接應用到了Membase伺服器的前端。通過兼容多種編程語言和框架,Membase具備了很好的復用性。在安裝和配置方面,Membase提供了有效的圖形化界面和編程介面,包括可配置 的告警信息。Membase的目標是提供對外的線性擴展能力,包括為了增加集群容量,可以針對統一的節點進行復制。 另外,對存儲的數據進行再分配仍然是必要的。第三推薦的是Hibari。Hibari在日語中意思為「雲雀」,它是一個專為高可靠性和大數據存儲的資料庫引擎,可用於雲計算環境中,例如 webmail、SNS和其他要求T/P級數據存儲的環境中。同時,Hibari也支持Java,C/C++,Python,Ruby和Erlang語言的客戶端。第四推薦的是memcachedb。這是一個由新浪網的開發人員開放出來的開源項目,給memcached分布式緩存伺服器添加了Berkeley DB的持久化存儲機制和非同步主輔復制機制,讓memcached具備了事務恢復能力、持久化能力和分布式復制能力,非常適合於需要超高性能讀寫速度,但是 不需要嚴格事務約束,能夠被持久化保存的應用場景,例如memcachedb被應用在新浪博客上面。第五推薦的是Leveldb。這是一個Google實現的非常高效的kv資料庫,目前的版本1.2能夠支持billion級別的數據量了。 在這個數量級別下還有著非常高的性能,主要歸功於它的良好的設計,特別是LSM演算法。LevelDB是單進程的服務,性能非常之高,在一台4個Q6600的CPU機器上,每秒鍾寫數據超過40w,而隨機讀的性能每秒鍾超過10w。XML資料庫的優勢XML資料庫是一種支持對XML格式文檔進行存儲和查詢等操作的數據管理系統。在系統中,開發人員可以對資料庫中的XML文檔進行查詢、導出和指定格式的序列化。目前XML資料庫有三種類型:XMLEnabledDatabase(XEDB),即能處理XML的資料庫;NativeXMLDatabase(NXD),即純XML資料庫;HybridXMLDatabase(HXD),即混合XML資料庫。關系資料庫中的第一代XML支持是切分(或分解)文檔,以適應關系表格或將文檔原封不動地存儲為字元或二進制大對象(CLOB 或 BLOB)。這兩個方法中的任一種都嘗試將XML模型強制轉換成關系模型。然而,這兩種方法在功能和性能上都有很大的局限性。混合型模型將XML存儲在類似於DOM的模型中。XML數據被格式化為緩沖數據頁,以便快速導航和執行查詢以及簡化索引編制。在這里,首要要推薦的XML資料庫是Sedna。它號稱是一款原生態的XML資料庫,提供了全功能的核心資料庫服務,包括持久化存儲、ACID事務、索引、安全、熱備、UTF8等。實現了 W3C XQuery 規范,支持全文搜索以及節點級別的更新操作。第二款XML資料庫是BaseX。這款資料庫用來存儲緊縮的XML數據,提供了高效的 XPath和XQuery的實現,同時,它還提供一個前端操作界面。盤點:開源社區那些免費的資料庫軟體第三款推薦的是XMLDB。這款資料庫使用了關系型資料庫來存儲任意的XML文檔,因為所採用的存儲機制,所以文檔的搜索速度特別快,同時執行XSL轉換也相當快。XMLDB同時還提供了一個PHP的模塊,可以應用在Web應用中。第四塊推薦的是X-Hive/DB。它是一個為需要高級XML數據處理和存儲功能的軟體開發者設計的強大的專屬XML資料庫。X-Hive/DB Java API包含存儲、查詢、檢索、轉換和發表XML數據的方法。與傳統關系型資料庫相比,XML資料庫具有以下優勢:第一,XML資料庫能夠對半結構化數據進行有效的存取和管理。如網頁內容就是一種半結構化數據,而傳統的關系資料庫對於類似網頁內容這類半結構化數據無法進行有效的管理。第二,提供對標簽和路徑的操作。傳統資料庫語言允許對數據元素的值進行操作,不能對元素名稱操作,半結構化資料庫提供了對標簽名稱的操作,還包括了對路徑的操作。第三,當數據本身具有層次特徵時,由於XML數據格式能夠清晰表達數據的層次特徵,因此XML資料庫便於對層次化的數據進行操作。XML資料庫適合管理復雜數據結構的數據集,如果己經以XML格式存儲信息,則XML資料庫利於文檔存儲和檢索;可以用方便實用的方式檢索文檔,並能夠提供高質量的全文搜索引擎。另外XML資料庫能夠存儲和查詢異種的文檔結構,提供對異種信息存取的支持。