大数据算法

大数据算法的定义:
    在给定的资源约束下,以大数据为输入,在给定时间约束内可以生成满足给定约束结果的算法。

三个约束:
  • 资源约束
  • 时间约束
  • 问题本身对结果的约束(和传统算法定义一样)

大数据算法可以不是:
  • 精确算法
    • 有时无法在给定约束下得到精确的结果,此时只能靠损失一些结果的精度来换取时间,得到一个可以容忍的结果
  • 内存算法
    • 可以考虑外存算法,甚至可以考虑三级存储器、网络存储器算法
  • 串行算法
    • 可以是由多台机器共同执行的
  • 仅在电子计算机上运行的算法
    • 可以是有人来参与的算法(众包算法)
以上几点和“传统算法”大不相同


大数据算法不仅是:
  • 云计算
    • 云计算的确是处理大数据算法的一个非常好的途径,或者说云平台是一个很好的平台,但是大数据算法不仅仅可以在云平台中运行。在很多情况下,在一些计算能力非常弱的设备(如手机)上仍然要运行大数据算法。
  • MapReduce
    • MapReduce确实是实现大数据算法的一种非常好的编程架构,也确实在生产中得到了广泛的应用,但是大数据算法不仅仅是MapReduce上的算法。近就并行而言,除MapReduce模型以外还有很多其他的编程模型,况且处理大数据算法的编程不仅是靠并行,在很多情况下还要靠设计线性或者亚线性的算法,要靠设计有效的外存结构以及引入人来参与
  • 大数据分析与挖掘
    • 大数据算法远不止分析与挖掘,还有很多其他问题,包括许多基础问题,如排序、查找,由于数据量大、时间有限、资源受限,在大数据上可能都需要设计新的算法

大数据算法的难度
  • 访问全部数据时间过长
    • 读取部分数据(时间亚线性算法)
  • 数据难以放入内存
    • 将数据存储到磁盘上(外存算法)
    • 紧基于少量数据进行计算(空间亚线性算法)
  • 单个计算机难以保存全部数据,计算需要整体数据
    • 并行处理(并行算法)
  • 计算机的计算能力不足或知识不足
    • 人来帮忙(众包算法)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值