非结构化数据_非结构化数据库 - CSDN
精华内容
参与话题
  • 关于结构化、半结构化、非结构化数据的理解

    万次阅读 多人点赞 2018-08-06 11:36:03
    记得在课上,老师说,结构化数据就是我们关系数据库里的表,剩下的都是半结构化和非结构化数据,好比XML文档就是半结构化数据,WORD文档就是非结构化数据,大数据就是半结构化和非结构化数据。心中一直有一个疑问?...

    记得在课上,老师说,结构化数据就是我们关系数据库里的表,剩下的都是半结构化和非结构化数据,好比XML文档就是半结构化数据,WORD文档就是非结构化数据,大数据就是半结构化和非结构化数据。心中一直有一个疑问?难道大数据不应该包含结构化数据吗?实在学习数据库这门课时,就对这几个概念有所混淆,所幸今天在书中发现了比较清晰的解释,记录下来,方便以后参考。

    1.结构化数据

    定义:业界指关系模型数据,即以关系数据库表形式管理的数据

    简析:虽然专业角度上看,结构化就是关系模型的说法并不准确,但针对目前业内现状,还是定义为关系模型最为妥善,因为它准确的代表了我们传统上最熟悉的企业业务数据。

    2.半结构化数据

    定义:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等。

    3.非结构化数据

    定义:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。

    简析:区分半结构化与非结构化的意义在于,对两者的处理方法是不同的,非结构化数据大多采用内容管理方法,而半结构化数据基本没有有效的管理方法。

    总结

    (1)结构化、半结构化、非结构化其实是按照数据格式分类

    (2)严格讲,结构化与半结构化数据都是有基本固定结构模式的数据

    (3)半结构与非结构化数据与目前流行的大数据之间只是有领域重叠的关系,本质讲两者并无必然联系。

    (4)业界有将大数据认同为半结构/非结构化数据,是因为大数据技术最初是在半结构化数据领域发挥作用,其本质是将数据处理技术与数据格式混淆,是不正确的。

     

     

    参考文献:

    何小朝. 纵横大数据[M]. 电子工业出版社, 2014.

    展开全文
  • 非结构化数据是什么

    千次阅读 2017-06-23 15:28:47
    非结构化数据主要是指那些无法用固定结构来逻辑表达实现的数据,简单来说就是用户散落在论坛、微博、微信或其他渠道发表的关于产品的各种评价或吐槽。国内的企业级客户在进行大数据分析时,仍以分析结构化数据为主。...

    http://news.xinhuanet.com/local/2016-05/16/c_128984269.htm

    非结构化数据主要是指那些无法用固定结构来逻辑表达实现的数据,简单来说就是用户散落在论坛、微博、微信或其他渠道发表的关于产品的各种评价或吐槽。国内的企业级客户在进行大数据分析时,仍以分析结构化数据为主。

    从形态上,非结构化数据主要包含三大块:第一是文本文字;第二是图像、图片等;第三是视频流、电视流。

    和结构化数据相比,非结构化数据最本质的区别包括三个层面:非结构化数据的容量比结构化数据要大;产生的速度比结构化数据要快;数据来源具有多样性。

    据IDC的调查报告显示,企业中80%的数据都是非结构化数据。

    展开全文
  • 非结构化数据的存储与查询

    万次阅读 2014-05-15 14:18:36
    然而数据如何的存储和查询,尤其是当今非结构化数据的快速增长,对其数据的存储,处理,查询。使得如今的 关系数据库存储带来了巨大的挑战。分布存储技术是云计算的基础,主要研究如何存储、组织和管理数据中心上的大...

     当今信息化时代充斥着大量的数据。海量数据存储是一个必然的趋势。然而数据如何的存储和查询,尤其是当今非结构化数据的快速增长,对其数据的存储,处理,查询。使得如今的 关系数据库存储带来了巨大的挑战。分布存储技术是云计算的基础,主要研究如何存储、组织和管理数据中心上的大规模海量数据.由于面临的数据规模和用户规模更加庞大,在可扩展性、容错性以及成本控制方面面临着更加严峻的挑战[1]。

            对于大量的半结构化数据(semi-structure data)和非结构化数据,对其存储和并发计算以及扩展能力而设计出了NoSQL,像有googleBigtableAmaze Dynamo,以及ApacheHbaseNoSQL支持强大的水平扩展能力和高性能,与关系数据库不同的是,NoSQL可以采用松弛一致性(relax consistant),但是提供最终一致性保证数据的读的不一致。像在Dynamo中为了提供高的写的能力(购物时不会因为并发而不会添加购物车不能成功,而影响用户体验),不得不采取最终一致性。根据CAP原理,一致性、高可用性、分区容忍性(Partition-tolerance)三者中最多择其二,舍其一。在Dynamo牺牲了一致性,但是提供高的可用性[6]。另外Dynamo采用非集中化管理,使得每个节点都是同等地位,充分利用分布式哈希表(DHT的一种实现即一致性哈希,使得Dynamo提供强大的可扩展性。Hbase可以说提供强的一致性,但是牺牲掉了一定的高可用性,比如存在单点故障,在当一个Regionserver出问题或失去联系时,需要master来重新部署原Regionserver下面的是Region到别的空闲的服务器下。这段时间无法与下面的Region联系。HbaseApache的顶级项目Hadoop的一个组成部分,hadoop是一种分布式系统基础架构。它可以充分利用集群的威力高速运算和存储。下面着重介绍Hbase。

    一、非结构化数据存储结构

            HbaseApache的顶级子项目,它的理念来自于GoogleBigtable。它是分布的、面向列的、多维的数据库系统,它提供高的容错性和可扩展性,它是建立HDFSHadoop分布式文件系统)之上。Hbase的表的每一行有行键(row key)和任意多的列(column)组成,其中多个列可以组成列族(column family)。每个数据单元(cell)可以拥有数据的多个版本(version),这个是使用时间戳来区分。所以Hbase是拥有map:(行键,列族:列,时间戳)对应一个值[2][7]

            Hbase是应用在分布式系统之中,他将大量的行分成行区域(Region),将化分后的区域分布到集群中去。HbaseHDFS同样是使用master-slave结构,在Hbaseslave对应是Regionserver,负责管理master分下来的Rregion。同时master还负责负载平衡以及当Region出现错误时,master会收到Regionserver的请求消息,会重新分配到新的空闲的节点(这涉及到HLog)。

    正如上所说,Hbase是面向列的存储,它在实际的物理存储器中是以列族的存储,所以在列族相同的会在存储在一起。在与面向行的关系数据库比较,这会节省了大量为空的属性。Hbase也是一种NoSQL,它不像关系数据库那样提供结构化查询语句来访问其中的数据。NoSQL是一种模式自由(schema-free)的数据库,良好是设计会提升数据结构而不存在表的重写[3]

    Hbase的容错性不得不提到HDFSHDFSHadoop 分布式文件系统,它可以部署在廉价的机器上,提高系统的容错性和高的吞吐量。HDFS分为一个Namenode和多个DatanodeNamenode管理文件系统的名字空间,它维护着文件系统树以及整个树内所有的文件和目录。Datanode存储着数据块,负责删除添加等操作。Hbase的文件被分为固定大小的块(默认的为64M),块服务器是存储块和对指定块的读写操作。在分布式的集群中,机器故障乃是常态,为了安全问题,所以不断的检测机器的状况和数据的备份时必须的。HDFS的副本一般的情况下分为3份,一份是同个节点中,第二份放在不在机架上的另一个节点,最后一份是放在第二份相同机架的不同节点中[4]Master存储着文件系统元数据(metadata),主要分为3种元数据:文件和块的名字空间、文件到块的映射和块副本的位置。块服务器存储着数据,所以master必要和块服务器保持者联系。Master定期发送心跳(heartbeat)与块服务器了解块服务器的状况。客户读写数据是都首先和master先取得联系然后再与块服务器完成读写操作。

    在一致性上,HDFS 是一个松散的一致性检查的模型。他主要是为了追加(append)操作而不是覆盖重写(overwrite)操作。因为覆盖重写的话可能在一次读的操作会读到与其他副本不一致的数据,而在追加操作,其中一个副本的不一致也不会导致客户端读到不一致的数据。同时HDFS在追加操作时采用租用(Lease)机制,即将块的写操作授权给主块服务器(primary chunk server),另外的副本称为次块服务器(secondary chunk server)。当多个客户端的并发写操作时,主块服务器缓存其写的顺序,之后联系次服务器进行追加操作。从这里可以看出,在HDFS的基础之上提供版本一致性。而不同Dynamo采用矢量时钟即(节点,计数器)(node,counter)列表来钟捕捉同一不同版本的对象是否有因果关系。当客户端更新一个对象,它必须指定它正要更新哪个版本,当存在因果关系,直接覆盖之前的版本。若是两个独立的版本,更新其矢量时钟,使得存在多个版本。同事Dynamo采用了NRW机制(N: 复制的节点数量,R: 成功读操作的最小节点数,W: 成功写操作的最小节点数),当R+W>N时可以说明至少有一个版本是最新的版本,这样在数据的读操作就可以保证数据的一致性。[6]当然在这里也体现出了Dynamo的高可用行,比如设置W=1,即表明只要正确读入一个节点即可,不须保证写入的值全部传给副本。

    二、非结构化数据的读写操作

    对Hbase中数据的读写首先是根据行键值或行键值域(row key range)来检索,行键值是按照字典序排列的,针对同时访问的数据设计好相似的行键值会相应地减少I/O操作。上面提过,由于行区域到达一定大小时会分解并分布到集群中去,在Hbase中使用B+树来存储某个区域的位置信息。在树顶是root表,其保存META表的Region信息,并且root表只有一个,META表中存储着各个被划分的区域的信息,所以通过行健访问时首先访问root再一次访问META表。由此客户端访问数据需要经过多次的网络交互,所以客户端可以使用缓存来缓解。客户端是采用RPC机制与服务器端即masterRegionServer进行通信。另外Hbase还采用缓冲池来保持每次的连接,保证通信不必产生重新连接的时间开销。

    客户端要求更新数据的时候,为了容错性,数据首先是HLog中,当HLog写成功是,之后数据是写入到menstore,当数据达到一定的大小时,数据会将内存刷新(flush)到本地磁盘中,形成存储文件(storefile),此时文件只是可读的。当存储文件的大小到达一定的大小,会进行合并(compact),这个合并将行键值相同的合并到一起形成一个比较大的存储文件,其过程是对版本的合并与删除的过程,所以从这个角度来看,Hbase是一个追加的过程。当然存储文件的大小到达一定的阀值时,会分裂(split)成两个存储文件[2]。存储文件在组织成HFile以块的形式存在底层的HDFS上。

    在[5]中介绍Hbase作为HDFS上层的来评估在大规模数据中随机读和随机写的性能,文中是利用MySQL作为HDFS上层来存储与此作对比。结果显示在多用户多并发读和写时Hbase--HDFS组合负载表现更加的理想。

    三、数据的搜索与查找方法探索

         如今数据的以PB级别的,海量数据不断增长,怎样快速的存储以及搜索和查找指定的文件所需的时间问题。在关系数据库中,利用索引减少I/O次数来减少读指定的数据的时间,在Hbase中同样可以使用索引。

        Hbase一般设置行键作为主键来查找数据,而行键是按照字典序排的,同时Hbase支持利用前缀来,所以合理利用行键会提高查找效率的。在[2]中提到二级索引(secondary index)解决不只是利用行键最为自己的主键,比如购物网站用户Hbase表的行键是用户ID,但是网站为了统计某个时间段的交易记录,在原来表的表上进行扫描可能会扫描整个表。为此我们可以设计另一张表,而这张表的主见是时间+用户,在Hbase进行按前缀扫描时,所需要的数据可能是放在同一块中,减少了I/O次数。

        在[9]中是利用Hbase来存储来处理资源描述框架(RDF)的WEB数据,针对PDF的三元(triple)结构(S,P,O),其中该文章中S代表行键,P代表列,O代表单元(cell)的值。数据检索默认是按照行键值进行的,文章中建立了6个索引表( PSO, POS, SPO, SOP, OPS and OSP),这包含了所有行键与列的组合。当然这样做,会产生了数据的冗余,因为多建了5个索引。但是多出的索引满足多种查找。这也是二级索引的应用。

        在[11]中利用Hadoop架构对半结构化数据和非结构化数据的存储、索引构建、数据查询的整体设计。

              

    整体分为两个过程,第一步原始需要存储的数据经过Uploader形成Hbase面向列结构的表,下一步通过indexer形成对数据整理后的索引。第一步与第二步中中涉及到MapReduce操作,MapReducegoogle提出的一种编程模型,是来处理大规模数据集的并行运算模型,它分为两个部分:map操作和reduce操作。Map操作将数据进行处理形成一个中间数据,且数据是(key,value)形式,reduce操作将map操作的结果作为输入数[8],即:

                        map (k1,v1) ——————> list(k2,v2)

                        reduce (k2,list(v2)) ————>list(v2)

    其中在第一步中的MapReduce操作根据索引规则(index rule)进行操作(索引规则是利用半结构化数据或结构化数据的某种边界特征来分解原数据集)。客户端API可以通过index table进行对特定值或某个范围值进行检索。再从内容表(content table)中寻找指定的值。

       在Hbase中为客户端提供一系列的API来访问数据,get(byte[] row)来获取指定的行对应的数据,然后实际上是客户端在指定的Region中收集到的行后在客户端来进一步执行。另外利用mapreduce虽然提供了强大的计算能力,但是它并不是在线业务的很好的方案。在[10]中提到一种协处理(Coprocessor)框架,它允许HBase 管理员在Region server中载入定制的代码,使的可以实现一些集合函数像行计数器、求最大值、最小值等。Coprocessor的机制可以理解为,Regionserver端添加了一些回调函数。客户端可以在多个节点调用并且可以并行执行。这样使得客户端不像以前那样请求到的数据在客户端进一步执行,而是请求在各个Region中并发执行后的结果直接返回给客户端,大大提高了效率。

    展开全文
  • (1)结构化数据,简单来说就是数据库。...(2)结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号...

    (1)结构化数据,简单来说就是数据库。结合到典型场景中更容易理解,比如企业ERP、财务系统;医疗HIS数据库;教育一卡通;政府行政审批;其他核心数据库等。这些应用需要哪些存储方案呢?基本包括高速存储应用需求、数据备份需求、数据共享需求以及数据容灾需求。

    (2)非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)。

    (3)数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。

    数据清洗原理

    数据清洗(data cleaning),简单地讲,就是从数据源中清除错误和不一致,即利用有关技术如数理统计、数据挖掘或预定义的清洗规则等,从数据中检测和消除错误数据、不完整数据和重复数据等,从而提高数据的质量。业务知识与清洗规则的制定在相当程度上取决于审计人员的积累与综合判断能力。因此,审计人员应按以下标准评价审计数据的质量。

    (一)准确性:数据值与假定正确的值的一致程度。

    (二)完整性:需要值的属性中无值缺失的程度。

    (三)一致性:数据对一组约束的满足程度。

    (四)惟一性:数据记录(及码值)的惟一性。

    (五)效性:维护的数据足够严格以满足分类准则的接受要求。

    展开全文
  • 在信息社会,信息可以...结构化数据属于非结构化数据,是非结构化数据的特例。 定义:  结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。 非结构化数据:包括所有格式的办公文档...
  • 结构化数据非结构化数据解析

    千次阅读 2017-11-11 12:32:26
    我们生活中的数据总体分为两种:结构化数据非结构化数据结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件
  • 结构化数据非结构化数据是大数据的两种类型,这两者之间并不存在真正的冲突。客户如何选择不是基于数据结构,而是基于使用它们的应用程序:关系数据库用于结构化数据,大多数其他类型的应用程序用于非结构化数据。...
  • 结构化数据非结构化数据、半结构化数据的区别

    万次阅读 多人点赞 2019-06-15 22:27:41
    计算机信息化系统中的数据分为结构化数据非结构化数据、半结构化数据结构化数据 结构化数据,是指由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理...
  • 结构化数据、半结构化数据非结构化数据

    万次阅读 多人点赞 2020-08-20 19:04:49
    结构化数据、半结构化数据非结构化数据结构化数据结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。...
  • 结构化数据非结构化数据的区别

    万次阅读 2017-05-04 22:05:13
    结构化数据非结构化数据的区别(转载)  在信息社会,信息可以划分为两大类。一类信息能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号;而另一类信息无法用数字或统一的结构表示,如...
  • 结构化、半结构化和非结构化数据

    万次阅读 2015-07-15 17:06:55
    我们会遇到各式各样的数据库如nosql关系数据库(memcached,redis,mangodb),RDBMS关系数据库(oracle,mysql等),还有一些其它的数据库如hbase,在这些数据库中,又会出现结构化数据非结构化数据,半结构化...
  • 结构化、结构化和半结构化数据

    万次阅读 2018-02-25 22:23:44
    一直对结构化、结构化和半结构化数据三个数据类型的概念有点模糊不清,今天特意花点时间网上查找了一番,继而,来此处进行一通总结。 ** 结构化数据 ** 结构化数据可以使用关系型数据库来表示和存储,如...
  • 非结构化数据分析技术是忽悠

    万次阅读 2018-04-11 20:28:17
    大数据概念兴起的同时也带热了非结构化数据分析。传说一个企业中80%的数据都是非结构化数据,如果按占据空间来算,这个比例大体不假,毕竟音视频这类数据真地很大。有这么大的数据量,需要进行分析是很自然的事了,...
  • 大的数据体量:社交媒体、...针对诸如视频、音频、文件等非结构化数据,又是如何存储呢? 一般视频、大文件都不会直接存储在数据库中,因为会严重影响性能。视频文件存放在数据库,应该使用大字段、IO流的知识。
  • 在信息社会,信息可以...结构化数据属于非结构化数据,是非结构化数据的特例。  随着网络技术的发展,特别是Internet和Intranet技术的飞快发展,使得非结构化数据的数量日趋增大。这时,主要用于管理结构化数据
  • 相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像...
  • 结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)  概念 结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。 半结构化数据:...
  • 结构化数据非结构化数据

    千次阅读 2012-07-27 19:02:01
    结构化数据非结构化数据 结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。   非结构化数据:不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、...
1 2 3 4 5 ... 20
收藏数 2,024,589
精华内容 809,835
关键字:

非结构化数据