转自http://hi.baidu.com/ltguo/blog/item/a656a03ece6d6df1828b1396.html
http://sector.sourceforge.net/
这是2006年启动的一个开源项目(C++),包括Sector和 Sphere两个子系统,分别对应到Hadoop的HDFS和MapReduce两个子系统,对外的接口也比较类似。不过,该系统在设计之初就考虑了 跨多个数据中心的数据处理需求,因此在slave/master之间的安全以及client和系统之间的数据传输安全方面都提供了安全机制。 这一点是hadoop没有考虑的。
粗略对比了Sphere和MapReduce之间的差别,可能不全面:
(1)slave和master之间提供数据保密机制(可选择不加密数据),hadoop目前没有;
(2)在使用系统时,client直接将数据传输到slave节点。 hadoop的机制与其类似;
(3)Sector中数据传输采用UDT协议,这是一个增加了流控的UDP协议,传输效率比目前hadoop采用的TCP高;目前Hadoop MR中采用HTTP,效率更低;
(4)在Sphere中UDF(类似于MapTask)的输出结果是通过push的方式发送出去的,而Hadoop采用pull的方式。这种方式孰优孰劣比较难断定,因为push方式有可靠性的问题;
(5)在Sphere中不采用按照blocksize和单独的文件来确定任务数。
(6)在Sphere中,Map任务有错误恢复机制,但Reduce不支持错误恢复,即如果Reduce Task 失败了,整个作业就失败了。
从Sector/Sphere网站上发布的terasort结果来看,其性能比hadoop高出不少(http://sector.sourceforge.net/benchmark.html ):
64节点(主节点:Dell 1950, dual dual-core Xeon 3.0GHz, 16GB RAM / 子节点:Dell 1435s, single dual core AMD Opteron 2.0GHz, 4GB RAM, and 1TB single disk):
Sector/Sphere为1361妙,Hadoop(1副本)为 2617秒,而在我们的labs上测试的结果是...... 秒。
he performance value listed in this page was achieved using the Open Cloud Testbed. Currently the testbed consists of 4 racks. Each rack has 32 nodes, including 1 NFS server, 1 head node, and 30 compute/slave nodes. The head node is a Dell 1950, dual dual-core Xeon 3.0GHz, 16GB RAM. The compute nodes are Dell 1435s, single dual core AMD Opteron 2.0GHz, 4GB RAM, and 1TB single disk. The 4 racks are located in JHU (Baltimore), StarLight (Chicago), UIC (Chicago), and Calit2(San Diego). The inter-rack bandwidth is 10GE, supported by CiscoWave deployed over National Lambda Rail.
| Sphere | Hadoop (3 replicas) | Hadoop (1 replica) |
UIC | 1265 | 2889 | 2252 |
UIC + StarLight | 1361 | 2896 | 2617 |
UIC + StarLight + Calit2 | 1430 | 4341 | 3069 |
UIC + StarLight + Calit2 + JHU | 1526 | 6675 | 3702 |