FameHistory实时数据库
- 格式:pptx
- 大小:3.30 MB
- 文档页数:35
24.数据库操作24.数据库操作数据库操作序号 内容 页码24.1 数据查询 24-0224.2 曲线查询 24-0524.3 表格显示 24-0824.4 字段列表 24-0924.5 删除数据表内容 24-1124.6 数据库脚本编程 24-1224.7 存储过程脚本编程 24-1324.8 数据库记录平均统计 24-1424.9 把数据库记录导出到Excel中 24-1524.10 使用ADO访问数据库 24-1624.11 数据库转发 24-1724.12 查询数据库某表中最近时间段数据 24-2124.13 获得某字段最近某时间段内统计值 24-2124.1数据查询提供了通过表格查看数据库内容的方法,用“数据查询”组件实现:增加组件对象,在设置对话框中添入数据库的有关信息,如下图所示:执行<数据源>按钮,通过出现的对话框来选择数据源(如FameView Userdata Source):执行<记录表>按钮,出现下面的对话框,其中列出数据源中所有数据表:从中选择要查询的记录集(如demo):此组件主要根据时间字段进行查询,执行<时间字段>按钮,出现下面的对话框,其中列出记录集中所有的字段,从中选择要使用的时间字段(如dt):如果希望把查询结果进行打印或浏览,要先根据数据库利用Crystal水晶星建立报表格式,执行<报表格式>按钮,选择报表格式文件(*.rpt);如果希望把查询结果进行特殊排序,在<排序字段>处添入排序字段的名称及排序方法;根据字段f3按照升序排列:根据字段f3按照降序排列:通过查询对象,可根据对某些字段的过滤实现分组查询:查询对象的格式如下[f为字段名称、n为数值、s为字符串]:数值查询 字符串查询预定义查询 Fn=n//描述 F1='s'//描述手动查询 F1=?//描述 F1='?'//描述手动查询时,会出现输入对话框,提示输入查询内容:用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段:不需要再选择时间字段,能自动的识别字段的类型,但要正确设定字段内容的字符长度;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表删除选错的字段;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:UserDbSQLObj.ShowWindow "BTNOBJ"24.2 曲线查询组态系统提供了通过曲线查看数据库内容的方法,用“曲线查询”组件实现;假设要查询的数据表的内容为;F1(罐号) F2(液位) dt(时间)1 10 2006-5-5 1:00:002 10 2006-5-5 1:00:001 100 2006-5-5 2:00:002 200 2006-5-5 2:00:001 110 2006-5-5 3:00:002 220 2006-5-5 3:00:00… … …增加组件对象,在设置对话框中添入数据库的有关信息,如下图所示:通过<数据源>按钮弹出对话框,选择ODBC数据源,如fameView userdata Source;通过<记录表>按钮弹出对话框,选择要查询的数据表,如demo;通过<时间字段>按钮弹出对话框,选择进行查询所依据的时间字段,如dt;在<查询对象>处输入查询内容:查询对象的格式如下[F1为字段名称、n为数值、s为字符串]:数值查询 字符串查询预定义查询 F1=n//描述 F1='s'//描述手动查询 F1=?//描述 F1='?'//描述通过<曲线字段>选择字段,作为曲线字段,并修改曲线的范围,输入曲线的描述;画面运行后,执行按钮查询,界面如下:如果不希望执行组件按钮来查询数据,而希望通过其他事件来执行,按照下列步骤来实现:(1)给按钮组件命名:选中组件,点击右键,弹出菜单,选择执行“对象属性”中的“脚本名称”,给对象命名,例如BTNOBJ;(2)隐藏按钮组件:选中组件,点击右键,弹出菜单,选择执行“隐藏对象”,使组件在运行画面显示时不可见:(3)编写脚本,然后被其他事件触发,例如在图标按钮中选择脚本执行,脚本内容如下:SQLCurveObj.ShowWindow "BTNOBJ"24.3 表格显示组态系统提供了在线显示数据库内容的方法,通过“表格显示”组件实现:此组件可以在画面上以列表的方式直接显示某个数据库的内容,还可以与变量相关联;组态对话框如下:通过<对象名称>为组件命名,否则不能进行脚本操作,如“DBLIST”;执行<数据源>按钮,选择数据库对应的数据源;执行<数据表>按钮,选择要显示的数据表,数据表中的字段数量要小于100:如果希望在列表中只显示数据表中的某部分数据,请<过滤条件>处填写缺省SQL语句,否则显示数据库中的所有记录;如果希望列表中的内容根据某字段进行排序,请输入此排序字段的名称,便实现了按此字段的升序排序,在字段的后面加入DESC,便实现了按此字段的降序排序;用鼠标双击字段列表,会出现选择字段对话框,从中选择需要查询后显示的字段;能自动的识别字段的类型,但要正确设定字段内容的字符长度;在查询显示表中,可能不希望直接显示字段的名称,请修改字段描述即可;用“Del”键可以从列表中删除字段;还提供了3组变量:增加变量、读取变量、修改变量;使系统变量(AI/AO/AR/DI/DO/DR/VA/VD /VT)与数据库之间建立联系;画面运行后,数据库列表界面如下:允许编写脚本操作数据库:要把增加变量组追加至数据库,请使用如下脚本:UserDbListObj.AddNewFromVarValue "DBLIST"要从数据库中读取第10个记录至读取变量组,请使用如下脚本:UserDbListObj.SetVarValueFromField "DBLIST",10要通过修改变量组修改数据库中的第10个记录,请使用如下脚本:UserDbListObj.EditFromVarValue "DBLIST",1024.4字段列表组态系统提供了在线选择数据库中某字段内容的方法,通过“字段列表”组件实现:此组件有以下功能:[1]通过下拉列表或选择框的方式供用户进行数据选择;[2]选择框内容可以数据库中的某个字段的内容,也可是手动输入的内容;[3]选择的内容能够与变量关联;组态对话框如下:缺省列表,手动输入多行文本(用回车换行),作为缺省列表内容;关联数据库,通过设定数据源、数据表、使用字段、过滤条件,能够在画面运行时,把数据库某表中的某字段的部分记录添入到选择框中;过滤条件的格式为SQL查询语句,例如:f2>1000、f2="ABC";对应变量,在画面运行后,当使用选择框选择数据时,能够把所选择的内容对应到变量中:[1].索引变量可以是AO/AR/VA变量,对应的是选择框中当前文本的索引号,以0为基数;[2].数值变量可以是AO/AR/VA变量,对应的是把选择框中当前文本转换为浮点数后的数值;[3].文本变量可以是VT变量, 对应的是选择框中的当前文本;选择<自动排序>,则列表中的内容进行排序处理;选择<下拉选择框>,并选择了<自动更新>时,当下拉列表框时,会自动更新列表中的内容;选择<唯一记录>,可以过滤掉列表中重复的内容;不选择<下拉选择框>,组件显示的界面为:选择<下拉选择框>,组件显示的界面为:允许用脚本更新选择框中的内容:更新数据选择框的内容DataboxObj.Update ObjName,OdbcName,TableName,FieldName,FieldType,Filter例:DataboxObj.Update "AAA","myODBC","myTable","myField",3,"f1>1000"得到当前数据选择框的文本内容n=DataboxObj.GetCurText(ObjName)例:n=DataboxObj.GetCurText("AAA")24.5 删除数据库内容某数据库中存储了大量数据,经过一段时间后,想把某个时间之前的数据删除;本节以例子的方式说明如何通过组态系统删除数据库中的某些数据;假设现有数据库,其ODBC数据源的名称为db1,其中有一个数据表名为T1,其中有一个日期时间字段为F1,根据F1来删除数据;增加2个文本变量(VT):VT1、VT2;在画面中各增加一个日期拾取器和时间拾取器,分别把内容保存在VT1和VT2中;再在画面中增加一个按钮,当执行按钮时,执行脚本来删除选择时间以前的数据;画面的界面如下:如果数据库的类型为Access,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= #2002-1-1 0:0:0# "s="Delete * From T1 Where F1<= #" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"#"'执行SQL语句,删除数据SQLObj.SQLExecute s'关闭DB1SQLObj.CloseSQLConnect如果数据库的类型为SQL Server,则脚本内容如下:'打开DB1,允许通过SQL访问SQLObj.OpenSQLConnect "DB1","",""'得到删除日期、时间s1=RunSys.GetVTtext("VT1",-1)s2=RunSys.GetVTtext("VT2",-1)'组成格式文本"Delete * From T1 Where F1<= ‘2002-1-1 0:0:0# ’s="Delete * From T1 Where F1<= '" : s=s+s1 : s=s+" " : s=s+s2 : s=s+"'"'执行SQL语句,删除数据SQLObj.SQLExecute sSQLObj.CloseSQLConnect往记录集中加入记录;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.AddNewUserDB.SetFieldValue "f1",7, "AAA"UserDB.SetFieldValue "f2",1,1000UserDB.UpdateUserDB.CloseRecordsetUserDB.CloseConnect得到数据库中字段的值;UserDB.OpenConnect "My Database","",""UserDB.OpenRecordset "t1",2,2,2UserDB.MoveFirstUserDB.Move(10)Value=UserDB.GetFieldValue "f2",1,1000UserDB.CloseRecordsetUserDB.CloseConnect执行SQL语句:SQLObj.OpenSQLConnect "TestDB","",""SQLObj.SQLExecute "DELETE FROM demo"SQLObj.CloseSQLConnect数据查询UserDB.OpenConnect "FameView UserData Source","",""UserDB.SetFilter "f1>=1000"UserDB.OpenRecordset "demo",2,2,2If UserDB.IsEmpty()=0 ThenretValue=UserDB.GetFieldValue("f2",4)End IfUserDB.CloseRecordsetUserDB.CloseConnect通过脚本编程可以执行数据库服务器端的存储过程;假设存储过程内容如下:CREATE PROCEDURE [test](@f1 [real], @f2 [real], @f3 [datetime], @f4 [real] output) AS INSERT INTO [UserDatabase].[dbo].[demo] ( [f1],[f2],[f3])VALUES ( @f1,@f2,@f3)if @@error=0set @f4=12.11elseset @f4=0.12GO过程调用如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.SetInputParamCount 3StoredProc.SetInputParam 1,"f1",4,1.23StoredProc.SetInputParam 2,"f2",4,2.34StoredProc.SetInputParam 3,"f3",7,"2005-12-11 05:00:00"StoredProc.SetOutputParamCount 1StoredProc.SetOutputParam 1,"f4",4StoredProc.Executem=StoredProc.GetOutputValue(1)RunSys.SetVarValue VA,"%VA1",-1,mStoredProc.CloseConnectEnd If24.8 数据库记录平均统计把某个表中某天的数据求平均,存入另一个表中假设t1和t2有相同的结构,分别有3个字段:字段名称 类型F1 RealF2 RealF3 Datetime针对t1中近30天的数据,把每天的数据求平均,存入t2中,并删除t1中的数据;在SQL Server中编写存储过程test如下:CREATE PROCEDURE [test]asDeclare @n intDeclare @ct datetimeset @n=-30while @n<0beginset @ct=DATEADD(DAY,@n, GETDATE())INSERT INTO t1SELECT AVG(f1) AS f11, AVG(f2) AS F12, @ct AS F13FROM demoWHERE (YEAR(f3) = YEAR(@ct) AND (Month(f3) = MONTH(@ct) AND (Day(f3) = DAY(@ct)set @n=@n+1enddelete from demoGO在组态软件中调用过程的脚本如下:n=StoredProc.OpenConnect("FameView UserData Source","","")If n=1 ThenStoredProc.SetCommandText "test"StoredProc.ExecuteStoredProc.CloseConnectEnd If24.9 把数据库数据导出到把数据库数据导出到Excel Excel Excel中中'允许输入查询的年/月MyYear = InputBox ("请输入查询年份","") MyMonth = InputBox ("请输入查询月份","") MyDay = 1'检查时间是否合法If IsDate (MyMonth & "/" & MyDay & "/" & MyYear) = True Then NOW_DATE = MyYear + "年" + MyMonth + "月" '得到开始时间StartTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00" '得到结束时间 If MyMonth < 12 Then MyMonth = MyMonth + 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00" ElseMyYear = MyYear + 1 MyMonth = 1EndTime = MyMonth & "/" & MyDay & "/" & MyYear & " 00:00:00" End If'打开数据库及数据表demo,dt为时间字段UserDB .OpenConnect "FameView UserData Source","","" UserDB .SetFilter "dt>='"+StartTime+"' And dt<'"+EndTime+"'" UserDB .OpenRecordset "demo",2,2,2 '打开记录集;'检查查询内容是否为空 If UserDB .IsEmpty ()=0 Then '打开Excel文件Set ExcelObj = CreateObject ("Excel.Application") ExcelObj.Visible = TrueExcelFile = "C:\组态系统\ExcelFile\test.xls" ExcelObj.Workbooks.Open ExcelFile ExcelObj.Sheets("Sheet1").Select ExcelObj.Worksheets(1).Select ExcelObj.Cells(1,3) = NOW_DATE '导出记录到Excel中 row=2While UserDB .IsEOF ()=0ExcelObj.Cells(row,1).Value=UserDB .GetFieldValue ("dt",8)ExcelObj.Cells(row,2).Value=UserDB.GetFieldValue("f1",4)ExcelObj.Cells(row,3).Value=UserDB.GetFieldValue("f2",4)row=row+1UserDB.MoveNextWendExcelObj.ActiveWorkbook.SaveAs "C:\组态系统\ExcelFile\"&NOW_DATE&".xls" ExcelObj.QuitSet ExcelObj=NothingEnd If'关闭数据库UserDB.CloseRecordsetUserDB.CloseConnectEnd If数据库24.10 使用ADO访问访问数据库'与数据库(tempdb)建立连接Set conn = CreateObject("ADODB.Connection")strConn="Driver={SQL Server};Server=(local);Database=tempdb;Uid=sa;Pwd=;" conn.Open strConn'打开记录集(t1)Set rs= CreateObject("ADODB.Recordset")strSQL="SELECT * FROM t1"rs.Open strSQL,conn,2,2'添加记录rs.AddNewrs("f1")="222"rs("f2")=222rs.Update'得到记录f1=rs("f1")f2=rs("f2")'关闭连接与记录集rs.Closeconn.CloseSet rs=NothingSet conn=Nothing24.11数据库转发目的和功能:本地计算机(A)和远程计算机(B)同时工作,当A发现B不工作时,A则开始存储数据,或者带标志存储数据;当A发现B恢复工作后,则把存储的数据或带标志的数据补发给B;A补发完成后,把数据进行删除或清除标志;远程计算机(B)的数据库(SQL Server 2000)设置:允许其他计算机访问:设置访问用户ID和口令:设置远程计算机(B),使远程计算机具有启动/工作标志:在本地计算机(A)建立远程计算机工作标志变量:假设远程计算机的IP地址为<192.168.1.208>;增加一个名称为“#IP192.168.1.208”的内部开关变量(VD);远程计算机启动并开始工作后,变量状态为1,否则为0;定制和启动本地计算机的数据库补发功能:定制数据库补发:启动数据库补发任务:使本地计算机的数据库连接,根据远程计算机的状态决定是否存储:使本地计算机的数据库连接,把远程计算机的状态作为标志进行存储:在本地计算机设置数据库补发功能:选择数据库补发功能,执行设置数据补发:出现管理界面:执行<新建>:输入补发名称,执行确定,出现设置界面,组态后的界面如下:选择要使用的转发:24.12查询数据库某表中最近时间段数据查询最近3分钟数据:Select * from demo where dt>DateAdd(MINUTE,-3,GetDate()) 查询最近3小时数据:Select * from demo where dt>DateAdd(HOUR,-3,GetDate()) 查询最近3天数据:Select * from demo where dt>DateAdd(DAY,-3,GetDate())24.13 获得某字段最近某时间段内统计值'[1]得到分钟时间段x=0bValue=RunSys.OpenDatabase(3000)If bValue=1 Thenx=RunSys.GetVarValue(VA,"%VA1",-1)RunSys.CloseDatabaseEnd If'[2]打开数据库Set conn = CreateObject("ADODB.Connection")strConn="Driver={SQL Server};Server=(local);Database=UserDatabase;Uid=;Pwd=;"conn.Open strConnSet rs= CreateObject("ADODB.Recordset")'[3]进行统计查询strSQL="SELECT Avg(f1) as f11 FROM demo where dt>=DateAdd(Minute,-"&CStr(x)&",GetDate())"rs.Open strSQL,conn,2,2If rs.EOF=False Or rs.BOF=False Thenx=rs("f11")End If'[4]关闭数据库rs.Closeconn.CloseSet rs=NothingSet conn=Nothing'[5]取得统计值bValue=RunSys.OpenDatabase(3000)If bValue=1 ThenRunSys.SetVarValue VA,"%VA2",-1,xRunSys.CloseDatabaseEnd If。
盘点市⾯上主流的时序数据库万物互联时代,⼯业物联⽹产⽣的数据量⽐传统的信息化要多数千倍甚⾄数万倍,并且是实时采集、⾼频度、⾼密度,动态数据模型随时可变。
传统数据库在对这些数据进⾏存储、查询、分析等处理操作时捉襟见肘,迫切需要⼀种专门针对时序数据来做优化的数据库系统,即时间序列数据库。
时间序列数据库(Time Series Database)是⽤于存储和管理时间序列数据的专业化数据库,具备写多读少、冷热分明、⾼并发写⼊、⽆事务要求、海量数据持续写⼊等特点,可以基于时间区间聚合分析和⾼效检索,⼴泛应⽤在物联⽹、经济⾦融、环境监控、⼯业制造、农业⽣产、硬件和软件系统监控等场景。
▲DB-Engines最新发布的时序数据库排名表根据国际知名⽹站DB-Engines数据,时序数据库在过去24个⽉内排名⾼居榜⾸,且远⾼于其他类型的数据库,可见业内对时序数据库的需求迫切。
相应的时序数据库产品近年来也快速发展,各⼤互联⽹企业包括⾕歌、阿⾥巴巴、亚马逊都推出⾃⼰的时序数据库,业界使⽤较多的时序数据库主要有如下⼏种:1、InfluxDBInfluxDB是⼀款⽤Go语⾔编写的开源分布式时序、事件和指标数据库,⽆需外部依赖。
该数据库现在主要⽤于存储涉及⼤量的时间戳数据,如DevOps监控数据,APP metrics,loT传感器数据和实时分析数据。
作为⽬前开源排名最⾼的时序数据库,InfluxDB⽀持数据存储策略(RP)和数据归档(CQ),能够实时查询,数据在写⼊时被索引后就能够被⽴即查出,内置HTTP接⼝,安装管理很简单,并且读写数据⾮常⾼效。
2、Kdb+kdb+/q被官⽅称为世界上最快的时间序列数据库,它使⽤统⼀的数据库处理实时数据和历史数据,同时具备CEP(复杂事件处理)引擎、内存数据库、磁盘数据库等功能。
列式存储的特性,使得对于某个列的统计分析操作异常⽅便。
与⼀般数据库或⼤数据平台相⽐,kdb+/q具有更快的速度和更低的总拥有成本,⾮常适合海量数据处理,主要被⽤于海量数据分析、⾼频交易、⼈⼯智能、物联⽹等领域。
力控科技企业级实时历史数据库pSpace V6.0对于现代工业企业,如何能使决策者随时查看生产过程数据,以便快速地做出更为灵活的商业决策,是企业信息化建设的关键,企业生产调度管理系统的核心是实时历史数据库,实时历史数据库可用于工厂过程的自动采集、存储和监视,可在线存储每个工艺过程点的多年数据,它提供了清晰、精确的操作情况画面,可以提供批次管理、设备运行管理、工艺曲线、事故诊断等多种调度管理模块,可以说,实时历史数据库对于流程工厂来说就如同飞机上的“黑匣子”,是数字化工厂的关键!力控企业级实时历史数据库pSpace V6.0是一个高性能、高速度、高吞吐能力、可靠性强、跨网络系统的开放式实时数据库系统,产品为完全的分布式结构,可任意组建应用模式;支持C/S和B/S应用;它可以提供丰富的企业级信息系统客户端应用和工具;大容量支持企业级应用,内部实现高数据压缩率,可实现历史数据的海量存储,灵活的扩展结构可满足各种需求,具备广泛的安全性和可跟踪性。
力控pSpace V6.0以优越的性能、先进的架构、开放的接口、及时的服务让企业轻松自如地存储、管理及应用生产过程数据,是您构建企业管控一体化系统、生产调度指挥系统、MES系统、ERP系统等应用系统的基石,它具备以下特点:●强大的I/O能力:写入30万点/秒;读取25万点/秒。
●丰富的设备采集接口:支持主流DCS、PLC、DDC、现场总线、智能仪表等近1000多家设备采集接口,每月增加30个设备采集接口。
●跨平台,多平台支持能力:Windows、Unix、Linux任您选择。
●先进高效的二次压缩技术:一次逻辑压缩,二次物理压缩,数据压缩率高达40:1。
●多级冗余机制:支持多服务器、双接口机、双网、双通道等多种冗余技术。
●开放而丰富的应用接口:DBI API、COM SDK、OLE DB Provider、DAI SDK、OPC、ODBC、REAL-SQL,为您提供灵活可选的二次开发功能。
FAME 数据库备份指南
1. 准备:在某盘符下创建一个文件夹,如d:\data ,以备存储数据使用。
图 1.1
图1.2
2. 备份:以下操作均按图示执行,非特别指明,均是双击该图标。
图2.1
图2.3
图2.6
图2.7
在directory 内输入准备时所做的文件夹及其路径,点击apply ,点击ok
3.注册:有时候软件需要您注册,Username:VDB
Passtword:VENUS
4.退出:备份完成后,点击cancel,然后是一路后退,见了yes不点No即可。
5.查实:双击图2.2中的Recovery Job 查看是否成功备份。
6.数据恢复:类同备份过程,在图2.6中选择Back Up……即可,类似在图2.7中的步骤,
注意:在年月日栏内输入“自动生成的文件夹的数字(此文件夹名称自动按备份时的日期和时间生成)”,时间栏输入“文件夹中的文件名称(数字式)”,注意提示格式。
谢谢,澳斯邦工程师王金德
2005-06-21。
historian数据库概念-回复什么是historian数据库概念?Historian数据库是一种专门用于存储和管理历史数据的数据库。
历史数据通常是指过去某个时间段内发生的事件、过程或状态的记录。
在许多行业中,历史数据对于分析和预测具有重要意义。
historian数据库提供了一种有效的方式来存储、查询和分析历史数据,帮助用户更好地了解过去的情况,以便做出更明智的决策。
historian数据库的特点1. 高性能存储:historian数据库使用高效的存储引擎,可以快速写入和读取大量的历史数据。
它可以处理高速数据流,并能够在短时间内保存大量数据。
2. 数据压缩和归档:历史数据通常占用大量的存储空间,因此,historian数据库采用数据压缩和归档技术来减小数据的存储空间。
这样可以节省存储成本,并提高数据访问的效率。
3. 时间序列数据:historian数据库通过时间戳来标记每个数据,以便按时间进行查询和分析。
这对于回溯过去的数据和进行趋势分析非常重要。
4. 数据聚合和挖掘:historian数据库提供了各种聚合和挖掘历史数据的功能,比如统计、计算、分析和预测。
这些功能可以帮助用户更好地理解历史数据,并从中发现有用的信息。
5. 数据保护和复原:historian数据库具有数据保护和复原的特性,以确保数据的完整性和可用性。
它可以防止数据的意外删除或损坏,并提供备份和恢复功能。
historian数据库的应用领域1. 工业自动化:historian数据库广泛应用于工业自动化领域,用于记录生产过程中的各种参数和指标。
通过分析这些历史数据,可以改进生产效率和质量,并提高故障诊断能力。
2. 能源管理:historian数据库可用于监测和优化能源使用情况。
通过对历史数据的分析,可以发现能源浪费的问题,并采取相应的措施来减少能源消耗。
3. 交通监控:通过记录交通流量、车辆速度和道路状况等历史数据,可以为交通监控和规划提供重要参考。
数据库监控与性能分析工具推荐随着数据库在企业中的广泛应用,数据库监控与性能分析变得越来越重要。
通过监控数据库的运行状态和性能指标,及时发现问题并采取相应的措施,可以提高数据库的稳定性和性能,确保业务的正常运行。
本文将介绍一些常用的数据库监控与性能分析工具,供读者参考。
一、Oracle Enterprise Manager(OEM)Oracle Enterprise Manager是一套强大的数据库监控与管理工具,被广泛应用于Oracle数据库环境中。
它提供了丰富的监控指标和图表展示,可以全面监控数据库的各项指标,如CPU利用率、内存利用率、磁盘I/O等。
此外,OEM还提供了性能分析功能,可以对SQL语句进行调优,并生成性能报告。
OEM具有易于使用和配置的特点,适合中小型企业使用。
二、MySQL Enterprise Monitor(MEM)MySQL Enterprise Monitor是由MySQL官方提供的一款数据库监控工具。
它可以实时监控MySQL数据库的状态和性能指标,包括CPU利用率、缓冲区命中率、查询响应时间等。
MEM还具备预警功能,当数据库出现异常或超过设定的阈值时,会发送邮件或短信通知管理员。
此外,MEM还提供了性能分析工具,可以帮助用户优化SQL查询和调整数据库配置。
三、Microsoft SQL Server Management Studio(SSMS)Microsoft SQL Server Management Studio是微软官方提供的一款数据库管理工具,也可以用于监控和分析SQL Server数据库的性能。
SSMS可以实时监控数据库的各项指标,如查询次数、I/O操作、死锁情况等。
此外,SSMS还提供了数据库查询性能分析器,可以对SQL 查询语句进行分析和优化,并进行索引设计和优化。
四、pgAdminpgAdmin是一款免费的开源数据库管理工具,主要用于管理和监控PostgreSQL数据库。
实时数据库软件技术要求:1、操作系统运行在Windows 操作系统上的服务器和客户机;服务器支持作为windows 2003 server、windows 2008 server服务运行;服务器是面向对象的和多线程的,并为数据收集和存储提供较高优先级,为客户机查询提供较低优先级。
2、数据库存储子系统支持每秒30000次更新的连续数据获取速度;存储子系统支持持续1秒的60000更新/秒突发速率;存储子系统能把实时数据作为高优先级任务并以不间断的方式处理;存储系统能够存储原始数据和校正后的数据;对数据库的所有变更都是可跟踪的;实时历史数据库中全面支持人工数据。
不允许采用外部表形式;通过“手工”方式(例如"更新/插入"命令、CSV 文件导入、存储与转发等等)接收的人工数据应作为较低优先级的任务处理;能够无损压缩原始数据(即不能使用内插法、阶梯/坡度法、以及数据中值法);能够根据不同的标记采用不同的存储方法(随机或定期)和不同的存储率以随机(带有时间和值的死区)或定期方式储存数据;支持触发器、存储的过程等等;系统能够记录5ms分辨率水平的点;从I/O服务器获得的数据支持VTQ、值、时间标记、以及质量信息;从I/O服务器获得的数据与从I/O服务器获得的VTQ 信息一起存储。
3、归档能够自动地存档实时时间序列数据;能够以100%的分辨率访问当前的和存档的数据;支持使用最低监视设置存档。
4、数据库模式数据库为基于行业标准数据库的开放关系数据库,以便为第三方软件提供支持;数据库支持为用户添加/编辑/删除定制表格的能力;把数据库模式公开。
5、配置数据库的配置简单,采用点击Windows GUI的形式。
6、与其它数据库系统的集成数据库支持与其它的数据库系统方便地集成,包括Microsoft SQL Server和Oracle;数据库支持与SAP R/3的接口。
7、数据检索数据库支持检索随机存储定期存储的数据的能力,不管数据是随即存储的还是定期存储的;数据库支持控制检索的数据的分辨率的能力,可以是行数,也可以是分辨率(例如,每300 毫秒一次);数据库支持检测边界的能力(上边界和下边界);支持从任意数量的I/O服务器获取数据,其中每个I/O服务器可以带有任意数量的主题。