寻找关于海量小文件存储的解决方案

来源:互联网 发布:photoshop6 mac破解版 编辑:程序博客网 时间:2024/05/21 22:54

 

http://www.ithome.com.tw/itadm/article.php?c=68277&s=4

 

巨量資料代表的就是大量、複雜和非結構化的資料。

OLAP(On-Line Analytical Processing)

OLTP(On-Line Transaction Processing)

一些資料倉儲廠商:甲骨文、微軟、IBM、SAP/Sybase、Teradata、EMC的Greenplum等。

目前主要有4種NoSQL資料:

   1. 包括Key-Value資料庫

   2. 記憶體資料庫(In-memory Database)

   3. 圖學資料庫(Graph Database)

   4. 文件資料庫(Document Database)。

 

中華電信「大資料運算平臺」組成要素

1. 168臺伺服器叢集,容量600TB。
2. Hadoop雲端運算技術為核心。
3. 平臺使用度模組化工具,如分散式資料庫系統、工作排程、流程管理、資料庫介接工具。
4. 平臺維護效率模組化工具,如效能監測、告警通知、組態管理等。
5. 「大資料元件庫」提供API,簡化開發。

 

 

Hadoo优缺点比较:

第一個優點是,運用Hadoop技術可以節省成本。中華電信研究所寬網室研究員蕭毅表示,開發巨量資料運算平臺的硬體很便宜,軟體也是免費的,如果要計算一樣的資料量來說,只需要支付用傳統資料庫計算時價格的10分之1。

第二個優點是,減輕程式維護人力。蕭毅表示,過去企業要維護一個傳統資料庫,需要大量的專業人力,尤其是要計算PB等級的資料量時,資料庫會變得更加複雜,加上備份的機制,對於程式維護來說是很大的負擔。但利用Hadoop技術,由於每一筆資料體積龐大,只要利用類似使用搜尋引擎的功能就可以找到資料,而且Hadoop也會自動備份3次,大大減低程式維護的人力。

 

第一個缺點是,安全性不足的問題。蕭毅解釋,中華電信研究所未來想要讓這個「大資料運算平臺」上擁有多租戶的功能,但是如果要將這些用戶隔開,就必須自行開發程式或使用不同的硬體來區分不同的用戶,不過,他認為,這對於單一企業應用此技術開發單一平臺來說,就不會有這個問題。

第二個缺點是程式開發人員必須要學習MapReduce架構才能在Hadoop平臺開發程式,而且沒有針對各行各業需求打造的元件庫。
第三個缺點則是各版本功能的差異較大,容易造成應用程式相容性的問題。蕭毅表示,為了解決這個問題,在開發的過程中就必須加進許多管控機制才能讓程式運作更順暢。

第四個缺點則是管理機制大多為指令介面,缺乏友善的圖像管理介面。事實上,蕭毅認為,對專業的開發人員來說,指令介面並沒有什麼問題,不過對於一般的人來說,容易產生距離感

 

 

海量小文件存储的解决方案:

1. LoongStore

2. 分布式文件系统:

    豆瓣就这么做的,TokyoCabinet做为底层存储,封装了一个memcached协议接口,一致性哈希,应用程序根据哈希规则在node中读写数据:<DoubanFS结构图>

   

 

 

http://database.51cto.com/art/201105/265466.htm   Tokyo Cabinet 评测

 

mongodb与tokyo cabinet的对比:

http://blog.zhaojie.me/2010/02/mongodb-tokyo-tyrant-benchmark-2-concurrent-insert.html

TT:

  • 插入110万条记录的平均吞吐量为:大约3225条/秒
  • 插入220万条记录的平均吞吐量为:大约1833条/秒
  • 当数据库包含100万条数据时吞吐量为:1700~1800条/秒
  • 当数据库包含200万条数据时吞吐量为:150~160条/秒

似乎随着数据量的增加,TT的吞吐量下降得也非常明显。这其中可能有索引的因素在里面

 

MongoDB的性能指标:

  • 5个并发,插入110万条记录的平均吞吐量:大约6600条/秒
  • 10个并发,插入220万条记录的平均吞吐量:大约6300条/秒
  • 20个并发,插入220万条记录的平均吞吐量:大约6300条/秒
  • 50个并发,插入550万条记录的平均吞吐量:大约4500条/秒
  • 100个并发,插入550万条记录的平均吞吐量:大约4100条/秒

总体来说,虽然在数据量和并发量增大的情况下MongoDB的吞吐量有所下降,但是MongoDB的表现比TT还是要抢眼不少,而且在绝对数值上还是相当出彩的。