阿里的100TB Sort Benchmark排序比雅虎快了一倍还多,我的看法
如果我的判断正确,它们使用的软件和算法应该是HADOOP,MAP/REDUCE,或者类似的技术方案。如果这些条件一样,影响计算结果的还有三个因素:
1.CPU的数量和CPU的处理能力
CPU的数量可以用一个最体力活的例子来说明:挖沙!如果阿里巴巴带着1000个民工在河里挖沙,而旁边的雅虎只有200个民工,那么挖沙的结果可想而知,肯定是阿里赢了。后者相当于一个成年人和一个儿童比体力,无论如何,一个儿童的体力是比不上成人的。
2.网络带宽
这涉及到分布计算和集中计算的根本不同,网络!现在我们大多数的计算模式仍然是集中计算,常见的就是我们经常用的EXCLE表格。集中计算的特点是数据的存储和计算混合在一台计算机上进行。分布计算的特点是把存储和计算分开,这样就需要一批计算机参与,每台计算机成为一个节点,或者存储,或者计算,或者兼而有之。网络是将它们连接起来的纽带。假设数据存储在E节点,那么数据计算可能发生在D节点,也可能是W节点。为了能够在等量时间内传输更多的数据,网络带宽就显得非常重要了。如果把网络比喻成水管,那么带宽就是这个水管的粗细,越粗的水管流量会越大。据说阿里的机房带宽都是万兆级,这决对是目前顶级的配置了。
3.数据存储的位置
换句话说,就是这100TB的数据放在哪里。目前的存储介质有三种:内存、固态硬盘、机械硬盘。因为这些数据无论放在哪里,都要从存储介质里读出来,再通过网络传到其它节点上计算。这个"读"本身就是一个耗时的过程。根据这些存储介质自身的特性,内存的速度远远快过固态硬盘,固态硬盘又超过机械硬盘。
综上所述,基本条件相同下的竞赛才有可比性,如果玩田忌赛马,偷换概念的比赛,即使赢了,也是胜之不武,没有什么可夸耀的。
阿里的100TB Sort Benchmark排序比雅虎快了一倍还多,我的看法的更多相关文章
- redis 的使用 (sort set排序集合类型操作)
sort set排序集合类型 释义: sort set 是 string 类型的集合 sort set 的每个元素 都会关联一个 权 通过 权值 可以有序的获取集合中的元素 应用场合: 获取热门帖子( ...
- counting sort 计数排序
//counting sort 计数排序 //参考算法导论8.2节 #include<cstdio> #include<cstring> #include<algorit ...
- Collections.sort自定义排序的使用方法
Collections.sort自定义排序的使用方法 总结:Collections可以对List进行排序:如果想对Map进行排序,可以将Map转化成List,进行排序: public static v ...
- 【转载】C#中自定义Sort的排序规则IComparable接口
C#中的List集合在排序的时候,如果不使用Lambda表达式进行排序的话,一般调用Sort()方法进行排序,如果希望Sort()方法排序后的结果跟我们预想的效果一致或者按照我们自定义的规则排序,则需 ...
- erlang下lists模块sort(排序)方法源码解析(二)
上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel ...
- erlang下lists模块sort(排序)方法源码解析(一)
排序算法一直是各种语言最简单也是最复杂的算法,例如十大经典排序算法(动图演示)里面讲的那样 第一次看lists的sort方法的时候,蒙了,几百行的代码,我心想要这么复杂么(因为C语言的冒泡排序我记得不 ...
- List<T>集合的Sort自定义排序用法简单解析
List<T>集合的Sort自定义排序用法简单解析: 如下:一系列无序数字,如果想要他们倒序排列,则使用如下代码: 那么如何理解这段代码呢? (x,y)表示相邻的两个对象,如果满足条件:x ...
- 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较
我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...
- Spring Data JPA使用Sort进行排序(Using Sort)(转)
通过上一节的学习,我们知道了如何用@Query注解来实现灵活的查询.在上一节的示例中,我也尝试给出简单的排序,通过JPQL语句以及原生SQL来实现的.这样的实现,虽然在一定程度上可以应用,但是灵活度不 ...
随机推荐
- Unity3d实现的十字路口的模拟(三)
http://blog.csdn.net/nijiayy/article/details/45366427
- js点赞效果图
点赞时点赞图标会发生变化. html部分: <img src="img/icon_thumb_up.png" id="imgs1" style=" ...
- JVM由浅入深
运行时数据区域 Java比起C++一个很大的进步就在于Java不用再手动控制指针的delete与free,统一交由JVM管理,但也正因为如此,一旦出现内存溢出异常,不了解JVM,那么排查问题将会变成一 ...
- 菜鸟笔记 -- Chapter 6.2.4 成员方法
6.2.4 成员方法 在Java中使用成员方法对应于类对象的行为,在有些地方也会将方法称之为函数,成员方法是定义在类中具有特定功能的一段独立小程序.方法格式如下: 修饰符 返回值类型 成员方法名 ( ...
- Oracle system 忘记密码,怎么修改密码
1.win键+R键,输入cmd,打开命令提示符.(小黑窗) 2.输入:sqlplus /nolog 3.输入conn /as sysdba(以超级管理员身份登录 4.输入alter user syst ...
- JS数组去重的十种方法(转载)
重点:博客原文出自http://www.cnblogs.com/yuanbo88/p/7345331.html.我只是想给自己做个笔记.感谢敲代码的怪蜀黍做的贡献. Methods 1: 思路:定义一 ...
- chromium之tracked_objects
// For each thread, we have a ThreadData that stores all tracking info generated // on this thread. ...
- 转:java23种设计模式
以下是学习过程中查询的资料,别人总结的资料,比较容易理解(站在各位巨人的肩膀上,望博主勿究) 概述 设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的. Java中设计模式(ja ...
- python核心编程2 第十三章 练习
13-3.对类进行定制.写一个类,用来将浮点型值转换为金额. class MoneyFmt(object): def __init__(self, value=0.0, flag='-'): self ...
- DevOps - 项目构建 - Maven
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...