近年来,统计数据库的研究得到很大的发展,这是由于常规的商用数据库系统不能有效地支持统计与科学数据的存储及应用,而常规数据库所支持的基于事务处理的并发运算又不是统计与科学数据所必须支持的。因此开发新型的统计数据库是完全必要的。由于统计数据与科学数据在数据性质与所需的运算上都有十分相似的地方,所以可以将它们合并在一起用一个数据库管理系统来支持。统计数据库主用于统计与科学试验数据的存储以及进行统计分析和归纳。它与常规数据库有许多不同之处。
1.统计与科学数据的特点
(1)数据可分成分类属性集合与汇总属性集合。分类属性集合是包括汇总属性集合在内的整个记录的组合键。如在人口统计数据中,统计的年代、省、地、县、乡、职业、民族、性别等属于分类属性集合,而相应的人口值则属于汇总属性。由于在统计数据中只需将分类属性集中于一个属性的值进行变化,如性别的变化就可以更改成一个新的记录,所以采用常规的记录形式进行存储就会造成很大的重复。
(2)统计数据中的分类属性与科学试验数据中测量参数属性很相似。而它的汇总属性又与科学数据中的测量值属性又很相似,因此,科学数据也可借用分类属性及汇总属性。加之科学数据的整理也需要借助于整套统计算法,为此,我们将这2种数据用同一种数据库管理系统来支持。
(3)数据量一般很大。以人口统计数据而言,显然其数量是很大的,对科学数据来说,某些科学试验装置每天所产生的数据量可达数千兆字节。
(4)汇总属性中常常有大量相同的值(通常为零),只要将分类属性进行适当的排列,就可以将汇总属性中零值或相同的值聚合在一起,这就有利于对这些稀疏数据利用标头压缩技术进行压缩。
(5)统计运算往往只涉及一个或少数几个属性上的数据。如有常规数据库所采用以记录为单位对数据进行存储。这样每次存取就要存取整个记录,而实际使用只是其中一小部分,这是不合适的。所以应当在存储格式上采用了与常规记录格式完全不同的、以同一属性的值存放在一起的转置文件格式。
(6)所支持的运算与常规数据库也不一样。它除了一般的检索外还需要支持大量的统计运算和其他特有的操纵。
(7)统计数据库所保存的数据一般都反应已发生事件的记录。它们都是很稳定的,一般都不需要随时进行更新。在个别情况下即使要进行更改其频率也是很低的,而且更改前后的数据一般都需要记载下来。在常规数据库中,由于数据频频更新的要求,花费在并发控制上,进行事务处理的开销是很大的,而这种开销在统计数据库中是完全可以省去的。这就能使统计与科学数据在这方面的功能大为简化。
(8)具有元数据组织。描述有关数据集合的轮廓的数据称为元数据,无数据包含数据集合的生成者,生成的时间、生成的理由等信息,由于统计数据库数据量大,数据复杂,用户很容易把这方面的信息遗忘而影响使用,因此元数据的组织是很重要的。
(9)用户可抽取较小的数据集合以构成汇总集合。汇总集合通常可以采用类似选择操作的运算以选出有用的记录,可用类似投影操作的运算以选出有用的属性。
2.数据模型
为了适应统计与科学数据的特点,应当采用与常规数据库不同的数据模型。这种数据模型的要点是对于其分类属性采用由叉乘节点(简称X节点)及集结节点(简称C节点)所构成多维表格形式,也可以树的形式来表示。叉乘节点用于表示分类属性中多维的本质,如只用行与列则可表示属性的二维特点。鉴于一般都使用二维的表格,所以我们可以在根节点下人为地加上二个叉乘节点,以构成只有行和列的二维表格结构。集结节点(简称C节点)用于表示它们之间的族集特点。如行政区中的省市则有北京市、河北省等等。这样在下面所给出的简单人口统计表中的分类属性就可以用相应的由叉乘节点和集结节点构成的多维表格式或树形结构来表示。汇总属性数据则按照其相应的分类值进行定位,并根据不同的分类属性分别存储而构成转置文件。
由于在实际应用中人们遇到的统计与科学数据往往比较复杂,它们既十分接近上述数据模型但又不能有效地用上述模型来支持。在进行了较广泛的调查研究以后,我们提出了一种新的混合模型,可以支持这类数据。
统计数据库除了应具有与常规数据所类似的数据操纵,还应当有它自己所特有的数据操纵。如分类属性的位置变更、重新划分以及聚集运算等。由于机构变更等原因,会使分类属重新划分,而使其相应汇总属性值的归属重新安排。如海南建省,则与海南有关的数据应从广东省中分离出来,重新排列。
聚集运算的特点是:如在集结点下面给定其中某个节点则系统将针对该节点进行聚集,而在叉乘节点下未给定的节点,则应对其下面的所有节点进行聚集。
统计数据库的统计算法应当是相当完善的。一般应有矩阵算法、基于统计量计算、回归分析、统计参数估计、分布参数检验、非参数检验、数据平滑与滤波、经验分布曲线的选配、统计用表、相关分析等。统计与科学数据的二维输出格式是很复杂的。这种基本的表格输出格式也应由数据库管理系统提供。
3.数据压缩
数据压缩的优点有:能减少存储空间、增加数据传输率、加强保密性、减少后备副本和恢复费用等;其缺点是:需要支付压缩及还原的开销,破坏了数据的固有特性,降低可靠性,需要存储有关压缩的技术的数据,有时会使数据长度不能预定。压缩的方法有多种,如顺序保持法、霍夫曼法、标头压缩法等。由于统计数据库中往往有大量的相同的数据(如零值)相邻地集结在一起,对于这种数据采用标头压缩技术最为合适。标头压缩技术的基本思想是采用标头来标明所存数据串的类别,即标明是集结在一起的数据还是随机数据,是压缩前的数据顺序数,还是压缩后数据串末尾所处的字节数。这样压缩后对相邻地集结在一起的许多相同的数据可只存放一个数据。从而达到压缩的目的。标头压缩技术也可分为用于多相邻接数据和变长度数据的双计数压缩方案,以及单邻接数据和定长度数据的单计数压缩方案等。
4.安全措施
统计数据库又一个特点是它既要为各类用户方便提供有关群体的各种统计数据,又不能因此而泄露个体的数据,包括防止用户采用推导的办法而获得个体的信息,从而达到保密的目的。例如全国的或某省市的某种产品的产量是不保密的,但涉及某个具体工厂的这种产量是不应泄露的。在统计数据库中虽然不允许一般用户直接访问个体的机密信息,但在每个统计结果中都会有残留着原始个体数据的痕迹,如不采取适当的措施,用户就可以利用合法的统计数据推导而获得个体信息。为了防止泄露一般可采用下列安全措施。
(1)限制查询集合的大小。如果统计查询集合的大小低于或高于预定的阈值,则该查询将被拒绝。虽然限制查询集合的大小可以直接防止个体信息的泄露,但用户可以采用多次查询而推导出个体机密信息。
(2)限制查询集合交的大小。采用这种方法时,系统应当保存建库以来所有进行过的统计查询的痕迹,在每进行一次新查询时都要检查该新查询与进行的查询的交集的大小是否低于阈值,以决定是否执行或拒绝这个查询。
这种方法虽可确保个体信息不被泄露,但由于每个查询是否可执行都要追溯到自从数据库建立以来有关的情况,所以,系统要增加附加的存储信息。一般说来它只适用于规模较小的和用户较少的数据库。
(3)随机取样查询。采用这种方法,每次查询时,查询集体是随机地在数据库抽样而取得。这样即使通过多次查询也不可能正确地推导出个体信息,从而防止个体信息的泄露。这种技术适用于大型数据库。
(4)对数据值进行微扰。为了防止泄露个体信息,对统计查询的结果可用微小的数值进行打扰。这样就不会通过多次查询推导出正确的个体信息。所采用的办法可在查询时对输出的数据进行打扰,或者对存储在数据库中的数据进行打扰。它的问题是微扰的值应当取得很适当,不会因打扰所引入的误差太大而影响使用,又不能太小以至能推导出较正确的个体信息。
(5)对数据库进行划分。在许多应用中,可以预先规定若干个个体群,而只在这些群体上进行统计以满足查询的需要。由于个体群是预先规定的,所以就不能随意地进行查询而推导出所需个体机密信息。
这种方法的问题是:有时会因所定义的群体太小(只包含数量较少的个体)而为推导出个体信息提供方便。
统计数据库的安全措施的种类很多,除上述以外还可采用结合具体的数据模型、数据结构的各种安全措施。为了确保安全性,可根据具体使用环境以及所采用的数据模型等选用适当的安全措施。
在科学数据库中访问个体数据一般是允许的。因此,对于这类数据库一般不需要采用的特殊的安全措施。
5.结束语
从上面所介绍的情况可见,统计数据库都与常规数据库有很大的不同。因此开发和使用统计数据库管理系统是完全不同的。在实际应用环境中,应用所介绍的含有叉乘节点及集结节所构成的模型,有时不能很好存放过于稀疏的数据。为此,在系统中增加了一个混合模型,就拓宽了应用范围。
统计数据库管理系统可用来支持气象、水文、地质、地震等数据库,以及各企事业单位有关统计数据的数据库,人口统计数据库,各种大型实验装置的科学数据库。
[摘自:《中华万有文库》]