配置管理数据库元数据文件

在前两年的工作中主要参与了配置管理数据库(CMDB)系统的设计与开发,在设计与开发过程中遇到了不少数据相关的问题,正好借此机会说明一下。

配置管理项以及实体的问题。配置管理系统中不同的配置项拥有不同的配置属性,不同的配置实体可以从属于某一个属性。如果一概而论那么所有的配置项将会构成一个大而全的表,该表在开发过程中会带来很大的冗余。所以必须在表设计阶段进行分化,分化方式经历了三个阶段,分别是表继承、属性图谱、配置分配三个阶段。

表继承表示在使用过程中,不同类型的配置项之间可能沿用之前父类中继承的属性,从而使子配置项可以包含父配置项的内容与信息,另外,表之间通过一个共同主键进行维护,后来发现该配置属性在进行数据处理的时候在表扩展方面拥有不少的弊端,任何一次属性的修改都可能会导致表结构发生变化。

在此基础上,我们设计除了之前固定属性外的一个扩展属性,该属性可以动态加入某配置项中,再进行深入考虑时,就衍化成了配置属性图谱的结构,属性图谱构建了一个统一的属性集合,并且在属性集合上进行划分,从而规定属性属于一个或多个类,从而形成了属性与配置类型之间的关联关系。然而该方法依然存在例如配置复杂,以及约束关系不强,属性无法检验等问题。

由此,我们在此基础上构建了配置分配结构。配置分配结构在技术上与属性图谱基本相同,最大的区别是引入了配置类别,配置模板,配置规则与配置约束四个部分。配置类别用于标识配置项类型之间的继承或扩展关系,从而有效的保证了不同类型之间的属性传递。配置模板,通过配置项上设计模版类型,其他类型引用模板属性从而一定程度上解决同一类型不同配置项之间属性的冗余存储的问题,配置规则用于构建配置类别与配置属性之间的对应关系,从而可以选择那些配置类别拥有那些配置属性。配置约束主要用于配置属性的检验工作,从而确定类型是否合法,是否满足某种逻辑约束,例如电流值必须大于零等约束条件。

时间: 2024-11-05 03:37:50

配置管理数据库元数据文件的相关文章

Sql Server来龙去脉系列之四 数据库和文件

在讨论数据库之前我们先要明白一个问题:什么是数据库? 数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多的数据库.一个数据库实例最多能创建32767个数据库,但是按照实际情况,一般设计是不会达到这个限制值. 为了更明显地说明数据库,数据库包含了以下属性和功能: *. 它是很多对象的集合,比如表.视图.存储过程.约束.对象集合的最大值是2(31) - 1(超过2百亿).一般对象的数量在几百至一万. *. 它维持拥有的用

正在编译转换: 未能找到元数据文件 EntityFramework.dll

错误 1 正在编译转换: 未能找到元数据文件“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\IDE\EntityFramework.dll” 错误 2 正在编译转换: 未能找到元数据文件“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\IDE\Microsoft.Data.Entity.Design.dll” 就是这

SQLite数据库(文件)

SQLite SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine. https://www.sqlite.org/index.html License: Public Domain, Open-Source, not Open-Contribution 管理工具 特殊语法 密码/加密 SQLite有密码功能,并且设置密码之后,数据库文件就

一次修改数据库物理文件造成Mysql宕机的恢复记录

事件起始 某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下: Oh My Gold 改了些配置,啥都没了!都没了!没了!了! 我仔细询问,原来是她因为某些原因将某库的物理文件夹改名后,发现数据库找不到了.于是又将名称改回来.结果仍然找不到.这让她觉得数据可能被损坏了,于是赶忙来找我修复. 修复过程 我们数据库用的版本是 MySQL5.7 ,放置在Linux服务器上,在my.cnf 配置了数据库物理文件的存放地址.存放于 data 文件夹下. 表的存储引擎全部使用 InnoDB,dat

Oracle 数据库 数据文件 表 表空间 用户的关系

这涉及到数据库的物理结构和逻辑结构. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每一个Oracle数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引等)的数据物理地存储在数据库的数据文件中.数据文件通常为*.dbf格式,例如:userCIMS.dbf.数据文件有下列特征:

oracle 数据库dmp文件导入导出

一.数据库dmp文件导出 在pl/sql中tool下选择export tales,选中所有表格 ,并选择导出路径export即可. 二.数据库dmp文件导入 创建用户表空间: 创建用户:grant dba to aml; 执行导入脚本:(前提:windows服务器已经创建了连接到数据库的tns) Imp 用户名/密码@tns用户 file=***.dmp(dmp文件路径) full=y:

mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法

mssql server 2005还原数据库bak文件,网站使用虚拟主机建站会经常遇到,一般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了.这种情况mssql server 2008也同样会出现,有时候会出现“备份集中的数据库备份与现有的xx数据库不同”的错误提示,本文也一并把解决方法说道说道. 第一部分,mssql server 2005(2008)还原数据库bak文件. 一.连接上数据库,右键数据库,选择新建数据库,输入你要还原数据库的名称. 二.确定后右

SQL Server 2008 R2 下如何清理数据库日志文件

USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd