最近在做CMDB的数据库设计方案,有4种方案,各有利弊,我选方案3,大家可以讨论下,或者有什么更好的方案,请指教!
术语
|
英文全称
|
说明
|
配置管理数据库(CMDB)
|
Configuration Management Database
|
它是一种包含每一个配置项全部关联细节以及配置项之间重要关联细节的数据库
|
配置项(CI)
|
Configuration Item
|
配置项信息覆盖了企业网络中的应用、操作系统、补丁、硬件设备、生命周期成本以及用户链接
|
配置项分类
|
Configuration item category
|
配置项所属分类,如数据库,主机
|
|
|
|
设计难点:每个配置项分类的属性会不一样。如数据库有管理员名称和管理员密码属性,显示器有分辨率和尺寸属性。 数据库是配置项分类,分辨率是配置项属性。
1:方案一:动态字段数据库设计
方案说明:
|
CMDB由三个实体组成,即配置项,配置项分类,配置项属性定义。
每增加一个配置项属性,会动态的在配置项表里增加一个扩展字段,扩展字段以EP作为前缀。
没删除一个配置项属性,会动态的在配置项表里删除这个扩展字段。
所有扩展字段必须可空。
|
方案优点:
|
灵活,且方便查询。
|
方案缺点:
|
1:需要建立表分区:当配置项达到上千万的数据的时候,为了提高性能,必须在配置项表的配置类型字段上建立表分区,而不是所有的数据库都支持表分区。但当数据量在百万左右的时候,可以通过建立索引来挺高查询性能。
2:配置项表扩展字段太多:因为每增加一个配置项属性,就会在配置项表增加一个可空字段,所以配置项表的字段会非常多,预计最多在1000左右。所有的数据库对单列的长度都有限制,如MySql单列字段长度为65535。
|
2:方案二:动态表数据库设计
方案说明:
|
CMDB由三个实体组成,即配置项,配置项分类,配置项属性定义。表结构类似方案1。
为每一个配置项分类(叶子分类)建立一张表。如为数据库,路由器,防火墙单独建立一张表
|
方案优点:
|
性能高:数据按照配置项分类存在不同的表里插入和查询效率高。
|
方案缺点:
|
1. 需要创建的表非常多。如果管理粒度非常细,需要创建几百张表。如到windows操作系统,锐捷路由器这一层。当配置项的数据达到千万级的时候,有的配置项表也会达到百万级。
2. 需要动态创建表,随着管理粒度的细化,需要动态创建表。如项目一期的分类为三层,即硬件-设备-路由器,然后到项目三期的时候分类变为四层,即硬件-设备-路由器-Ruijie路由器(cisico,juniper,huawei)
|
3:方案三:固定冗余字段数据库设计
方案说明:
|
CMDB由三个实体组成,即配置项,配置项分类,配置项属性定义。
在配置项表里增加200个固定的冗余字段,并在”配置项类型和属性关系表”里增加一个字段,建立属性和扩展字段之间的关系,据实际情况表明一个配置项分类的扩展属性不会大于200。
冗余字段里以FS作为前缀的字段表示字符串型,FN表示数字型,FD表示日期型。
冗余字段的分配比率为FS>FN>FD 5:4:1。
相对于全部使用字符串存储的优势在于整个表的体积会缩小。缺点在于分配时比较麻烦,有可能出现某个类型不够的情况,如date类型不够用就得用String字段。
冗余字段的长度:原则为定义为各个数据库能够容纳的最大值,将FS定义为varchar2000 ( 各数据库最大长度为 SQLserver的varchar 8000,mysql的 varchar 65535,Oracle的varchar最大2000,varchar2最大是4000)。
在存储上不会受影响,因为varchar是可变长存储的。查询和插入上的效率取决于存储数据的大小。
各控件的数据存储:
文本框是数字型的存在FI里。
文本框(input),复选框(checkbox),单选框(radio),下拉框(select),文本域(textarea)全部存储在FS里。如果出现数据字典的键值对,直接存值,如1=上海,2=北京,3=福州,直接存上海,北京,福州。
日期控件(date),存在FD里。
删除某个属性时,需先删除属性和F_N的关系,再删除F_N列的数据,F_N列都是可空列。
|
方案优点:
|
方便查询。
且规避了方案一的配置项表扩展字段太多的缺点。
|
方案缺点:
|
没有方案一灵活
|
4:方案四:固定表和字段数据库设计
方案说明:
|
CMDB由两个个实体组成,即配置项(含配置项分类),配置项属性定义。
配置项属性的值存在“配置项类型和属性关系表”里。
|
方案优点:
|
简化了设计。
配置项也可以动态增加扩展属性。
|
方案缺点:
|
1. 配置项和配置分类放在一张表里,频繁的查询配置项分类存在性能问题。建立索引能够解决性能问题,但是配置项的表是千万级数据量,在多个字段处建立索引,会导致索引文件非常大,并且影响数据查询性能。
2. 使用列存储配置的属性和值,当出现统计查询的时候,查询语句非常难写。
|
- 大小: 128.6 KB
- 描述: 方案4
- 大小: 69.8 KB
- 大小: 104.5 KB
分享到:
相关推荐
"open-cmdb-master"是一个开源的配置管理数据库(CMDB)项目,专为服务器运维和监控设计,提供了跨平台的批量管理功能。CMDB是IT服务管理中的关键组件,它集中存储并管理组织的IT资产信息,包括硬件、软件、网络设备...
1. **配置项管理(CMDB)**:配置管理数据库(CMDB)是bk-cmdb的核心功能,它存储了企业IT环境中所有资源的配置信息,如服务器硬件、操作系统、应用软件、网络设备等。通过CMDB,运维人员可以实时查看、管理和更新...
资产管理系统(CMDB,Configuration Management Database)是一种关键的信息技术(IT)工具,主要用于管理和跟踪组织内部的所有IT资源。zhangyafeii-CMDB-master项目提供了一个这样的系统,它帮助用户高效地管理硬件...
在现代企业的IT服务管理(ITSM)领域中,配置管理数据库(CMDB)扮演着至关重要的角色。它不仅能够帮助组织更好地理解其IT资产之间的关系,还能为决策提供支持。BMC公司的CMDB解决方案以其强大的功能和灵活性而著称...
ITSM(Information Technology Service Management,信息技术服务管理)运维平台是指将IT服务管理理念与运维实践相结合,旨在提高IT服务质量、降低运维成本、提高用户满意度的一种解决方案。下面是ITSM运维平台方案...
i-doit 是一个基于 Web 的 IT 文档和 CMDB。 i-doit 记录 IT 系统及其变化,定义应急计划,显示重要信息并帮助确保稳定和高效的 IT 运行: 技术文档:这意味着所有信息都可以组织(灵活调整细节)、存储和维护在一个...
《BMC Remedy ITSM7配置手册》是针对BMC软件公司推出的IT服务管理(IT Service Management,简称ITSM)解决方案——BMC Remedy ITSM 7版本的详细配置指南。该手册旨在帮助IT专业人员深入理解并有效地配置这一世界...
iTop是一款强大的开源IT服务管理(ITSM)工具,它基于配置管理数据库(CMDB)的概念和信息技术基础设施库(ITIL)的最佳实践。这个工具旨在帮助企业有效地管理其IT资源,提高服务质量和效率,同时降低运营成本。以下...
此外,企业还需要引入ITSM相关的概念,如配置管理数据库(CMDB),用于整合IT系统和设备信息,提供统一的配置视图;服务台作为第一接触点,负责处理用户的IT请求;变更管理则确保所有改动都能被妥善控制,降低对生产...
3. 配置管理数据库(CMDB):CMDB是ITSM的数据核心,存储了所有IT资产和服务之间的配置关系。它支持其他ITSM流程,如变更管理和问题管理,通过记录、监控和报告IT基础设施的配置项来实现。 4. Web服务与API集成:...
4. 配置管理:配置管理维护一个配置管理数据库(CMDB),记录所有IT资源及其相互关系,为其他流程提供准确的信息。 5. 服务台:作为单一接触点,服务台接收用户的请求,提供帮助,并协调解决问题。 ITIL还强调了...
GLPI(Gestion Libre de Parc Informatique)是一款开源的信息技术服务管理(ITSM)和资产管理软件。它提供了一个全面的解决方案,用于管理和优化企业的IT基础设施,包括硬件、软件和服务资源。GLPI的主要功能包括...
1. **设计与构建CMDB**:根据组织的需求设计CMDB的架构,并确保能够准确地记录和追踪所有配置项。 2. **数据准确性保障**:确保CMDB中的数据是最新的、准确的,并且符合业务需求。 3. **流程集成**:将CMDB与变更...
CMDB(Configuration Management Database,配置管理数据库)是ITIL服务知识管理的关键组件,用于存储所有配置项(CI)的信息,并记录它们之间的关系。CMDB有助于跟踪IT环境中的各种组件以及它们的变更情况。 KPI...
ITSM是IT服务管理的缩写,它是一种以客户为中心的方法,旨在规划、设计、交付和改进IT服务。ITSM强调流程化和标准化,以确保IT部门能够满足业务需求并提供高质量的服务。核心的ITSM实践包括服务级别管理、变更管理、...
Python是一种广泛使用的编程语言,因其简洁的语法和强大的库支持而被选为实现CMDB数据采集的工具。在IT环境中,Python可以编写脚本来自动化各种任务,包括数据抓取、处理和上传。在这个压缩包中,"autoclient"可能是...
3. **工具选型与部署**:选择合适的ITSM工具,如服务台软件、配置管理数据库(CMDB)、自动化工具等,支持流程执行。 4. **培训与文化建设**:对IT团队和业务用户进行ITSM理念和操作培训,培养服务导向的文化,提高...
Zabbix提供丰富的API,可与其他系统(如CMDB、ITSM工具)集成,实现自动化运维和告警处理。此外,还有大量预定义模板可快速监控常见服务,如Nginx、Apache、MySQL等。 8. **维护与优化** 定期检查Zabbix性能,...
企业IT服务治理解决方案的核心是构建高效、稳定且符合IT服务管理最佳实践的ITSM(IT Service Management)平台。这一解决方案旨在提高IT服务质量和效率,降低成本,确保企业的IT基础设施与业务需求紧密对接。以下是...