大数据计算
大数据与分布式计算

大数据与分布式计算第一点:大数据的概述与发展大数据是指在规模(数据量)、多样性(数据类型)和速度(数据生成及处理速度)三个方面超出传统数据处理软件和硬件能力范围的数据集合。
随着互联网的迅猛发展,数据量呈爆炸式增长,大数据的概念应运而生。
从技术角度看,大数据的发展可追溯到20世纪80年代,当时关系型数据库管理系统(RDBMS)开始广泛应用于企业数据存储与分析。
然而,随着数据量的激增,传统数据库在处理大规模、非结构化数据方面显得力不从心,于是NoSQL数据库、数据仓库、分布式文件系统等技术应运而生,为大数据的处理提供了技术支撑。
从应用角度看,大数据已渗透至各行各业,如金融、医疗、零售、智能制造、物联网等。
企业和政府通过大数据分析,可实现精准营销、风险控制、智能决策等目标,提高运营效率,创造更大价值。
此外,大数据的发展也带来了数据安全、隐私保护等方面的问题。
如何在保障数据安全、尊重个人隐私的前提下,充分利用大数据的价值,已成为全球范围内的热门话题。
第二点:分布式计算的原理与应用分布式计算是一种计算方法,通过将计算任务分散到多个计算机(节点)上,实现计算资源的优化配置,提高计算效率。
分布式计算的核心目标是负载均衡和容错处理。
从原理上看,分布式计算基于两个基本概念:计算分解和数据局部性。
计算分解是指将复杂的计算任务拆分成多个较小的子任务,分配给不同的节点并行处理。
数据局部性则是指在处理任务时,尽量使数据存储在附近的节点上,减少数据传输时间,提高计算速度。
分布式计算的实现依赖于多种技术,如分布式文件系统、消息队列、集群管理、负载均衡等。
其中,分布式文件系统如Hadoop的HDFS、分布式数据库如Cassandra和MongoDB,以及分布式计算框架如Spark和Flink等,均为分布式计算提供了技术支持。
在应用方面,分布式计算已广泛用于大数据处理、机器学习、搜索引擎、云计算等领域。
例如,搜索引擎巨头Google通过分布式计算技术,实现了对海量网页的索引和快速检索;分布式计算框架Apache Spark则可在大规模数据集上进行实时计算和机器学习任务。
如何在Java中实现大数据离线计算

如何在Java中实现大数据离线计算在当今数字化的时代,数据量呈爆炸式增长,如何有效地处理和分析这些海量数据成为了企业和开发者面临的重要挑战。
大数据离线计算是一种常见的数据处理方式,它适用于处理大规模的数据,并且对处理时间的要求相对较低。
在 Java 中,我们可以利用一些技术和框架来实现大数据离线计算。
接下来,让我们逐步了解如何在 Java 中进行大数据离线计算。
首先,我们需要明确大数据离线计算的概念。
离线计算通常是指对预先收集好的数据进行批量处理,而不是实时处理。
这种方式适合处理那些对时效性要求不高,但数据量巨大、计算复杂的任务,比如数据分析报表的生成、历史数据的挖掘等。
要在 Java 中实现大数据离线计算,我们可以使用 Hadoop 生态系统中的相关技术。
Hadoop 是一个开源的分布式计算框架,它由 HDFS (Hadoop 分布式文件系统)和 MapReduce 计算模型组成。
HDFS 是一个用于存储大规模数据的分布式文件系统。
在 Java 中,我们可以通过 Hadoop 的 API 来与 HDFS 进行交互,实现数据的读取和写入。
例如,我们可以使用`FileSystem`类来创建、删除文件和目录,读取文件内容等操作。
而 MapReduce 则是 Hadoop 中的核心计算模型。
Map 阶段将输入数据分解成一组键值对,并进行初步的处理。
Reduce 阶段则对 Map 阶段的输出结果进行汇总和进一步的处理。
在 Java 中实现 MapReduce 任务,需要编写`Mapper`类和`Reducer`类。
```javaimport orgapachehadoopconfConfiguration;import orgapachehadoopfsPath;import orgapachehadoopioIntWritable;import orgapachehadoopioLongWritable;import orgapachehadoopioText;import orgapachehadoopmapreduceJob;import orgapachehadoopmapreduceMapper;import orgapachehadoopmapreduceReducer;import orgapachehadoopmapreducelibinputFileInputFormat;import orgapachehadoopmapreduceliboutputFileOutputFormat;public class WordCount {public static class TokenizerMapper extends Mapper<LongWritable, Text, Text, IntWritable> {private final static IntWritable one = new IntWritable(1);private Text word = new Text();@Overridepublic void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {String line = valuetoString();String words = linesplit("");for (String wordStr : words) {wordset(wordStr);contextwrite(word, one);}}}public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> {private IntWritable result = new IntWritable();@Overridepublic void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {int sum = 0;for (IntWritable val : values) {sum += valget();}resultset(sum);contextwrite(key, result);}}public static void main(String args) throws Exception {Configuration conf = new Configuration();Job job = JobgetInstance(conf, "word count");jobsetJarByClass(WordCountclass);jobsetMapperClass(TokenizerMapperclass);jobsetCombinerClass(IntSumReducerclass);jobsetReducerClass(IntSumReducerclass);jobsetOutputKeyClass(Textclass);jobsetOutputValueClass(IntWritableclass);FileInputFormataddInputPath(job, new Path(args0));FileOutputFormatsetOutputPath(job, new Path(args1));Systemexit(jobwaitForCompletion(true)? 0 : 1);}}```在上述示例中,`TokenizerMapper`类将输入的文本行拆分成单词,并将每个单词作为键,值为 1 输出。
大数据和云计算有什么区别和联系

大数据、云计算,作为新兴的行业热词,受到的关注不可谓不多,似乎天生就自带光环。
但是随之而来的,还有大家对于大数据与计算的误解,在很多人模糊的理解当中大数据与云计算常常一起出现,因此觉得这两者其实是一样的概念。
今天我们就从大数据云计算培训的角度,来聊一聊大数据和云计算的区别。
大数据发展到现在,其实所指的不是字面上的“大规模数据”,而是一整个对于数据进行处理以及价值挖掘的过程,这个过程当中,涉及到多个环节,最终才能实现大数据的价值变现。
而云计算,准确来说是一种基于互联网的计算方式。
典型的云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。
具体来理解,大数据说的是一种移动互联网和物联网背景下的应用场景,各种应用产生的巨量数据,需要处理和分析,挖掘有价值的信息;云计算说的是一种技术解决方案,就是利用这种技术可以解决计算、存储、数据库等一系列IT基础设施的按需构建的需求,两者并不是同一个层面的东西。
在实际的运用当中,大数据是云计算非常重要的应用场景,而云计算则为大数据的处理和数据挖掘都提供了最佳的技术解决方案。
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分,大数据必然无法用单台的计算机进行处理,必须采用分布式架构。
它的特色在于对海量数据进行分布式数据挖掘,但它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术,随着云时代的来临,大数据也吸引了越来越多的关注。
通常来说,大数据云计算培训,其实可以分开来谈,大数据是大数据,云计算是云计算。
大数据的价值挖掘和场景运用,可以通过云计算得到支持,而云计算并非是大数据实现计算处理的唯一方式。
扩展资料:大数据的4V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value (价值)。
云计算的关键词在于“整合”,无论你是通过现在已经很成熟的传统的虚拟机切分型技术,还是通过google后来所使用的海量节点聚合型技术,他都是通过将海量的服务器资源通过网络进行整合,调度分配给用户,从而解决用户因为存储计算资源不足所带来的问题大数据正是因为数据的爆发式增长带来的一个新的课题内容,如何存储如今互联网时代所产生的海量数据,如何有效的利用分析这些数据等等。
大数据基础ppt04第四章大数据计算

教学分析
Teaching Analysis
Hive与传统关系数据库对比如表4-2所示。
教学分析
Teaching Analysis
2.DAG模型的改进—RDD(可恢复分布式数据集)
MapReduce的另一个不足之处是使用磁盘存储中间结果,严重影响了系统的性 能,这在机器学习等需要迭代计算的场合更为明显。Spark对早期的DAG模型作了改 进,基于内存的运算要快100倍以上,基于磁盘的运算也要快10倍以上。
教学分析
Teaching Analysis
4.3 流计算
4.3.1 流计算概述
流计算框架一般采用DAG(有向无环图)模型。图中的节点分为两类:一类是数 据的输入节点,负责与外界交互而向系统提供数据;另一类是数据的计算节点,负责 完成某种处理功能如过滤、累加、合并等。如图4-6所示。
图4-6 流计算DAG模型示意图
图4-4 MapReduce与Spark中间结果保存方式对比
教学分析
Teaching Analysis
3.Spark对MapReduce的改进 下面总结Spark对MapReduce的改进。 (1)MapReduce抽象层次低,需要手工编写代码完成;Spark基于RDD抽象,使数据处理 逻辑的代码非常简短。 (2)MapReduce只提供了map和reduce两个操作,表达力欠缺;Spark提供了很多转换 和动作,很多关系数据库中常见的操作如JOIN、GROUP BY已经在RDD中实现。 (3)MapReduce中,只有map和reduce两个阶段,复杂的计算需要大量的组合,并且由 开发者自己定义组合方式;Spark中,RDD可以连续执行多个转换操作,如果这些操作对 应的RDD分区不变的话,还可以放在同一个任务中执行。 (4)MapReduce处理逻辑隐藏在代码中,不直观;Spark代码不包含操作细节,逻辑更清 晰。 (5)MapReduce中间结果放在HDFS中;Spark中间结果放在内存中,内存放不下时才写 入本地磁盘而不是HDFS,这显著提高了性能,特别是在迭代式数据处理的场合。 (6)MapReduce中,reduce任务需要等待所有map任务完成后才可以开始;在Spark中 ,分区相同的转换构成流水线放到同一个任务中运行。
大数据存储与计算技术综述

大数据存储与计算技术综述随着信息化时代的到来,大数据的应用越来越广泛,各行各业的数据都在海量增长。
如何高效地存储和处理这些数据就成为了大家关注的话题。
本文将从大数据存储的概念、存储介质、存储架构、计算框架等多个方面来综述大数据存储与计算技术。
一、大数据存储的概念大数据存储可简单理解为存储大规模数据的技术手段。
在数字信息化时代,大数据的产生呈现出爆炸式增长,这使得传统的存储方式无法满足存储和处理的需求。
因此,大数据存储技术应运而生。
二、大数据存储介质1.磁盘存储磁盘存储是最为常见和普及的存储方式。
硬盘是最常见的磁盘存储设备,它通过主板上的SATA数据线来连接CPU,将数字信号转换为磁盘上垂直和水平方向上的磁场变化。
其主要特点是存储器容量大,使用周期长,但读写速度相对较慢。
2.闪存存储和磁盘存储相比,闪存存储的读写速度更快,使用寿命更长,且无噪音,节能环保。
最常用的闪存存储设备是USB闪存盘、固态硬盘等。
3.内存存储内存存储是一种速度非常快的存储方式,其读写速度比磁盘存储和闪存存储高出一个数量级,但存储容量相比之下较小,使用寿命也较短。
三、大数据存储架构1.分布式存储架构分布式存储架构是大数据存储的一种主流方式。
它通过将数据划分为多个部分,分别存储在多台服务器上,从而提升了数据的读写性能和可靠性,具有较好的可扩展性。
目前,分布式存储系统中的代表性技术有HDFS、Ceph等。
2.对象存储架构对象存储架构是一种新兴的存储方式,其可以将数据存储在一组节点上,并且自动分配数据副本,从而保证数据的高可靠性和可用性。
典型的对象存储系统有Amazon S3、Cloudian等。
3.列存储架构列式存储是相对于行式存储而言的一种数据存储方式。
它将数据按照列而非按行进行存储和处理,大大提高了数据的读取速度和压缩率,现在一些大型企业的数据仓库系统都在使用列存储技术来进行存储和处理。
四、大数据计算框架1. Apache HadoopApache Hadoop是大数据处理的一个开源框架,主要由HDFS和MapReduce两个部分组成。
大数据在云计算中的应用

大数据在云计算中的应用随着信息技术的迅猛发展,大数据已经成为当今信息社会的重要组成部分。
同时,云计算作为一种创新的计算模式,也在不断推动着信息技术的进步。
本文将探讨大数据在云计算中的应用,分析其在数据处理、资源管理和应用开发等方面的优势和挑战。
一、数据处理方面的应用在云计算环境下,大数据的处理具有以下几个显著特点。
首先是数据量巨大,云计算提供了强大的计算和存储资源,能够满足大数据的处理需求。
其次是数据种类繁多,包括结构化数据和非结构化数据等。
云计算可以提供灵活多样的数据处理工具和服务,能够进行高效的数据整合和分析。
此外,大数据的处理还需要强大的实时性和并发性,云计算平台可以通过横向扩展来满足这些要求。
在大数据处理方面,云计算平台提供了一系列的数据处理工具和服务。
例如,Hadoop是一种开源的分布式计算框架,可以实现大数据的分布式处理和分析。
Spark则是一种基于内存的大数据处理引擎,具有高速计算和流式处理的优势。
此外,云计算还提供了数据仓库、数据挖掘和机器学习等工具,帮助用户进行数据分析和建模。
二、资源管理方面的应用大数据处理需要强大的计算和存储资源支持,云计算通过虚拟化和分布式技术,提供了高效的资源管理方式。
云计算平台可以根据用户需求,动态分配和回收计算和存储资源,实现资源的高效利用。
同时,云计算还可以通过负载均衡和故障恢复等机制,提高系统的可靠性和性能。
在资源管理方面,云计算平台提供了弹性计算和存储服务。
用户可以根据自身需求,弹性地调整计算和存储资源的规模。
此外,云计算还提供了虚拟机管理、容器编排和数据备份等功能,帮助用户管理和保护大数据资源。
三、应用开发方面的应用随着大数据应用的广泛推广,云计算提供了丰富的应用开发工具和服务。
云计算平台可以提供开发环境和工具,帮助用户进行大数据应用的开发和测试。
同时,云计算还提供了数据共享、安全性和权限管理等功能,保障大数据应用的可靠性和安全性。
在应用开发方面,云计算平台提供了云原生应用开发框架和平台。
什么是云计算什么是大数据

什么是云计算什么是大数据云计算和大数据是当前信息技术领域中炙手可热的两个概念。
它们在不同的领域中都发挥着重要的作用,对于企业和个人来说都具有重要的意义。
本文将分别介绍什么是云计算和什么是大数据,并探讨它们对社会和经济的影响。
云计算,是基于互联网的一种计算方式。
它通过网络将计算资源按需提供给用户,以便快速、高效地处理和存储大量数据。
与传统的本地计算方式相比,云计算具有灵活性、可伸缩性和经济性的优势。
首先,云计算的灵活性表现在用户可以根据自身需求选择和配置所需的计算资源。
无论是个人用户还是企业用户,只需要通过网络连接云服务器即可获取到所需的计算资源。
这种按需分配的特性使得用户可以根据实际需求灵活地调整计算资源的使用,避免了过量投入和浪费。
其次,云计算的可伸缩性使得用户可以根据工作量的增减自由地扩大或缩小计算资源的规模。
无论是突然的大规模计算任务还是高峰时段的流量增长,云计算都能够快速调整计算资源以应对需求变化。
这种弹性的特性可以大大提高计算资源的利用率,减少了资源的浪费。
最后,云计算的经济性体现在用户只需要按实际使用的资源付费,而无需投入大量资金购买和维护庞大的计算设备。
这种按需付费模式使得企业可以降低IT成本,提高业务效率,尤其对于中小型企业来说,更是一种经济实惠的解决方案。
大数据,是指无法用传统数据管理工具进行处理和分析的数据集合。
与传统的数据处理方式不同,大数据不仅具有高容量和高速度的特点,还以其多样性和价值广泛应用于各个领域。
首先,大数据的高容量和高速度是指数据量庞大,且数据生成和传输的速度非常快。
现今社会,随着互联网的高速发展,大量的数据源源不断地涌现,如社交媒体、移动设备、物联网设备等。
这些数据经常以流式方式传输,要求对数据进行实时处理、分析和利用。
其次,大数据的多样性体现在数据的类型和来源多样。
除了传统的结构化数据外,大数据还包括文本、视频、音频、图像等非结构化数据。
此外,大数据还包括来自各种渠道和领域的数据,涉及经济、医疗、气象、交通等多个领域。
大数据与云计算简答题

大数据与云计算简答题1. 什么是大数据?大数据是指规模庞大、类型复杂且难以通过传统方式进行捕捉、管理和处理的数据集合。
这些数据通常具有高速度、高容量和多样性的特点,包括结构化数据(如关系型数据库中的表格数据)和非结构化数据(如文本、图象、音频和视频数据)。
大数据的处理需要借助于先进的技术和工具,以提取实用的信息和洞察力。
2. 什么是云计算?云计算是一种基于互联网的计算模式,通过网络提供计算资源和服务,包括计算能力、存储空间和应用程序。
它将计算任务分布在多个计算机或者服务器上,以实现高效的资源利用和灵便的扩展性。
用户可以根据需要按需使用云计算资源,并根据实际使用情况付费。
3. 大数据与云计算有什么关系?大数据与云计算密切相关。
云计算提供了大数据处理所需的强大计算能力和存储资源。
大数据处理通常需要大量的计算和存储资源来处理和分析海量的数据。
云计算提供了弹性扩展的能力,可以根据需要快速调整计算和存储资源的规模,以满足大数据处理的需求。
4. 大数据和云计算的优势是什么?大数据和云计算的结合带来了许多优势:- 可扩展性:云计算提供了弹性扩展的能力,可以根据需要调整计算和存储资源的规模,以适应大数据处理的需求。
- 高效性:云计算提供了高速的计算和存储能力,可以加快大数据的处理和分析速度,提高工作效率。
- 成本效益:云计算采用按需付费的模式,用户只需支付实际使用的资源,避免了购买和维护昂贵的硬件设备的成本。
- 灵便性:云计算提供了灵便的资源配置和管理,用户可以根据需要随时调整计算和存储资源的规模和配置。
- 可靠性:云计算提供了高可用性和容错性,可以确保大数据的安全性和可靠性。
5. 大数据和云计算的应用领域有哪些?大数据和云计算在各个领域都有广泛的应用,包括但不限于以下几个方面:- 金融行业:大数据和云计算可以匡助金融机构进行风险管理、欺诈检测、客户关系管理等方面的工作,提高业务效率和风险控制能力。
- 医疗保健:大数据和云计算可以用于医学图象处理、疾病预测和诊断、患者管理等方面,提高医疗保健的质量和效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
李建中:大数据计算基本概念研究问题及部分解作者:机房360出处:论坛2012-11-30 22:142012.11.30Hadoop与大数据技术大会(下午)2012.11.30Hadoop与大数据技术大会(下午)主持人:各位领导各位来宾下午好!欢迎大家参加Hadoop与大数据技术大会。
我是本次大会的程序委员会主席之一,CSDN程序员杂志的主编刘江。
首先我介绍一下这次大会是由中国计算机学会主办的、CCF专业委员会承办的大会。
除了今天的全体会议之外,明天还有四个分论坛,希望大家不要错过。
我们还有官方微博,如果有相关大方的发布信息可以从这里获取。
另外微博评论注意加HBTC四个字母。
今天下午有来自各机构、公司的专家来分享技术。
首先有请中国计算机学会大数据专家委员会副主席哈尔滨工业大学教授李建中老师为我们演讲,《大数据计算基本概念研究问题和部分解》。
李建中:非常高兴有机会和大家交流一下对大数据的理解。
HIT是哈尔滨工业大学的缩写,所以我的理解可能和工业界有一点点的不同,请看一下我们学院式的对大数据的研究有什么样的看法。
我讲三个问题:第一,大数据的基本概念。
第二,大数据计算机其挑战。
第三,研究问题与部分解。
第一,大数据的基本概念。
什么是大数据,实际上我的报告讲了很多了,为什么叫做描述?因为大数据实际上是结合了不可定义的概念,大是相对的,是相对目前的及拴系统计算能力来说的,今天的大数据明天就不是大数据,大数据有的人说三个V,有的人说四个V,V我也不详细说了。
所以说,大数据存在已久。
有一个会议叫SSDB是1983年创建的一个会议,这里面的论文就是在研究大数据,这个会议到现在已经有29年的历史了,现在为什么谈起来大数据呢?因为个时候大数据还没有那么普遍,涉及的领域很少,参加这方面研究的人也很有限,所以跟现在不同。
现在的大数据和当时研究的不同主要有两点。
李建中CCF大数据专家委员会副主任哈工大教授第一,大数据达到了无处不在的程度。
因特网有很多的大数据,在科学研究领域、医疗领域、商业领域、制造业、智慧城市都有大量的数据。
全世界的感知数据增长率是每年58%,全世界拥有的存储能力或者是存储总量的增长率是每年只有40%。
到2007年是一个里程碑,到2007年全世界的感知数据已经超过了全世界所拥有的存储器的容量。
到2010年的时候,全世界的感知数据是1.25千万PB,2011年产生的感知数据已经二倍于我们人类所拥有的存储器的容量。
所以,我们可以得到这样的结论,大数据几乎无处不在,数据量远远超出了现有的存储能力。
第二,大数据计算及其挑战。
大数据的输入是大数据D,问题的解是f(D)。
我们通常讲的时候总是讲查询、挖掘、分析,实际上已经远远地超出了这个范围。
大数据是一个多学科大范围的研究领域,涉及到很多的学科。
比如说在生物学、宇航学等各种领域里面都有它非常复杂的大数据的计算问题,但我们没有考虑到。
大数据计算问题的空间有多大?可以把在大数据方面的活动区分成这样五个方面,一个是大数据的获取、一个是大数据的传输、一个是大数据的存储、一个是大数据的质量管理。
最终,要支持大数据的问题求解。
所有的五个阶段里面的问题集中起来,称之为大数据计算问题的空间。
我们把求解这个空间里面的每一个问题的过程叫做大数据计算。
对每个问题要研究什么呢?要研究它的可计算性、计算复杂性和求解算法。
现在我们面临的挑战是四个方面。
第一,如何把现有的计算理论、现有的算法、设计方法和现有的计算系统scale to up。
第二,usability的问题。
如果大数据里面充满了错误,我们计算在好也不会得出正确的结论。
第三,privacy的问题,如何在最大化确保privacy。
第四,交叉学科的问题,如何实现多学科交叉,面临和解决大数据的领域问题,各个学科里面的大数据由于专业不同又没有能力处理这样大的数据,如何把多个学科交叉起来,然后来解决问题。
所以我们面临的挑战是四个挑战。
实际上大对计算的影响力是非常大的。
我们在中型计算机上和64个节点的集群上做了两组实验,就在数据库里面的算法和数据苦里面的算法进行了计算。
我们是用了1T到10T 的数据,这样的执行时间是从68个小时到89个小时。
所以,大数据项我们提出了很多的挑战,同时现有的方法和技术已经不能有效的支持大数据计算了。
第三,研究问题与部分解。
现在考虑两个基础方面的、共性的研究问题。
第一个问题是大数据的计算复杂性问题。
大数据的计算复杂性测度,除了时间复杂性以外还要考虑能量复杂性。
云计算出来之后或者是集群技术出来之后,能量测度复杂性非常高,我们学校集群的电费就是1000多万,所以能量的问题我们不得不考虑。
这样,就要在这两个测度下来考虑。
时间复杂性的问题上要充分考虑问题的复杂性分类。
传统的复杂性理论是把问题分成P类和NP类。
现在在P类问题里,数据量输入非常大的时候,N方算法就已经不合适了。
甚至N算法都不合适了。
在传统的理论里,我们认为多项式算法是可以接受的。
的数据的前提下不一定合适,大数据问题的难解性的标准是什么可以重新考虑。
第二是数据难解问题的判断性问题,这通常是用了一个归结的方法。
假定线性和亚线性是我们能容忍的算法,现在考虑用归的办法来判定一个问题是不是难解的,我们用归就需要来解决多项线性和亚线性归的问题,这个做起来很困难,如果这条路走不通就需要探索新的路。
很多难解的问题怎么办?我们就想做算法,每个问题的复杂性我们要知道是不是难解的,这是需要解决的问题,同时难解之后我们要判定是不是有线性或者是亚线性的算法,是不是可近似性的。
对能量复杂性来说,我们首先要研究能量复杂性的模型,看看能量是怎么样来消耗能量,然后我们来研究和时间复杂性相似的问题,这是最基本的基础理论问题,现在我们正在做这方面的工作。
另外一个问题是大数据的计算的算法设计的新方法,我们需要有新的思维,不然的话是很难取得突破性的进展的。
现在各个企业和厂家都在宣布说我有什么什么工具,你有什么什么工具。
但试想一下如果一个大数据问题到你那算的话都是N的平方算法的话是很难解决的。
算法都没有解决工具何以生成?所以算法是我们面临的很大的问题。
现在多项式算法如果指数太多的话,是平方级以上对P数量级或者是E数量级的数据就不可能计算了,所以现在要有新的理念,要追求线性和亚线性计算的算法,这里面是n,logn、loglogn的算法了。
排序问题有没有这样的算法?对基于比较的排序来说,nlogn也是没有算法的,但像基数排序的不依赖于比较的是有线性算法的,让它具有更一般性适合大数据的处理有很多的问题,很多的问题如果不具有线性和亚线性算法的时候,我们要考虑设计的新方法了。
我们首先叫做doing more with less,我能不能用一部分的数据来解决整个数据的问题。
在这么多年的工作中,试着想了几个方法,一个是基于压缩的大数据计算方法。
压缩大家都知道,可是有一个很大的问题是,传统的压缩方法在计算之前需要把数据反压缩过来,可是我们追求的是无解压的计算,压缩小了就在小的上面计算,这样才能达到提高性能的目的。
因此有两个问题需要考虑,一个是数据压缩方法,一个是无解压的计算问题。
第二个问题是无解压计算的问题,有了压缩的方法在这上面怎么计算呢?有很多的方法,有兴趣的老师和同学可以去看一下相关的文章。
第二个方法是适用的是基于抽样的大数据的e、dβ的近似计算方法。
因此就要解决三个问题,一个是抽样方法的选择问题,不同的数据不同数据的特点可能需要的抽样方法是不一样的,对不同的应用抽样的方法也是不一样的,甚至我们已经遇到了所有的抽样方法都不合适的数据怎么办?我们还要和数学家共同商量,搞出新的方法。
第二个方法是估计器的问题,我们要做一个估计器,能够证明它(e,β)的估计器,那么我们怎么能给定了以后却确定样本的大小,希望用最小的样本来计算问题。
这些问题如何解决在下面的文章里都有介绍。
第三个问题是增量式大数据计算方法。
很多的数据库是动态变化的,还有一些数据像传感器网络的数据、流数据都是在不断地增加和变化的。
现在就考虑有两种增量方法,一个是有大数据D,先把数据D小部分算完了,之后再加上( e,β),我的计算和原始的没有关系,只和(e,β)有关。
这个大数据的计算问题就变成了小数据的计算问题。
还有一些流数据的增量式的算法就有意义了,总是要保证后面增量的计算和前面没有关系,我就把大数据的计算问题变成了小数据的计算问题,这里面有一些方法,这些文章都很好找的。
最后一个现在正在试的方法是主数据分析的方法。
大数据的一个特点是价值很大可是价值密度很低。
现在把有价值的数据叫做主数据,现在我们有两种主数据,一般是绝对主数据,这个数据相对这个领域的有价值数据是什么?我们要把它找到。
另外一个是相对主数据,这对计算来说是有用的,我们怎么把它找到,现在正在做工作,明年年初会出来结果。
这是在一类方法学上。
下面是云计算环境下的并行算法的设计方法。
并行算法有很多,可是云计算环境和传统的并行计算环境是不一样的,所以要有新的设计方法。
第一个问题是,云环境下大数据怎么分布存储,数据怎么在各个节点上分布才能有效地支持大数据计算,这是需要解决的问题,我们提过一些方法。
第二个是云计算环境下的低通讯量的并行算法。
因为云计算的通信是瓶颈的问题,如果通信量非常大云计算是不灵的。
现在我们追求的是低通信量的并行算法的设计。
还有是能量受限的大数据计算方法,给定一个能力β,这个计算问题要判定一下在β的能量下能不能算出来,能算出来怎么算?我我我这是算法方面要考虑的问题。
下面我简单介绍六个方面的关键技术研究。
第一是大数据获取,有两个方面,首先是基于互联网的大数据获取的理论和方法,在数据库研究里面有了很多的相应的技术。
但这些技术不适合大数据,数据量非常大的时候就有问题,怎么把这些问题scale to大数据上。
第二个是基于传感网的大数据的获取的方法。
因为大数据的数据已经达到了非常大的地步,所以我们涉及到新的数据获取的问题,传统的传感器的节点已经不灵了,我们还要研究信号处理的算法,还要研究物理世界信息准确的获取的方法。
现在的获取方法有很大的问题,一个这样的物理世界的信息是这样的,可是我们可能会变成这个样子。
物理世界不可能再现,我们作出的结论也不可能对。
今年我们做了两个这样的结果要发表出来。
在大数据的传输上,一个是大数据实时传输的理论和算法,有一些结果。
第一是大数据的安全可靠传输的理论和算法。
第二,大数据传输的调度和控制的问题。
第三,在传输的过程中继续进行计算。
这样通信量很少。
第三是大数据的存储问题。
过去的数据中心有很多,数据有一个数据中心,当我用的时候在服务器上让数据流到我这里来。
在网上传输TP级数据的话,网络是根本不可能的。
现在我们希望数据中心既能存储数据又能支持大数据计算,算法也在那里。