数据库结构 需要事先定义,是固定的 不需要事先定义,并可以灵活改变
数据一致性 通过ACID特性保持严密的一致性 存在临时的不保持严密一致性的状态
服务器 以在一台服务器上工作为前提 以分布、协作式工作为前提
查询语言 SQL 支持多种非SQL语言
数据量 (和NoSQL相比相对)较小规模数据 (和RDBMS相比相对)较大规模数据
(3)基础架构: 云存储、分布式文件存储等.
Hadoop是开源形式的一种对大规模数据进行分布式处理的技术,已经在很多大型网站上得到了应用,如百度、阿里巴巴、亚马逊、Facebook等.Hadoop最核心的设计就是:HDFS(分布式文件系统)和MapReduce(大集群上的简单数据处理).HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算.
Spark是一种与 Hadoop 相似的开源集群计算环境,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法.随着技术的发展,Apache Spark与Hadoop相比,在某些工作负载方面表现得更好,Spark致力于高效率的数据分析.Spark相对Hadoop编程模型简单,能进行迭代操作,利用内存缓存数据,能进行流水线优化.
(4)数据处理: 自然语言处理(NLP,Natural Language Processing)是研究人与计算机交互的语言问题的一门学科.处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解也称为计算语言学.
(5)统计分析: 假设检验、显著性检验、差异分析、相关分析、T检验、 方差分析 、 卡方分析、偏相关分析、距离分析、回归分析、简单回归分析、多元回归分析、逐步回归、回归预测与残差分析、岭回归、logistic回归分析、曲线估计、 因子分析、聚类分析、主成分分析、因子分析、快速聚类法与聚类法、判别分析、对应分析、多元对应分析、bootstrap技术等.
(6)数据挖掘: 分类 (Classification)、估计(Estimation)、预测(Prediction)、相关性分组或关联规则(Affinity grouping or association rules)、聚类(Clustering)、描述和可视化、Description and Visualization)、复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等).
(7)模型预测 :预测模型、机器学习、建模仿真.
(8)结果呈现: 云计算、标签云、关系图等.
3。3 大数据的处理
(1)采集
大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作.在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户 来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑.并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计.
(2)导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作.