所在位置:主页 > 数据处理 > 什么是结构化数据和非结构化数据?什么是数据清洗?

什么是结构化数据和非结构化数据?什么是数据清洗?

发布时间:2023-11-11 03:24来源:www.sf1369.com作者:宇宇

一、什么是结构化数据和非结构化数据?什么是数据清洗?

结构化数据,简单来说就是数据库。

相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据。

因为数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来而且包含历史数据,这样就避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。

结构化数据即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。

非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。

所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。

二、数据库中用户对‘脏数据’的读出是什么规则收到了破坏

就是事务完整性受到了破坏

一般现在主流的数据库比如oracle,db2都会通过锁机制来减少脏数据的产生

就是不同session之间由于某个seesion对表进行操作而影响其他session的查询结果

三、oracle中脏数据块是怎么会事儿?

脏数据是相对于原数据而言的,是指被修改过的,与原数据不一样的数据。

在oracle有SGA中,有个数据高速缓冲区(database buffer cache),由许多大小相等的缓存块组成。这些块根据使用情况不同,可分为脏缓冲块、空闲缓存块和命中缓存块三类:

1. 脏缓存块(dirty buffers):它保存的是已经被修改过的数据。当一条SQL语句对某个缓存块中的数据进行修改后,这个缓存块就被标记为脏缓存块。

2. 空闲缓存块(free buffers):不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。当oracle从数据文件中读取数据时,将会寻找空闲缓存块,以便将数据写入其中。

3. 命中缓存块(pinned buffers):是那些正被使用,或者被显式地声明为保留的缓存块。这些缓存块始终保留在数据高速缓冲区中,不会被换出。

四、考虑缓存如何刷新,脏数据该怎么办 高并发环境里

先定义成结构,把表里的字段存进结构,然后把结构定义成vector,把结构存入vector,也就是缓存了,要的时候取就是了

五、使用缓存如何解决读脏数据问题

脏读只是在查询时,有人在更改数据,这样数据就不统一,一般不影响功能

六、Hibernate的脏数据和脏对象是什么?(请详细阐述)

脏数据并非废弃或者无用的数据,而是指一个数据对象所携带的信息发生了改变之后的状态,脏对象是属性被修改了的对象。

copy一下楼上的!差不多就这个意思,导致脏数据呢其实就是 当一个数据正在被修改的时候,而另一个地方又来调用该数据,这个时候拿到的数据就是错误的,也就是脏数据,脏对象也是差不多同样的意思!