发布时间:2023-11-11 03:24来源:www.sf1369.com作者:宇宇
结构化数据,简单来说就是数据库。
相对于结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据。
因为数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来而且包含历史数据,这样就避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。
结构化数据即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。
非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。
所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。
就是事务完整性受到了破坏
一般现在主流的数据库比如oracle,db2都会通过锁机制来减少脏数据的产生
就是不同session之间由于某个seesion对表进行操作而影响其他session的查询结果
脏数据是相对于原数据而言的,是指被修改过的,与原数据不一样的数据。
在oracle有SGA中,有个数据高速缓冲区(database buffer cache),由许多大小相等的缓存块组成。这些块根据使用情况不同,可分为脏缓冲块、空闲缓存块和命中缓存块三类:
1. 脏缓存块(dirty buffers):它保存的是已经被修改过的数据。当一条SQL语句对某个缓存块中的数据进行修改后,这个缓存块就被标记为脏缓存块。
2. 空闲缓存块(free buffers):不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。当oracle从数据文件中读取数据时,将会寻找空闲缓存块,以便将数据写入其中。
3. 命中缓存块(pinned buffers):是那些正被使用,或者被显式地声明为保留的缓存块。这些缓存块始终保留在数据高速缓冲区中,不会被换出。
先定义成结构,把表里的字段存进结构,然后把结构定义成vector,把结构存入vector,也就是缓存了,要的时候取就是了
脏读只是在查询时,有人在更改数据,这样数据就不统一,一般不影响功能
脏数据并非废弃或者无用的数据,而是指一个数据对象所携带的信息发生了改变之后的状态,脏对象是属性被修改了的对象。
copy一下楼上的!差不多就这个意思,导致脏数据呢其实就是 当一个数据正在被修改的时候,而另一个地方又来调用该数据,这个时候拿到的数据就是错误的,也就是脏数据,脏对象也是差不多同样的意思!