大数据概述

大数据概述

大数据

大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
在数据库里每个聚集有一个唯一的名字,可以包含无限个文档。聚集是RDBMS中表的同义词,区别是聚集不需要进行模式定义。
面向文档存储
高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。
复制及自动故障转移
Auto-Sharding自动分片支持云级扩展性
动态查询
全索引支持
多语言支持。
易存储复杂的文件类型;
模式自由
功能:
查询:基于查询对象或者类SQL语句搜索文档。查询结果可以排序,进行返回大小限制,可以跳过部分结果集,也可以返回文档的一部分。
插入和更新:插入新文档,更新已有文档。
索引管理:对文档的一个或者多个键(包括子结构)创建索引,删除索引等等。
常用命令:所有MongoDB 操作都可以通过socket传输的DB命令来执行。

所谓“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。Nytro MegaRAID技术中的闪存高速缓存算法,能够快速识别数据库内大数据集中的热数据,提供一致的性能改进。
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized Document Format)。

MongoDB
MongoDB适用于:
适合实时的插入,更新与查询
适合由数十或数百台服务器组成的数据库
网站数据
适合作为信息基础设施的缓存层
大尺寸,低价值的数据
用于对象及JSON数据的存储
不适用于:1)高度事务性的系统;2)传统的商业智能应用;3)极为复杂的SQL查询;4)高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序;5)传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。

BSP
BSP(Bulk Synchronous Parallel)模型,由哈佛大学Viliant和牛津大学Bill McColl提出,希望像冯·诺伊曼体系结构那样,架起计算机程序语言和体系结构间的桥梁,故又称作桥模型(Bridge Model)。本质上,BSP模型是分布存储的MIMD计算模型,被认为是最有前途的并行计算模型。
一个BSP计算机由n个处理机/存储器组成,通过通信网络进行互联,。一台BSP并行计算机包含三个部分组成:
并行计算模块
通信模块
路障同步模块
Logp
LogP模型是一种分布存储的、点到点通信的多处理机模型,其中通信网络由4个主要参数来描述:
L(Latency) 表示源处理机与目的处理机进行消息(一个或几个字)通信所需要的等待或延迟时间的上限,表示网络中消息的延迟。
o(overhead)表示处理机准备发送或接收每个消息的时间开销(包括操作系统核心开销和网络软件开销),在这段时间里处理不能执行其它操作。
g(gap)表示一台处理机连续两次发送或接收消息时的最小时间间隔,其倒数即微处理机的通信带宽
P(Processor)处理机/存储器模块个数。
LogP模型假定一个周期完成一次局部操作,并定义为一个时间单位,那么,L,o和g都可以表示成处理器周期的整数倍。
LogP模型的主要特点有:
  1)抓住了网络与处理机之间的性能瓶颈。
  2)处理机之间异步工作,并通过处理机间的消息传送来完成同步
  3)对多线程技术有一定反映
  4)消息延迟不确定,但延迟不大于L
  5)LogP模型鼓励编程人员采用一些好的策略
  6)可以预估算法的实际运行时间。
LogP模型的不足之处有:
  1)对网络中的通信模式描述的不够深入。
  2)简单地认为远地读操作相当于两次消息传递,未考虑流水线预取技术、Cache引起的数据不一致性以及Cache命中率对计算的影响。
  3)未考虑多线程技术的上下文开销。
  4)LogP模型假设用点对点消息路由器进行通信,这增加了编程者考虑路由器上相关通信操作的负担。
  
MapReduce
软件实现。
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

Spark
Spark 是一种与 Hadoop 相似的而又强于Hadoop的开源集群计算环境,由加州大学伯克利分校 AMP 实验室开发。Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值