[架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库

目录

一、数据概述

[1.1 数据](#1.1 数据)

[1.2 企业信息系统的数据](#1.2 企业信息系统的数据)

[1.3 大数据](#1.3 大数据)

[1.4 数据与程序的分离思想](#1.4 数据与程序的分离思想)

[1.5 数据与程序的分离做法](#1.5 数据与程序的分离做法)

[1.6 数据库的基本概念](#1.6 数据库的基本概念)

[1.7 企业数据来源](#1.7 企业数据来源)

[1.8 企业数据架构](#1.8 企业数据架构)

二、常见的数据库类型

[2.1 数据库分类](#2.1 数据库分类)

[2.1 数据库类型](#2.1 数据库类型)

[2.2 常见的数据库类型、应用场合和案例](#2.2 常见的数据库类型、应用场合和案例)

三、数据库、数据仓库和主题数据库比较

[3.1 基本概念](#3.1 基本概念)

[3.2 比较](#3.2 比较)

[3.3 数据湖与数据仓库](#3.3 数据湖与数据仓库)

备注:


一、数据概述

1.1 数据

数据指的是在计算机中被处理的数字、文本、图像、音频、视频等形式的信息。数据通常经过采集、记录、存储、分析和展示等过程,以支持人类决策和行为。数据广泛应用于各个领域中,包括科学研究、商业管理、医疗保健、社交网络、交通运输等。以下是数据的几个方面:

  1. 数据类型:

    • 数字数据:数字数据是数学运算的基础,并且通常表示为二进制形式。例如,整数、浮点数等。
    • 文本数据:文本数据通常是一系列字符,例如文档、电子邮件等。
    • 图像数据:图像数据通常是二维数组,例如照片、图表等。
    • 音频数据:音频数据是一系列振幅和频率,例如音乐、电台广播等。
    • 视频数据:视频数据是一系列图像的集合,例如电影、电视节目等。
  2. 数据采集:

    • 传感器:传感器是一种能够接受并转化外界物理量的设备,例如温度传感器、压力传感器等,这些设备可以采集周围环境的数据。
    • 手动输入:手动输入是人为地输入数据,例如填写表格、敲打键盘等。
    • Web抓取:Web抓取是指使用计算机程序自动从互联网上下载大量数据,例如爬虫程序。
  3. 数据处理:

    • 数据分析:通过对大量数据进行处理和计算,以提取有用的信息和统计规律,例如数据挖掘、机器学习等。
    • 数据可视化:数据可视化是将数据通过图形、图表、地图等形式展示出来,以帮助人们更直观地理解数据。
  4. 数据存储:

    • 数据库:数据库是一种存储和管理数据的系统,例如MySQL、Oracle等。
    • 数据仓库:数据仓库是一种专门用于存储、管理和分析大量数据的系统,例如Snowflake、Amazon Redshift等。
    • 文件储存:将数据存储在文件中,例如.csv和.json等格式。

总之,数据是计算机信息处理的核心,数据采集、处理和存储是数据管理的重要环节。随着数字化的深入,数据的价值和应用越来越广泛。

1.2 企业信息系统的数据

企业信息数据是指关于企业的各种数据,包括但不限于以下内容:

  1. **公司基本信息:**包括公司的名称、注册地址、联系信息、法定代表人等。

  2. 组织结构和人员信息:包括公司的部门、岗位、人员组织结构等。

  3. 员工数据:包括员工的个人信息、工作履历、薪资福利等。

  4. **财务数据:**包括公司的财务报表、资产负债表、利润表、现金流量表等。

  5. **销售和营销数据:**包括销售额、客户数据、销售渠道以及市场调研数据等。

  6. **供应链和采购数据:**包括供应商信息、采购订单、交付记录等。

  7. **产品和服务数据:**包括产品和服务的规格、特性、定价策略等。

  8. **客户数据:**包括顾客的个人信息、购买历史、客户反馈等。

  9. **制造和生产数据:**包括生产流程、生产效率、库存管理等。

  10. **竞争和市场数据:**包括竞争对手信息、市场份额、行业趋势等。

企业信息数据对于企业经营和决策非常重要,可以用于分析业务状况、优化流程、制定战略和预测市场趋势等。这些数据可以通过企业内部的系统和软件进行收集、存储和处理,以便在需要时进行分析和决策支持。同时,保护企业信息数据的安全和机密性也是企业的重要任务之一。

1.3 大数据

大数据是指以海量、高速生成的数据集合,通常包括结构化、半结构化和非结构化数据。

这些数据具有多样性、大量性、高速性和价值密度低等特点。大数据的处理和分析需要借助先进的技术和工具,以从中提取有价值的信息和洞察。

大数据的特点主要包括以下几个方面:

  1. **体量巨大:**大数据通常以TB(千亿字节)或PB(千万亿字节)计量级别,通过大规模的数据存储和处理技术来管理。

  2. **多样性:**大数据包括结构化数据(例如数据库中的表格数据)、半结构化数据(例如日志文件、XML文件)和非结构化数据(例如图片、音频、视频、社交媒体数据等)。

  3. **高速生成:**大数据以高速的速率产生,例如物联网设备、传感器、社交媒体等,需要应用实时或近实时的处理和分析技术。

  4. 价值密度低: 大数据中的有用信息通常占比较低,需要进行数据挖掘、机器学习、深度学习等技术来挖掘数据中的洞察。

大数据分析可以带来许多商业和社会价值,例如:

  1. **业务决策:**通过分析大数据,企业可以识别新的市场机会、优化运营流程、改进客户服务、制定精准的营销策略等。

  2. **科学研究和创新:**大数据分析可以帮助科学家在医疗、气候变化、基因组学等领域做出有意义的发现和创新。

  3. **社会分析和公共政策:**通过分析大数据,政府和社会组织可以了解社会趋势、改进公共服务和决策等。

为了处理和分析大数据,通常需要使用高度可扩展的软件和技术工具,例如分布式计算、云计算、大数据存储和处理平台(例如Hadoop、Spark等),以及数据挖掘和机器学习算法。同时,隐私和安全也是大数据处理中需要重视的问题,保护个人和企业数据的隐私和安全性是很重要的。

1.4 数据与程序的分离思想

数据与程序的分离是指将数据和程序代码分开存储和管理的一种设计原则。

数据和程序的分离有以下几个方面的好处:

  1. **灵活性和可维护性:**数据与程序的分离使得对程序代码的更改不会影响数据的结构和存储方式,这样可以更方便地进行程序的升级和维护,并降低潜在的风险。

  2. **重用性:**通过数据与程序的分离,不同的程序可以共享同一份数据,避免了数据的冗余存储,提高数据的重复使用率和效率。

  3. **可扩展性:**数据和程序的分离可以方便地进行扩展,当业务需求发生变化时,可以更快速地对数据进行修改和增加,而不需要改动整个程序的代码。

  4. **安全性:**通过数据与程序的分离,可以更好地保护敏感数据的安全性。可以通过权限控制和加密等手段来保护数据的访问和传输。

1.5 数据与程序的分离做法

为了实现数据与程序的分离,常见的做法包括:

  1. 数据库:将数据存储在独立的数据库中,程序只需通过数据库接口访问数据 ,而不需要关心数据的具体存储方式和结构

  2. 接口和协议: 定义良好的接口和协议,程序通过接口和协议与数据进行交互,而不直接依赖于具体的数据存储和结构。

  3. 数据格式标准化: 使用标准的数据格式,例如JSON、XML等,以便不同的程序可以共享和解析数据。

通过数据与程序的分离,可以提高软件系统的可维护性、可扩展性和安全性,从而更好地满足不断变化的业务需求和用户需求。

1.6 数据库的基本概念

数据库 是一个按照特定数据模型组织、存储和管理数据的集合

它是为了满足用户对数据持久性存储高效访问的需求而设计和构建的系统

数据库: 可以理解为一个电子化的数据仓库,用于存储和管理大量的结构化、半结构化和非结构化数据。它提供了一种结构化的方式来组织数据,使得数据的存储和检索更加高效和方便。

数据库中的数据按照特定的数据模型进行组织,常见的数据模型包括关系模型(使用表、行和列表示数据)、层次模型(使用树形结构表示数据的父子关系)、网络模型(使用图形结构表示数据之间的关系)、对象模型(使用对象表示数据和关系)等。

数据库中的数据可以通过数据库管理系统(Database Management System,DBMS)进行管理。DBMS是一个软件系统,提供了一系列的功能和接口,方便用户对数据库进行操作,如创建、修改、查询和删除数据等。

常见的DBMS包括MySQL、Oracle、Microsoft SQL Server、PostgreSQL等。

数据库的优点包括:

  1. 数据的持久性存储:数据库将数据存储在磁盘或其他持久性存储介质中,即使系统关闭或重新启动,数据仍然可靠地保存。

  2. 数据的高效访问:数据库使用索引和查询优化等技术,可以快速地检索和操作数据,提高查询效率。

  3. 数据一致性和完整性:数据库支持数据的事务处理和约束机制,确保数据的一致性和完整性。

  4. 数据的共享和安全性:数据库中的数据可以被多个应用程序和用户共享,在同时满足数据安全性的前提下进行访问和更新。

数据库的应用广泛,包括企业管理系统、电子商务平台、社交媒体应用、科学研究、物联网等。通过合理设计和使用数据库,可以提高数据管理和应用的效率和可靠性。

1.7 企业数据来源

企业的数据来源可以有很多种,主要包括以下几个方面:

  1. **企业内部数据:**企业内部数据是指企业自身产生的数据,包括业务数据、财务数据、人力资源数据等。这些数据通常存储在企业自己的数据库中,可以通过企业内部的应用程序或BI工具进行分析。

  2. **第三方数据:**第三方数据是指来自于外部数据提供商的数据,例如市场调研机构、金融数据服务商、社交媒体数据等。这些数据可以为企业的业务决策提供有价值的参考。

  3. **网络数据:**随着互联网的发展,网络数据成为了企业获取信息的重要来源。例如,企业可以通过搜索引擎获取竞争对手的信息和市场趋势,通过社交媒体了解用户需求和反馈,通过物联网获得产品的使用情况等等。

  4. **外部事件数据:**外部事件数据包括天气数据、自然灾害数据、政府政策变化等。企业可以通过收集和分析这些数据对业务决策进行调整。

  5. **传感器数据:**随着物联网技术的应用,企业可以通过传感器收集大量的实时数据。例如,智能制造企业可以通过设备传感器获得生产线的实时状态,物流企业可以通过运输车辆的传感器获得货物的位置和状态等等。

企业数据的多样性和来源复杂性给数据分析和应用带来了一定的挑战,需要企业借助先进的技术和工具,如数据挖掘、人工智能等进行有效管理和分析,以提升企业的竞争能力和业务效率。

1.8 企业数据架构

数据集市 是一个面向商业用户的、集成的、易于解释和使用的企业数据存储库 ,它是企业数据仓库商业用户提供业务价值的一种方式。

数据集市通常是一个面向主题的、集成的、可查询的和支持分析的数据存储库,它不同于公司的操作性系统或基础数据仓库,而是为商业用户提供有关企业业务的数据驱动分析、描述统计分析、趋势分析、关联分析、预测模型等等。

数据集市的特点包括:

  1. **面向主题:**数据集市的数据是按照主题进行组织的,例如业务、地理位置、时间等等。它可以为商业用户提供更深入的业务分析和决策支持。

  2. 集成: 数据集市集成了多个数据源中的数据,这些数据源可以是企业内部的各个操作系统、外部数据源以及互联网数据。

  3. 可查询:数据集市的数据可以通过各种工具进行查询,例如在线分析处理(OLAP)、关系型数据库查询语言(SQL)等。

  4. **支持分析:**数据集市的数据质量一般较高,可以支持商业用户进行数据挖掘、预测建模、统计分析和趋势分析等。

  5. 易于解释:数据集市的数据是通过商业用户的认知为中心来组织的,因此它易于理解和解释。

数据集市对企业具有重要意义,它可以帮助企业实现更深入的业务分析和决策,促进企业业务管理的精细化和智能化。但同时,数据集市在数据质量管理、数据安全等方面也需要注重细节,保障数据的精确性和安全性。

二、常见的数据库类型

2.1 数据库分类

企业信息化数据库可以按照不同的分类标准进行分类。

以下是一些常见的分类:

  1. **按照应用领域:**企业信息化数据库可以按照应用领域划分,例如会计数据库、人力资源数据库、采购数据库、销售数据库等等。

  2. 按照数据类型: 企业信息化数据库可以按照存储的数据类型划分,例如关系型数据库、文本数据库、图像数据库、多媒体数据库等等。

  3. 按照层次结构: 企业信息化数据库可以按照层次结构划分,例如单用户数据库、局域网数据库、互联网数据库等等。

  4. 按照功能分类: 企业信息化数据库可以按照功能特点划分,例如决策支持数据库、事务处理数据库、并行处理数据库等等。

总体来说,企业信息化数据库所涉及的种类、层次及类型非常多样化,企业可以根据自身的具体业务需求和信息化战略规划,选择合适的数据库类型以及相关技术和服务来进行数据库建设和应用。

2.1 数据库类型

数据库的类型可以根据不同的标准进行分类,以下是一些常见的数据库类型:

  1. 关系型数据库(RDBMS):关系型数据库是最常见和广泛使用的数据库类型。它使用表格形式来组织和存储数据,并且利用结构化查询语言(SQL)进行数据管理和查询。常见的关系型数据库包括MySQL(开源)、Oracle、Microsoft SQL Server等。

  2. 非关系型数据库(NoSQL): 非关系型数据库是相对于关系型数据库而言的,它们不使用传统的表格结构,而是采用其他非结构化或半结构化形式来存储和组织数据。非关系型数据库更加灵活,适用于处理大数据、分布式系统、实时数据等场景。常见的非关系型数据库包括MongoDB、Cassandra、Redis等。

  3. 对象数据库: 对象数据库将对象 作为基本数据单元来存储和查询数据,更加贴近面向对象编程模型它可以存储复杂的数据结构,并支持面向对象的查询和操作。常见的对象数据库包括db4o、Perst等。

  4. 时序数据库: 时序数据库是专门用于存储和查询时间序列数据 的数据库类型。它们具有高效的时间序列数据存储和查询能力,并支持时间范围的聚合和分析。时序数据库常被用于物联网、日志分析、金融数据等领域。常见的时序数据库包括InfluxDBPrometheus等。

  5. 图形数据库:图形数据库是用于存储和查询图形结构数据的数据库类型,适用于复杂的关系和网络分析。它们以节点和边的形式来组织数据,并提供高效的图形查询和分析能力。常见的图形数据库包括Neo4j、OrientDB等。

这些只是数据库类型的一部分,实际上还存在其他类型的数据库,如空间数据库、文本数据库、多媒体数据库等,每种类型的数据库都有其适用的场景和特点。根据具体的需求和数据特点,选择合适的数据库类型非常重要。

2.2 常见的数据库类型、应用场合和案例

  1. 关系型数据库:

    • MySQL:常用于小型网站、博客、电子商务平台等,例如WordPress、Magento等。
    • PostgreSQL:适用于数据密集型应用、科学研究、地理信息系统等,例如OpenStreetMap、National Weather Service等。
    • Oracle:常用于企业级应用、金融机构、电信业务等,例如银行的核心系统、电信运营商的客户管理系统等。
  2. 非关系型数据库:

    • MongoDB:适用于存储非结构化数据 、大规模数据存储和分析等,例如新闻发布系统、数据分析平台等。
    • Cassandra:适用于分布式环境、高可扩展性的应用,例如Facebook的消息系统、Netflix的实时数据处理等。
    • Redis:常用于缓存、会话管理、实时数据处理等,例如在线游戏的缓存、实时排行榜等。
  3. 对象数据库:

    • db4o:常用于嵌入式设备、移动应用、物联网设备等,例如智能家居控制系统、移动设备的本地数据存储等。
    • Perst:适用于嵌入式应用、边缘计算等,例如工业控制系统、物联网网关设备等。
  4. 时序数据库:

    • InfluxDB:适用于存储和分析时序数据 ,例如传感器数据、应用监控、日志数据分析等。
    • Prometheus:常用于容器化环境、云原生应用的监控和度量,例如Kubernetes集群的监控、微服务架构的性能监控等。
  5. 图形数据库:

    • Neo4j:常用于社交网络分析、知识图谱、推荐系统等,例如LinkedIn的人脉关系分析、Online Dating的匹配算法等。
    • Amazon Neptune:适用于构建高度连通的图形结构应用,例如推荐引擎、网络分析等。

请注意,这些仅是一些常见的数据库类型及其典型应用场景和案例,实际应用中有很多其他的数据库类型和应用案例。根据具体需求和业务特点。

三、数据库、数据仓库和主题数据库比较

3.1 基本概念

数据库、数据仓库和主题数据库是数据管理的不同概念:

  • 数据库:数据库是一种用于存储、管理和组织数据的系统。它或使用结构化的表格形式来存储数据,并提供数据的增删改查功能。数据库通常用于支持事务处理和应用程序的数据存储需求,例如关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。

  • **数据仓库:**数据仓库是一种专门用于存储和分析数据的系统。它是一个集成、主题导向的大型数据存储库,用于支持企业级决策和业务智能。数据仓库从多个数据源中提取、转换和加载数据,并为分析和报告提供一致、一体化的数据视图。常见的数据仓库平台包括Snowflake、Google BigQuery、Amazon Redshift等。

  • 主题数据库:主题数据库是一种针对特定主题或领域的数据仓库。它专注于某个具体的主题,例如销售、客户、产品等,存储和管理与该主题相关的数据。主题数据库有助于快速查找和分析特定主题的数据,使数据分析和决策更加方便和高效。主题数据库可以是一个独立的数据库,也可以是数据仓库的一部分。

需要注意的是,数据仓库和主题数据库都是在数据库概念基础上延伸和专注的概念。数据仓库提供了更强大的数据整合、分析和报告功能,而主题数据库则更加专注于特定主题的数据管理和查询。根据具体的需求和业务场景,可以选择合适的数据库、数据仓库或主题数据库。

3.2 比较

数据库、数据仓库和主题数据库之间存在一些区别和比较:

  1. 功能与用途:

    • 数据库: 数据库用于存储、管理和组织****数据 ,提供数据的增删改查等基本操作,适用于应用程序的数据存储和事务处理
    • 数据仓库: 数据仓库用于集成、存储和分析大量的数据,支持企业级的决策和业务智能,提供一致、一体化的数据视图和分析功能。
    • 主题数据库: 主题数据库是一种专门针对特定主题或领域的数据仓库,存储和管理与该主题相关的数据,提供快速查找和分析特定主题数据的功能。
  2. 数据处理方式:

    • 数据库:数据库以事务为基本单位,支持数据的交互式查询和实时的数据读写操作。
    • 数据仓库:数据仓库以批处理为主,通过ETL(抽取、转换、加载)等过程将数据从多个来源整合到数据仓库中,支持复杂的数据分析和报告生成。
    • 主题数据库:主题数据库可以是一个独立的数据库,也可以是数据仓库的一部分,旨在为特定主题的数据提供高效查询和分析能力。
  3. 数据结构与查询灵活性:

    • **数据库:**数据库使用表格结构存储数据,使用SQL等查询语言进行数据查询,适合处理结构化数据和灵活的数据模式变化。
    • 数据仓库: 数据仓库通常使用星型或雪花型的维度模型来组织数据,具有预定义的架构和规范,支持复杂的多维数据分析。
    • **主题数据库:**主题数据库可以采用数据库或数据仓库的数据结构,根据特定主题的需要,可以有更灵活的查询和数据模型。
  4. 数据规模和性能:

    • 数据库:数据库通常用于处理小到中等规模的数据,支持高并发读写操作和实时的事务处理。
    • 数据仓库:数据仓库处理大规模的数据,具有高度扩展性和优化的查询性能,适合复杂分析和报告需求。
    • 主题数据库:主题数据库可以根据特定主题的数据规模和性能要求来选择适当的数据库或数据仓库作为支撑。

综上所述,数据库用于基本的数据存储和事务处理,数据仓库用于大规模数据存储、分析和报告,而主题数据库则是针对特定主题的数据管理和查询。根据业务需求和数据特点,选择适合的数据管理解决方案非常重要。

3.3 数据湖与数据仓库

数据湖(Data Lake)和数据仓库(Data Warehouse)是企业常用的两种数据存储和处理架构,它们有着不同的特点和适用场景。

下面是它们之间的比较:

  1. 数据结构:

    • 数据湖:数据湖采用原始的、未经转换或加工的数据存储方式,可以包含结构化、半结构化和非结构化数据。数据湖通常以对象存储等方式存储数据,不要求事先定义模式或数据模型。
    • **数据仓库:**数据仓库采用预定义的结构和模型来存储数据。通常需要进行数据转换、清洗和整合,以满足特定的分析需求。数据仓库通常使用关系型数据库等结构化数据存储方式。
  2. 数据处理方式:

    • 数据湖: 数据湖提供了更灵活的数据处理方式。数据湖中的数据可以被不同团队、部门或个人自由地进行数据探索、分析和挖掘。它支持多种分析工具和技术,如数据科学、机器学习和人工智能等。
    • 数据仓库: 数据仓库经过精心设计和规划,用于特定的报表、查询和分析需求。数据仓库通常支持预定义的报表和分析查询,数据转换和整合在数据仓库加载阶段进行,以提高查询性能和数据一致性。
  3. 数据集成:

    • 数据湖: 数据湖强调数据的原始形式和整合,支持批量数据导入、实时数据流和数据持续集成等方式。数据湖提供了更宽松的数据集成方式,允许灵活地添加新的数据源和数据类型。
    • **数据仓库:**数据仓库通常进行批量数据集成和转化,需提前定义模式和数据映射规则。数据仓库的数据集成相对严格,要求数据质量高、结构化和一致性强。
  4. 数据访问权限:

    • 数据湖:数据湖通常提供更开放的数据访问权限,允许不同用户和团队自行探索和利用数据。数据湖的权限管理需要更细粒度的控制和保护机制来确保数据安全。
    • 数据仓库:数据仓库通常有着更严格的数据访问权限控制,以确保数据的保密性和完整性。数据仓库会限制对数据的直接访问,只提供预定义的报表和查询功能。

综上所述,数据湖适用于需要处理大量原始和多样化数据的场景,注重灵活性和自助查询分析;而数据仓库适用于特定的分析需求,注重数据整合和预定义的查询和报表功能。在实践中,企业往往会结合使用数据湖和数据仓库,构建全面的数据架构来满足不同的业务需求。

备注:

**工业化:**把机器生产推广到各行各业。

信息化:把计算机推广到各行各业。

**智能化:**把智能机器人推广到各行各业。

相关推荐
Dylanioucn24 分钟前
【分布式微服务云原生】掌握 Redis Cluster架构解析、动态扩展原理以及哈希槽分片算法
算法·云原生·架构
J老熊38 分钟前
Spring Cloud Netflix Eureka 注册中心讲解和案例示范
java·后端·spring·spring cloud·面试·eureka·系统架构
大拇指的约定1 小时前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(三),单表查询
数据库·mysql·oracle
阳光阿盖尔1 小时前
redis——哨兵机制
数据库·redis·缓存·主从复制·哨兵
小小娥子1 小时前
【Redis】Hash类型的常用命令
数据库·spring boot·redis
盒马盒马2 小时前
Redis:cpp.redis++通用接口
数据库·c++·redis
barbyQAQ2 小时前
Qt源码阅读——事件循环
开发语言·数据库·qt
银氨溶液2 小时前
MySql数据引擎InnoDB引起的锁问题
数据库·mysql·面试·求职
黄俊懿2 小时前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
IvorySQL3 小时前
济南站活动回顾|IvorySQL中的Oracle XML函数使用示例及技术实现原理
xml·数据库·sql·postgresql·oracle·开源