490 likes | 641 Views
数据库技术在高能物理的研究与应用课题工作报告. 马梅 高能物理所计算中心 2002.12.20. 内 容. 工作进展 国外高能物理实验室控制系统数据库应用状况 Oracle 、 PostgreSQL 、 MySQL 性能比较 数据库管理系统与服务器 开发方法与开发工具 希望. 工 作 进 展 ( 一 ). 建立数据库系统试验环境 Database: >Oracle9i , trial version, from OTN ( Oracle Technology Network ) >PostgreSQL 7.2.3 >MySQL 3.23.53
E N D
数据库技术在高能物理的研究与应用课题工作报告数据库技术在高能物理的研究与应用课题工作报告 马梅 高能物理所计算中心 2002.12.20
内 容 • 工作进展 • 国外高能物理实验室控制系统数据库应用状况 • Oracle、PostgreSQL、MySQL性能比较 • 数据库管理系统与服务器 • 开发方法与开发工具 • 希望
工 作 进 展(一) • 建立数据库系统试验环境 • Database: >Oracle9i,trial version, from OTN(Oracle Technology Network) >PostgreSQL 7.2.3 >MySQL 3.23.53 • OS: Red Hat Linux 7.1 • Server: Dell PowerEdge 1400 SC/1130, 2 x Intel Pentium III Processor 1260MHZ/512K, 512 MB DIMM • Disk:1X18GB, 36X18GB, U160,SCSI, 10KRPM
工 作 进 展(二) • Application 服务器 和 Web服务器 • OS: Red Hat Linux 7.1 • Server: Personal Computer Intel Pentium IV Processor 2.0GHZ/512K 512 MB DIMM • Application Server: Oracle 9i Application Server • Web Server: Apache 1.3.27 • 开发工具 Oracle9i IDE开发工具, Perl 5.8, C/C++, JAVA, PHP4.2.2, JDBC/ODBC
工 作 进 展(三) • 选定统一建模语言UML作为软件工程方法 近年来建模方法被广泛应用于系统的需求和设计阶段,经调研将把集成了多种方法的优点并被对象管理组织OMG接纳为标准建模语言的UML(United Modeling Language)用于软件开发中,并做了相关技术准备。 • 了解研究ARGO数据处理中数据库的应用状况 与粒子天体物理中心有关同志就ARGO实验中数据存储、数据库的应用进行了多次讨论。 参加了“Workshop on YBJ ARGO Experiment”(Dec.11-Dec.13),并提交一个报告。研讨会期间与意大利方有关人员就数据处理中的数据库应用进行了较深入的讨论。目前意大利方提出的数据处理方案中使用PostgreSQL数据库管理系统。
工 作 进 展(四) • 据了解BES3数据处理中将使用MySQL作为数据库管理系统,并建立自己的数据库服务器。 • Oracle9i、PostgreSQL、MySQL性能研究与测试 • 为保卫处建立了“放射工作人员外照射个人剂量监测数据及全所放射源管理系统 ”,已投入使用。 • 为节能办公室编制“高能所电水气收费管理系统”,还未投入使用。
工 作 进 展(五) • 控制系统实时数据信息管理系统需求的初步调研 • 与控制组、物理组座谈(均有座谈报告) • 调研国外高能物理实验室控制系统数据库应用情况 • 研读BEPCII初步设计报告 • 参加 “EPICS Seminar,IHEP Beijing”研讨会,并提交报告“A Preliminary design of BEPCII database system”。 • 安排中控室值班
BEPCII需存放的数据(一) 静态参数 • BEPCⅡ机器参数:理论计算出的Twiss参数,Lattice参数以及磁测参数,如磁铁长度,位置,有效长度等等。 • 控制系统设备参数:设备名,设备类型,信号名,硬件I/O地址,科学单位,标度变换系统,Alarm条件,Alarm分类报警信息等。 • 控制系统配置参数
BEPCII需存放的数据(二) 动态参数(实时、历史数据) • 来自设备的I/O数据,如压力,脉冲波形,流强及设备开关及状态参数 • Alarm数据,设备报警记录 • 束流参数,BPM和束流轨道参数及来自各种束流测量设备的实时数据 • 所有上述实时数据均带有采集时刻时间标记,并分别以二进制和实型数计入各种数据库。
BEPCII需存放的数据(三) 运行管理信息 • 存放加速器各种文本、HELP文本、加速器运行值班记录、设备维修记录、系统技术档案以及人员、经费信息。 BEPC实时数据库系统中存放有关的静态参数和全部动态参数。 关系数据库中存放全部三种参数和信息,其中动态参数作为历史数据存放。
系 统 功 能(一) 一般用户 • 通过Web页面访问数据库; • 提供API(Application Program Interface)开发界面,使用户程序可以访问数据库; • 数据可以输出到MS Excel表格中,或专门格式的表格中显示; • 数据可以批量下装到用户程序中,供离线数据分析使用; • 以二维或三维图形方式显示数据库中的实时、历史数据; • 以表格方式显示的故障记录。
系 统 功 能(二) 授权用户 1、显示数据库关系表模型; 2、增加、删除、修改记录的静态域值如描述字段、Alarm条件等; 3、显示记录的基本信息和当前记录的域值; 4、Dump记录 ; 5、将指定记录中的数据按指定格式写入专用数据文件或MS Excel表格 6、 图形显示,提供二维历史曲线图及三维包络线图形功能,具体要求: • 坐标系随数据大小可自动调整; • 在一张图上可允许用户选择8种不同的颜色显示8条曲线; • 允许用户选择一区域曲线放大显示; • 用户点击曲线上的一点、一列则可显示该处的值; • 允许用户选择多种关键域显示图形,如按信号名,按时间段显示历史曲线。
系统 系统 被控设备 台数 台数 信号数目 AI AI AO AO DI DI DO DO WF WF 其它 小计 运线 储存环输运线 磁铁电源 399 399 399 1596 798 3192 真空系统 真空系统 517 957 398 814 994 488 3651 注入系统 8 8 16 40 4 4 72 高频系统 7 72 35 180 50 4 341 束测系统 459 864 80 80 6 1030 注入器 325 559 198 228 198 36 1219 总计 1715 2859 1046 2938 2124 50 488 9505 BEPCII控制系统被控设备及信号数目
数据存储量估计(一) • 信号的记录类型 在BEPCⅡ控制系统中信号使用的主要记录类型有:模拟信号输入AI,模拟信号输出AO,数字输入DI和数字输出DO。BEPCⅡ控制系统中所要关注的域(fields)信息主要包含在如下6种参数里: 1. scan parameters 2. read and convert parameters 3. operator display parameters 4. alarm parameters 5. monitor parameters 6. run_time parameters
域名 含义 数据类型 存储空间 (字节) 状态 参数类型 VAL Value Field DOUBLE 8 动态 read and convert RVAL Raw Value LONG 4 动态 read and convert EGU Engineering Units STRING 8~16 静态 operator display HIHI Hihi Alarm Limit FLOAT 4 静态 Alarm LOLO Lolo Alarm Limit FLOAT 4 静态 Alarm HIGH High Alarm Limit FLOAT 4 静态 Alarm LOW Low Alarm Limit FLOAT 4 静态 Alarm 无效输出值 DOUBLE 8 动态 Alarm 无效输出值 各类报警程度之一 LONG 4 动态 Alarm NAME Record Name STRING 15~29 静态 operator display DESC Description STRING [ 15~29 静态 operator display 时间标签 DOUBLE 8 动态 上次故障时间标签 DOUBLE 8 动态 Readback DOUBLE 8 动态 run_time Readback (二进制) DOUBLE 4 动态 run_time 初始值 DOUBLE 8 静态 标度变换系数 DOUBLE 8 静态 总计 122-158 数据存储量估计(二) 模拟信号输入AI: 从硬件设备中获得模拟信号值 模拟信号输出AO:将数字信号转换成模拟信号,并输出到硬件设备。
域名 含义 数据类型 (字节) 存储空间 状态 参数类型 ZNAM Zero Name STRING 10~20 动态 Convert and Write ONAM One Name STRING 10~20 Convert and Write RVAL Raw Value LONG 4 bytes 动态 Convert and Write NAME Record Name STRING 10~29 静态 operator display DESC Description STRING 10~29 静态 operator display 上次报警值 SHORT 1 bytes 上次修改值 SHORT 1 bytes Alarm Parameters 时间标签 DOUBLE 8 bytes 动态 上次报警时间标签 DOUBLE 8 bytes 总计 62~120 数据存储量估计(三) DI是从硬件获得数据, DO存储数据,并送到数字输出模块
数据存储量估计(三) 所需存储空间: 总信号量=9505,需128字节/信号(最大空间)
数据存储量估计( 四) 所需存储空间: 总信号量=9505,需64字节/信号(最小空间)
国外高能物理实验室控制系统数据库应用状况 • 研究了KEKB 、BESSY、SLAC PEP-II、SLS、SNS控制系统及ALICE探测器系统数据库的应用情况。
KEKB控制系统数据库管理系统(一) • 数据库系统 • 数据库管理系统: Oracle 7.2.3 • 数据库服务器: IBM RS6000 • 操作系统: UNIX • 开发平台 • 开发工具:Python • 开发模式:基于Web
KEKB控制系统数据库管理系统(二) • 存放的数据 • 加速器各类设备如:磁铁、电源、真空、控制模块等的参数,包括设备的历史、设备参数、物理位置、电子特性、线缆连接表等。 • 存储EPICS各个控制点上的配置信息 • 印象 KEKB数据库系统到面前为止,存储的只是设备数据以及用于EPICS实时数据库的配置数据,基本上是静态数据,并没有将EPICS的实时数据装入到ORACLE数据库,因此数据量不大。
BESSY 控制系统数据库管理系统(一) • 数据库系统平台 • 数据库管理系统: Oracle 7.2.3 • 数据库服务器: Lenin and ash • 操作系统: HP_UX 10.x • Web服务器:与数据库服务器在同一机器上。 • 数据库开发平台 • 开发模式:基于Web • 开发工具:Oracle PRO*C 2.0, Oracle Forms、Reports、Graphics • Excel - Oracle - Interface:该界面是基于Microsoft ODBC和Visual Basic for Applications (VBA)的。 • Oracle-Tcl Interface • Oracle-WWW- Interface
BESSY 控制系统数据库管理系统(二) • 存放的数据 • 建立了两个数据库实例bii_par和bii_cad,bii_par存放参数数据、物理设备数据和EPICS配置数据,ii_cad存放的是CAD和几何参数。 • 加速器各类设备如:磁铁、电源、真空、控制模块等的参数,包括设备的历史、设备参数、物理位置、电子特性、线缆连接表 • 存储EPICS各个控制点上的配置信息 • EPICS配置参数数据库:各种电源;储存环、控制系统、增强器设备的IOC数据;嵌入控制器数据;电子加速器设备。
BESSY 控制系统数据库管理系统(三) • 系统功能 • BESSY II数据库将用户分为两级,一级为collectors,有权对参数数据进行增、删、改的操作,另一类用户只有对数据的查询权; • 参数数据按储 存环、注入系统和常规设备三个子系统进行管理 • 为Oracle用户提供了各种开发工具
PEP-II 控制系统数据库管理系统(一) • 数据库系统平台 • 数据库管理系统: Oracle • 数据库服务器:Alpha • 操作系统:Open VMS • 数据库开发平台 • 开发工具:Oracle Developer 2000、Designer 2000、 Oracle CASE、其他的脚本语言 • 开发模式:基于Web
PEP-II 控制系统数据库管理系统(二) • 存放的数据 • 1992年PEP-II工程开始是提出的,最初的目的是管理整个加速器工程建造中各个环节中的技术、文档资料,其结果远远超过了这个目的。它主要包括: • PEP-II/BABAR的设计说明书 • 整个系统的设备和安装数据 • 机器参数列表、磁铁、真空设备数据 • CAD图表, • 测量和校准数据 • 出版物和文档资料 • 所有的控制器数据 • 与BESSY合作将实时数据放到Oracle数据库
SLS 数据库管理系统(一) • SLS (Swiss light source) • 数据库系统平台 • 数据库管理系统: Oracle • 数据库服务器: Alpha • 操作系统: Open/VMS, Linux • 数据库开发平台 • 开发模式:基于Web • 开发工具:Java/ JDBC • Java: jdk1.1 • Tcl/Tk/tclX/blt: 8.0 • c/c++ : g++ 2.7.2 • make:gnumake 3.74
SLS 数据库管理系统(二) 控制系统的软件结构 CDEV: 基于JAVA的软件包,通过JDBC实现与Oracle的连接
SNS 控制系统数据库管理(一) • SNS( Spallation Neutron Source ) • 数据库系统平台 • 数据库管理系统: Oracle • 数据库服务器: Sun • 操作系统: Solaris,Linux • http://shawnee.sns.ornl.gov/mis/EnterpriseModel/modell.htm • 数据库开发原则 • 参照 KEKB和BESSY的数据库开发模式 • 开发工具:Java/ JDBC • Java: jdk1.1 • c/c++
SNS数据库管理系统(二) January 11, 2001
ALICE 探测器系统数据库管理 • Central database:Oracle, will be placed at CERN. It contains central inventory of components, copies of data from laboratories, metadata (e.g. dictionaries) etc. • Satellite databases :PostgreSQL, will be placed in laboratories-participants. They contain source data produced at laboratories, delivered by manufacturers, working copies of data from central repository and partial copies of metadata (read only).
Oracle、PostgreSQL、MySQL性能比较 • 在Gartner Dataquest发布的2001年数据库市场份额调查报告中,Oracle在关系型数据库市场中占据了39.8%的市场份额,在UNIX市场上则为63.3%的市场份额。 • PostgreSQL是一个在Unix世界被广泛应用的免费数据库管理系统(DBMS),起源于美国加州大学伯克莱分校计算机科学系的一个数据库研究项目——Postgres,能够在多个操作系统平台上运行,包括:Solaris、AIX、SCO Unix、HP Unix、Linux、FreeBSD等。 • MySQL是MySQL AB公司的产品,它既以GPL(GNU General Public License (GPL)) 發行,也以商业方式销售,主要是针对那些不愿意受到GPL方式约束的人。虽然许多人认为MySQL只是一个快速存储工具,是一个彻头彻尾的低端产品,但它还是有不少亮点。
功能 细节描述 评估对象 MySQL PostgreSQL Oracle • 基本性质 数据类型 B A C SQL C B B 约束机制 C A A 视图 D C A 生成Ids C A A 字符集 B B A • 事务 事务 D A A 锁 D A A 多用户访问 C C A Oracle、PostgreSQL、MySQL性能比较(一) 说明:A: 优秀 B: 好 C: 一般 D: 差
功能 细节描述 评估对象 MySQL PostgreSQL Oracle • DB编程能力 存储过程和触发 D A A • 管理 访问控制 A B A 备份 C C A 数据迁移 A A B 可移植性 可扩展性 可移植性 B B A 可扩展性 B C A • 性能和VLDB 查询优化 B B A 结构优化 D B A 支持OLAP D D A 磁盘空间分配 C C A 大小限制 B C A VLDB 的实现 D B A Oracle、PostgreSQL、MySQL性能比较(二)
功能 细节描述 评估对象 MySQL PostgreSQL Oracle 分布式数据库 多数据库的访问 C C A 异型系统的支持 D D B 特别数据类型 大对象 B C A 关系类型扩展 D B A 特别数据类型支持 D C A • 可靠性 恢复 C C A • 应用程序开发和接口 嵌入式SQL D B A 标准接口 B B A 附加接口 A A A Web技术 B B A XML D D A CASE D D A Oracle、PostgreSQL、MySQL性能比较(三)
功能 细节描述 评估对象 MySQL PostgreSQL Oracle • 价格和技术支持 价格 A A D 技术支持 C D B 市场占有率 D D A 总计 A:4 B:9 C:9 D:14 A:9 B:11 C:10 D:6 A:30 B:4 C:1 D:1 Oracle、PostgreSQL、MySQL性能比较(四)
Oracle PostgreSQL MySQL 优势: ◎稳定、可靠 ◎支持事务处理 ◎支持存储过程和触发器 ◎支持复杂数据类型和BLOB ◎支持VLDB大型数据库 ◎有丰富的应用程序开发工具和 接口 ◎可扩展性好(RAC) ◎有商家的技术支持 优势: ◎免费 ◎容易管理 ◎稳定性尚好 ◎支持事务处理 ◎支持存储过程和触发器 ◎支持复杂数据类型和BLOB ◎有较丰富的应用程序开发工具和接口 优势: ◎免费 ◎管理简单 ◎读写速度快 ◎稳定性尚好 ◎有应用程序开发接口 ◎可能有少量的技术支持 缺点: ◎昂贵 ◎管理复杂难度大 缺点: ◎不支持分布式处理 ◎不支持异构系统 ◎不支持VLDB ◎没有技术支持 缺点: ◎不支持事务处理 ◎不支持存储过程、触发器、视图 ◎不支持分布式处理 ◎不支持异构系统 ◎不支持VLDB Oracle、PostgreSQL、MySQL性能比较(五)
数据库管理系统与硬件方案(一) • 选择数据库最需要考虑的问题 • 系统可靠性、稳定性、数据量以及数据间关系的复杂度。 • 如果BEPCII控制系统数据库中的数据量不大,数据只是今后系统调束、物理分析的一种辅助手段,那选用以上哪种数据库都可以。 • 如果数据量很大,数据作为今后系统调束、物理分析的主要依据,那么数据库选择的优先级别应为: 1、Oracle 2、PostgreSQL 3、MySQL
数据库管理系统与硬件方案(二) • 数据库管理系统与服务器询价 • Oracle 9i有两种报价方式:按处理器个数和按最小用户数 • 1 处理器:50万 • 最小用户数为25个用户(2002/9/6前最小用户数为10个) • 每用户需付 9,932元。 • 购买如下产品: Oracle Database Enterprise Edition Internet Application Server Internet Developer Suite 总价(含17%增值税):398,322元
数据库管理系统与硬件方案(三) • MS SQL SERVER 2000 有两种报价方式:企业版按处理器报价,标准版按最小用户数报价。 • 企业版:1 处理器:170,900元 • 标准版最小用户数为10个用户,需 15,300元。
数据库管理系统与硬件方案(四) • SunFire V880服务器系统 • 2 x 900MHz UltraSPARCIII处理器 • 4GByte 内存 • 6 x 73GByte 10KRPM FC-AL内置硬盘驱动器 • DVD ROM驱动器 • Gigabit Interface • 3(N+1冗于) 电源和风扇 • Solaris 8 Simp Chinese Media • 开发工具:C/C++,Java、Fortran等 总价:275 , 000元
数据库管理系统与硬件方案(五) • AS-PE4600 - Dell PowerEdge 4600 Server • 处理器:2 x 1.8GHZ/512K Intel 至强处理器 • 内存:2GB(8x256)或(4*512) DIMM • 硬盘:2 x 73GB U320,SCSI,10KRPM 36GB,U320,SCSI,10K RPM • 内置双网卡:100Mb/Gigabit Interface • CD-ROM 驱动器,12/24X 报价:62,358元 净价:45,800元
数据库管理系统与硬件方案(六) • AS-PE6600 - Dell PowerEdge 6600 Server • 处理器:2 x 1.9GHZ/1M Intel 至强处理器 ==》4个CPU • 内存:2GB(8x256)或(4*512) DIMM • 硬盘:2 x 73GB U320,SCSI,10KRPM ==》12个硬盘 36GB,U320,SCSI,10K RPM • 内置双网卡:100Mb/Gigabit Interface • CD-ROM 驱动器,12/24X 报价:137,000元 净价:95,000元
数据库管理系统与硬件方案(七) • Oracle9i + Solaris/Sun+ Solaris/Sun 36万+27.5万+4.5万 = 68万 • Oracle9i +Linux/Intel+Linux/Intel (Dell, IBM) 36万+9.5万(18万)+4.5万 = 50万--58.5万 • PostgreSQL + Linux/Intel + Linux/Intel 14万--22万 • MySQL + Linux/Intel + Linux/Intel 14万--22万
开发方法与开发工具 • 三层开发模式: Browser+AS+DB • 开发工具 • Oracle9i Developer Suite+Application Server • Apache+Tomcat+Java Servlets+JSP • C/C++, Java,Perl,XML
希 望 尽快确定和批准数据库管理系统的方案。 邀请加速器有关同志作为该课题的成员或顾问,共同完成系统调查、数据库设计和系统功能的细化。