数据源
# 基本作用
在日常生活中我们所看到的数据都是存储在数据库中的,数据存储分为关系库,时实库,文件等方式,大部分情况下关系库使用是最多的,那么数据库是存在仓库中,怎么把它读取出来显示在页面做显示呢?
它是经过数据驱动程序连接到指定的关系库然后把数据读取到后再响应到客户端(即我们看到的页面内容),当然这其中也包括一系列的接口服务和前端渲染,但是我们文档的主题是介绍数据源,其它本文档不做介绍,通过基本用途描述你是否已经大概了解了数据源的作用了?如果还是不清楚,接下来文档将结合实例做详细介绍.
# 一 、关系库介绍
数据源管理目前只支持关系型数据库配置,如(Mysql,Oracle,SqlServer)三种数据库,每一种数据库配置都有所不同,请配置前先对这三种数据库的区别做个关性的了解.
# 1 Mysql数据库
MySQL是一种开源的关系型数据库管理系统(RDBMS),它使用了SQL(Structured Query Language)进行数据管理。MySQL是目前最流行的关系型数据库之一,被广泛用于Web应用程序开发、大数据处理、嵌入式应用等领域.
MySQL由瑞典MySQL AB公司开发,后被Sun Microsystems收购,现在是Oracle Corporation的子公司。MySQL采用了客户端-服务器模式,运行在多个操作系统上,包括Linux、Windows和Mac OS等.
# 基本特点
- 开源免费:MySQL是一种开源软件,可以免费下载和使用。
- 跨平台支持:MySQL可以运行在多个操作系统上,包括Linux、Windows和Mac OS等。
- 高性能:MySQL使用了多种优化技术来提高性能,例如索引、缓存、预编译等。
- 可扩展性:MySQL支持多种扩展方式,例如主从复制、分片等。
- 安全性:MySQL提供了多种安全机制,例如用户认证、SSL加密等。
- 可靠性:MySQL具有高度的可靠性和稳定性,并提供了多种备份和恢复机制。
- 易用性:MySQL易于安装、配置和使用,同时提供了丰富的文档和社区支持。
# 有何缺点
- 限制性存储引擎支持:MySQL的默认存储引擎是InnoDB,它提供了事务支持和行级锁定,但在某些特定的使用场景下,可能会导致性能下降。此外,MySQL的其他存储引擎如MyISAM、MEMORY等对事务支持较弱或不支持。
- 单点故障:在传统的MySQL部署中,如果主服务器发生故障,整个应用程序可能会受到影响。虽然可以通过设置主从复制来提供故障转移和高可用性,但配置和管理复制环境可能会带来复杂性。
- 扩展性局限性:尽管MySQL支持分片和主从复制等扩展技术,但在大规模和高负载的环境下,可能会面临一些扩展性的挑战。例如,在处理大量并发请求时,可能需要更高级别的扩展解决方案。
- 存储和查询灵活性:与一些其他数据库相比,MySQL在某些方面的存储和查询灵活性较差。例如,对于半结构化数据的存储和查询支持相对有限,不如一些NoSQL数据库和文档型数据库灵活。
- 数据一致性:在MySQL的复制环境中,主从同步可能会有一定的延迟,这可能导致一些数据一致性的问题。虽然MySQL提供了一些机制来确保数据的一致性,但在某些情况下仍然需要特别关注。
- 缺乏一些高级功能:相对于一些商业数据库,MySQL在某些高级功能方面可能相对缺乏。例如,分区表、在线重建索引、列级权限等功能在MySQL中可能没有或支持不完全。
# 2 Sqlserver数据库
# 基本特点
- 完善的安全性:SQL Server提供了多层次的安全机制,包括用户身份验证、访问控制、数据加密等,以保护数据库的安全性和完整性。
- 强大的可扩展性:SQL Server支持水平和垂直扩展,可以通过添加更多服务器和分区来处理大规模数据和高并发请求。
- 高度可靠性和可用性:SQL Server具有高度的可靠性和容错性,支持故障转移、自动故障恢复和数据备份与恢复等功能,以确保数据的可用性和一致性。
- 多种数据类型和索引支持:SQL Server支持各种数据类型,包括字符串、数值、日期/时间、XML等,并提供了多种索引类型,如B树索引、全文索引等,以加快查询速度和提高性能。
- 高级的数据管理功能:SQL Server提供了丰富的数据管理功能,包括事务处理、视图、存储过程、触发器、函数等,可以实现复杂的数据操作和逻辑。
- 内置的商业智能功能:SQL Server集成了强大的商业智能功能,如数据仓库、数据挖掘、报表生成和分析服务等,可以帮助用户进行高效的数据分析和决策支持。
- 易用性和开发工具支持:SQL Server提供了直观易用的管理工具和开发工具,如SQL Server Management Studio(SSMS)、Visual Studio等,使数据库的管理和应用程序的开发更加简便。
# 有何缺点
- 高昂的成本:相较于其他开源数据库,SQL Server是一种商业数据库,需要付费才能使用。此外,随着SQL Server版本的不断升级,许多高级功能也需要额外的许可证费用。
- 较大的系统资源需求:由于SQL Server具有强大的功能和复杂的内部结构,它对计算机硬件资源的要求比某些轻量级数据库更高。因此,必须分配足够的磁盘空间、内存和处理器能力。
- 学习曲线较陡峭:相对于某些其他关系型数据库,SQL Server具有更多的功能和选项,因此对于初学者来说,学习曲线可能会较为陡峭。此外,其高级特性的使用也需要更多的经验和知识。
- 可移植性差:由于SQL Server只能在Windows操作系统上运行,因此对于需要跨平台的应用程序来说,SQL Server可能不是最佳选择。虽然可以使用ODBC或JDBC等接口与其他操作系统交互,但这可能会带来额外的开销和复杂性。
# 3 Oracle数据库
# 基本特点
- 高度可靠性和可用性:Oracle数据库以其出色的容错能力和自动恢复机制而闻名。它具备故障转移、数据冗余和备份恢复功能,确保数据的持久性和可用性。
- 强大的扩展性:Oracle数据库支持水平和垂直扩展,可以轻松处理大规模数据和高并发请求。它提供了分区表、分布式数据库和集群等功能,以满足不同规模和需求的应用程序。
- 高级的安全性:Oracle数据库提供了多层次的安全机制,包括身份验证、授权、加密和审计功能。它支持细粒度的权限控制和行级别的安全性,保护敏感数据免于未经授权的访问。
- 多样化的数据类型和功能:Oracle数据库支持各种数据类型,包括数值、字符串、日期/时间、XML等,并提供了丰富的内置函数和操作符,以便进行复杂的数据处理和查询。
- 高性能和优化器:Oracle数据库的查询优化器可以自动选择最佳执行计划,以提高查询性能。它还提供了索引、分区等优化技术,以加速数据访问和查询响应时间。
- 丰富的数据管理功能:Oracle数据库提供了丰富的数据管理功能,包括事务处理、视图、存储过程、触发器、PL/SQL编程等。它还支持强大和灵活的数据导入导出、并行处理和并发控制。
- 商业智能和数据分析:Oracle数据库集成了强大的商业智能功能,包括数据仓库、OLAP、数据挖掘和报表生成等。它可以支持复杂的数据分析和决策支持需求。
# 有何缺点
- 高昂的成本:Oracle数据库是一种商业数据库,需要付费才能使用。其许可证费用较高,特别是对于中小型企业来说可能比较昂贵。
- 复杂性和学习曲线陡峭:由于Oracle数据库具有丰富的功能和复杂的内部结构,相对于其他数据库管理系统而言,学习和掌握Oracle数据库的操作和管理可能需要更多的时间和精力。
- 资源占用较大:Oracle数据库对计算机硬件资源的要求较高,包括磁盘空间、内存和处理器能力。这可能导致在较低配置的服务器上运行Oracle数据库时出现性能瓶颈。
- 限制于特定平台:Oracle数据库主要运行在UNIX、Linux和Windows等操作系统上,对于需要在其他操作系统上运行的应用程序来说,可能需要额外的配置和兼容性工作。
- 较为复杂的管理和维护:由于Oracle数据库的复杂性,它可能需要专门的数据库管理员(DBA)进行管理和维护。这增加了运维成本和技术要求。
# 三者对比
数据库名称 | 开源免费 | 跨平台 | 难度 | 性能 |
---|---|---|---|---|
MySql | 开源 | 跨平台 | 简单 | 一般 |
SqlServer | 闭源 | 跨平台 | 中等 | 良 |
Oracle | 闭源 | 跨平台 | 难 | 优 |
# 二 、打包流程
非融合环境:无需打包
融合环境:
什么是融合环境?融合环境即跟supos系统做深度集成的环境,MES导包流程基本上都是一样的,公司有专门的导包流程视频可以借鉴,只要你有公司云盘账号即可,视频地址 查看 (opens new window),具体打包流程目前按以下流程步骤。
# 三 、配置数据源
为什么要做数据源配置呢?因为当你想进行跨服务器或者跨数据库连接时,系统是无法识别你想对那个库进行操作,另一方面通过配置更多的数据源可以自定义的指定查询某个库的某张表,,极大的提高了系统的扩展性.
# 1 数据源首页
数据源首页新项目首次进入时整个页面是空白的,只有【添加连接,加载默认连接】两个按钮,至于这两个按钮到底有什么作用呢?下面将给个解释.
添加连接
将创建一个新的连接配置
加载默认连接
加载当前MES平台的默认连接配置
# 1.1 连接状态
数据源的状态分为--->正常,不可用,新建待审
正常
表示可以正常使用,驱动连接一切正常
不可用
驱动连接正常,用户主动关掉连接,禁用状态
新建待审
新建连接,没有点击测试连接按钮,系统未知连接是否可用
# 1.2 默认数据源
在数据源管理主界面可以看到有个默认标识,它表示MES系统目前使用的是这个数据源,最好保持当前默认数据源初始状态,不要擅自改变默认数据源,否则会造成系统无法正常运行的后果,当然数据源管理界面未提供改变成默认数据库的功能,你只需知道默认数据库的用途即可。
# 2 创建连接
图中标红色 * 号的选项全为必填项,数据库类型切换时配置界面与上图的存在一定的区别,这是因为每种数据库机制原因强制要求,现在对上图中的几个关键字描述作用详细介绍。
# 属性描述
数据源地址
数据源地址只能是ip地址,不能是其它地址
端口号
数据库开放的端口号
验证方式
sqlserver验证【推荐使用】:需要账号密码才能访问数据库
Windows验证【不推荐】:无需账号密码访问数据库
连接池
连接池的主要作用是提高数据库访问性能并减少资源消耗,通过使用数据库连接池,应用程序可以更好地管理和利用数据库连接资源,提高应用程序的性能和可伸缩性。连接池可以减少数据库连接的创建和销毁次数,降低了系统的开销,并且可以适应不同负载情况下的数据库访问需求.
响应时间
在设定的时间范围内做为正常请求,超过设定范围做为超时异常处理.
# 测试连接
测试连接按钮可以校验你的配置是否正确,是否成功连接到目标数据库,如果测试不通过那么你配置的这个连接就是无效且不可用,温性提醒:配置数据库连接时一定要点击测试连接按钮,以免在使用数据源时调用不到数据问题的BUG,如果不点击测试连接按钮,数据源首页显示状态是新建待审核状态。
# 3 Mysql连接
mysql连接配置跟Sqlderver相同,基础属性配置参与sqlserver数据源配置即可,将不再对Mysql做重复介绍。
# 4 Oralce连接
# 4.1 服务名称
在Oracle中什么叫服务名称?
在 Oracle 数据库中,服务名称(Service Name)是一个由数据库管理员定义的逻辑名称,用于标识 Oracle 数据库实例中的一个或多个数据库服务。服务可以理解为数据库提供的一系列功能,例如查询、事务处理等。一个 Oracle 实例可以提供多个服务,每个服务都有一个唯一的服务名称。
服务名称通常用于在应用程序和数据库之间建立连接。当应用程序需要连接数据库时,它会使用服务名称来指定要连接的服务。Oracle 数据库会将服务名称映射到相应的数据库服务。这样,应用程序就可以通过服务名称来访问数据库服务,而不需要知道底层数据库实例的详细信息。
服务名称可以通过 Oracle Net Services 配置工具进行管理。在配置服务名称时,需要指定数据库实例的主机名、端口号以及服务名称。每个服务名称也可以关联一个或多个监听器,用于监听客户端请求并将请求转发给相应的数据库服务。
在 Oracle 数据库集群中,服务名称还可以用于实现高可用性和负载均衡。通过将服务名称映射到多个数据库实例或节点,可以确保即使其中一个实例或节点发生故障,应用程序仍然可以通过服务名称连接到其他可用的实例或节点。
# 4.2 服务监听
要进行Oracle远程服务器连接,必须要做的配置,配置服务监听基于Odbc;
(SID_DESC=
(SID_NAME=myodbc)
(ORACLE_HOME=oracle安装目录)
(PROGRAM=dg4odbc)
)
(SID_DESC=
(SID_NAME=sqlodbc)
(ORACLE_HOME=oracle安装目录)
(PROGRAM=dg4odbc)
)
2
3
4
5
6
7
8
9
10
11
# 4.3 异构服务
支持多odbc连接,每个单独创建一个ora文件
HS_FDS_CONNECT_INFO =myodbc
HS_FDS_TRACE_LEVEL = OFF
2
# 4.4 网关配置
还有一步必须设置网关才能访问
MYODBC =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=XXXXXX)(PORT=1521))
(CONNECT_DATA=(SID=myodbc))
(HS=OK)
)
SQLODBC =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=XXXXXX)(PORT=1521))
(CONNECT_DATA=(SID=sqlodbc))
(HS=OK)
)
2
3
4
5
6
7
8
9
10
11
12
13
以上oracle多出的几项配置是基于oracle数据库进行跨服务器,跨数据库访问做联表查询时才会用到,使用过程相对比较复杂,请先了解再进行配置。
# 5 数据库选择
配置界面的数据必填项填完之后不会带出相关的数据库, 需要点击测试连接按钮才会把数据库绑定到数据库列表中,所以在选择默认数据前先点击测试连接按钮,再选择默认数据库。