导航:首页 > 人文历史 > 历史数据库如何存储文件

历史数据库如何存储文件

发布时间:2022-04-28 06:56:39

Ⅰ 怎么讲历史记录保存到数据库。啊。。

保存就是向数据库写入数据啊,就是调用insert语句啊,具体架构你自己设计

Ⅱ 力控历史数据存在哪里

文件数据库使用Fabric原生存储方式,交易历史数据保存在区块链中,状态数据保存在LevelDB中。

数据归档功能在力控eForceCon的数据库组态中中每个数据库点都包括历史参数项如下图所示参数保存后运行时这些组态了历史参数的点就会按照设置的历史保存方式进行保存。力控支持的保存方式有变化保存、定时保存和压缩保存,对每种保存方式可以再增加保存条件。

概述

系统主要用于运行设备的监视和控制,采集于现场设备的监k测数据需要对数据进行保存,以便于实现系统的过程监视、故障检测与诊断等功能。随着SCAD系统的不断发展,对于系统的数据保存提出了更高的要求,本篇软文将结合SCADA系统的功能要求着重介绍力控SC平台软件的数据存储机功能及存储机制。

Ⅲ 数据中心用来存储什么数据历史数据数据如何处理

数据中心存什么数据要看是什么数据中心,比如银行系统的数据中心存的是用户资料和帐务信息,软件下载站点的数据中心存的是各种软件资料。不同的数据中心根据自身的特点一般都有自己的一套管理流程,如备份规则,备份层次,恢复措施,紧急应急措施等。历史数据如何处理要由数据类型和数据量以及数据的使用频度来决定。对于存档性质的大量数据(Tera或Pera级),多采用大容量低速硬盘或磁带进行备份;而小容量数据一般直接存到数据备份服务器中就可了;对于非重要数据,可采用推进式备份,既可保证一定的备份量又能降低空间开销。对于你所说的企业供应链系统的数据中心一般指的是中心机房,里面安设服务器,生产部门和各个营销点使用相应的终端软件通过网络连接到该服务器,执行各种操作,如定单,发货,售出产品。一般系统所采用的管理软件都带有资料备份功能,使用其提供的功能做好备份工作即可。这类数据对存储容量的要求并不高,使用一般的数据备份设备即可(对于一般的中小型企业而言)。对于其中存储的数据类型,一般采用关系型数据库保存信息,存储产品信息,库存信息,客户资料,经销商信息等内容。

Ⅳ 做网站如何保存历史数据

一般php网站数据都是从数据库后台读取在前台显示的,,所以直接挂钩的的是你的数据存进数据库没有,,,数据库有数据,除非操作因素之类的意外发生之外,数据是不会丢失的,你也可以用insert指令啊,并非update唯一,,

Ⅳ 如何大量地导出360浏览器的历史记录,保存成txt/csv之类的文件或者导入数据库

浏览器历史记录导出方法:

方法一:

1、下载并安装BrowsingHistoryView(不到500k)。

2、下载后点击文件安装软件即可。

既可以用excel搜索功能搜索关键字,复制网址打开网站;也可以分析自己经常浏览哪些网站。

方法二
C:DocumentsandSettings用户名LocalSettingsHistory这里放的你上网的历史,复制到其他路径即可。

Ⅵ 数据库应用系统中的数据是以什么形式存在的

数据库在计算机中是以文件的形式存在的。(确定)

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。

Ⅶ 组态王历史数据保存

组态王的历史数据库是压缩加密的,数据文件已.std为扩展名,是不能修改的。你所说的使用excel打开的文件是使用reportsaveas()函数另存的csv格式文件,这个文件是可以修改的,但是原来的数据是无法修改的。

组态王开发监控系统软件,是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。
组态王kingview6.55是亚控科技根据当前的自动化技术的发展趋势,面向低端自动化市场及应用,以实现企业一体化为目标开发的一套产品。该产品以搭建战略性工业应用服务平台为目标,集成了对亚控科技自主研发的工业实时数据库(KingHistorian)的支持,可以为企业提供一个对整个生产流程进行数据汇总、分析及管理的有效平台,使企业能够及时有效地获取信息,及时地做出反应,以获得最优化的结果。
组态王保持了其早期版本功能强大、运行稳定且使用方便的特点,并根据国内众多用户的反馈及意见,对一些功能进行了完善和扩充。组态王kingview6.55提供了丰富的、简捷易用的配置界面,提供了大量的图形元素和图库精灵,同时也为用户创建图库精灵提供了简单易用的接口;该款产品的历史曲线、报表及web发布功能进行了大幅提升与改进,软件的功能性和可用性有了很大的提高。
组态王在保留了原报表所有功能的基础上新增了报表向导功能,能够以组态王的历史库或KingHistorian为数据源,快速建立所需的班报表、日报表、周报表、月报表、季报表和年报表。此外,还可以实现值的行列统计功能。
组态王在web发布方面取得新的突破,全新版的Web发布可以实现画面发布,数据发布和OCX控件发布,同时保留了组态王Web的所有功能:IE浏览客户端可以获得与组态王运行系统相同的监控画面,IE客户端与Web服务器保持高效的数据同步,通过网络您可以在任何地方获得与Web服务器上相同的画面和数据显示、报表显示、报警显示等,同时可以方便快捷的向工业现场发布控制命令,实现实时控制的功能。
组态王集成了对KingHistorian的支持,且支持数据同时存储到组态王历史库和工业库,极大地提高了组态王的数据存储能力,能够更好地满足大点数用户对存储容量和存储速度的要求。KingHistorian是亚控新近推出的独立开发的工业数据库。具有单个服务器支持高达100万点、256个并发客户同时存储和检索数据、每秒检索单个变量超过20,000 条记录的强大功能。能够更好地满足高端客户对存储速度和存储容量的要求,完全满足了客户实时查看和检索历史运行数据的要求。

Ⅷ 数据库存储过程有哪些,面试题

/*
系统存储过程很多,有些常用,有些不常用
常用:
sp_attach_db附加数据库到一个服务器中
sp_columns返回在当前环境中列的信息
sp_databases列出当前系统中的数据库
sp_configure显示或修改当前服务器的全局配置
sp_depends显示数据库对象的依赖信息
sp_executesql执行动态的T-SQL语句
sp_help报告有关数据库对象的信息
sp_helpdb返回指定数据库或全部数据库的信息
sp_helptext显示规则、默认值、存储过程、触发器、视图等的未加密的文本定义信息
sp_indexes返回指定远程表的索引信息
sp_lock返回有关锁的信息
sp_password增加或者修改指定login的口令
sp_rename更改用户创建的数据库对象名称
sp_renamedb更改数据库名称
sp_spaceused显示数据库的空间使用情况
sp_tables返回在当前环境中可以被查询的对象的列表
sp_who提供当前用户和进程的信息
不常用:
sp_addlinkedserver创建一个允许执行分布式查询的链接服务器
sp_addlinkedsrvlogin在本地服务器和远程服务器之间创建login帐户的映射关系
sp_addlogin创建一个新的login帐户
sp_add_agent_parameter在代理文件中增加一个参数
sp_add_agent_profile为复制代理增加一个代理文件
sp_add_alert创建一个警报
sp_add_category在服务器上,增加一种作业、警报或者操作员的特定分类
sp_add_data_file_recover_suspect_db当数据库复原不能完成时,向文件组增加一个数据文件
sp_add_file_recover_suspect_db对于复原有问题的数据库增加一个文件
sp_add_job增加一个sqlserveragent可以执行的作业
sp_add_jobschele为作业创建调度
sp_add_jobserver把指定的作业增加到指定服务器上
sp_add_jobstep在作业中增加一步或一个操作
sp_add_log_file_recover_suspect_db当数据库复原不能完成时,向文件组增加一个日志文件
sp_add_notification为警报创建一个通知
sp_add_operator为警报或者作业创建一个操作员
sp_add_targetservergroup增加指定的服务器组
sp_add_targetsvrgrp_member在指定的目标服务器组增加一个目标服务器
sp_addalias在数据库中为login帐户增加一个别名
sp_addapprole在数据库中增加一个特殊的应用程序角色
sp_addarticle创建文章,并把该文章添加到出版物中
sp_adddistpublisher创建一个使用本地分布服务器的出版服务器
sp_adddistributiondb在分布服务器上创建一个新的distribution数据库
sp_adddistributor增加一个分布服务器
sp_addextendedproc在系统中增加一个扩展存储过程
sp_addgroup在当前数据库中增加一个组
sp_addmergearticle为一个已有的合并出版物创建一个文章
sp_addmergefilter为了连接另外一个表,创建一个合并过滤器
sp_addmergepublication创建一个新的合并出版物
sp_addmergepullsubscription增加一个拉回类型的订阅物
sp_addmergepullsubscription_agent在订阅服务器上,为合并拉回订阅物创建一个代理
sp_addmergesubscription创建一个推出或者拉回类型的订阅物
sp_addmessage在系统中增加一个新的错误消息
sp_addpublicaton创建一个快照复制或者事务复制出版物
sp_addpublicaton_snapshot创建一个快照代理
sp_addpullsusscription在当前订阅服务器的数据库中增加一个拉回或者匿名订阅物
sp_addpullsusscription_agent在订阅服务器的数据库中增加一个新的代理
sp_addremotelogin在本地服务器上增加一个远程login帐户,允许执行远程存储过程调用
sp_addrole在当前数据库中增加一个角色
sp_addrolemember为当前数据库中的一个角色增加一个安全性帐户
sp_addserver添加一个远程或者本地服务器
sp_addsrvrolemember为固定的服务器角色增加一个成员
sp_addsubscriber增加一个新的订阅服务器
sp_addsubscriber_schele为分布代理和合并代理增加一个调度
sp_addsubscription订阅文章并且设置订阅服务器的状态
sp_addsynctrigers在订阅服务器上创建一个立即修改触发器
sp_addtabletocontents在合并跟踪表中插入一个参考
sp_addtype创建一个用户定义的数据类型
sp_admpdevice增加一个备份设备
sp_adser在当前数据库中为一个新用户增加一个安全性帐户
sp_altermessage修改错误信息的状态
sp_addly_job_to_targets把作业应用到一个或者多个目标服务器
sp_approlepassword在当前数据库中改变应用程序角色的口令
sp_aarticle_validation为指定的文章初始化确认请求
sp_aarticlecolumn指定在文章中使用的列
sp_aarticlefilter创建一个用于水平过滤数据的过滤器
sp_articleview当表被过滤时,为文章创建一个同步化对象
sp_attach_single_file_db在当前服务器中,附加一个只有一个数据文件的数据库
sp_aautostats对于一个指定的索引或统计,自动显示updatestatistics的状态
sp_bindefault把默认值绑定到列或用户定义的数据类型上
sp_bindrule把规则绑定到列或用户定义的数据类型上
sp_bindsession绑定或解除绑定与实例中的其它事务的连接
sp_browsereplcmds在分布数据库中返回一种可读格式的结果集
sp_catalogs返回指定连接服务器中的系统目录列表,在本地服务器中等价于数据库列表
sp_certify_removable确认在可移动介质上用于分布的数据库是否正确配置
sp_change_agent_parameter修改复制代理配置使用的参数
sp_change_agent_profile修改复制代理配置使用的配置参数
sp_change_users_login修改login与当前数据库中用户之间的关系
sp_changearticle改变文章的属性
sp_changedbowner改变当前数据库的所有者
sp_changedistpublisher改变分布出版服务器的属性
sp_changedistributor_password改变分布服务器的口令
sp_changedistributor_property改变分布服务器的属性
sp_changedistribtutiondb改变分布数据库的属性
sp_changegroup改变安全性帐户所属的角色
sp_changemergearticle改变合并文章的属性
sp_changemergefilter改变一些合并过滤器的属性
sp_changemergepublication改变合并出版物的属性
sp_changemergepullsubscription改变合并拉回出版物的属性
sp_changemergesubscription改变合并的推出或者拉回出版物的属性
sp_changeobjectowner改变对象的所有者
sp_changepublication改变出版物的属性
sp_changesubscriber改变用于订阅服务器的选项
sp_changesubscriber_schele改变用于分布式代理和事务代理的订阅服务器的调度
sp_changesubstatus改变订阅服务器的状态
sp_column_privileges返回列的权限信息
sp_column_privileges_ex返回在链接服务器上指定表的列的权限信息
sp_columns_ex返回在链接服务器上列的信息
sp_create_removable创建一个可移动介质数据库
sp_createstats创建单列的统计信息
sp_cursor用于请求定位更新
sp_cursor_list报告当前打开的服务器游标属性
sp_cursorclose关闭和释放游标
sp_cursorfetch从游标中取出数据行
sp_cursoropen定义与游标和游标选项相关联的SQL语句,然后填充游标
sp_cursoroption用于设置各种游标选项
sp_cycle_errorlog关闭错误日志文件重新开始错误记录
sp_datatype_info返回当前环境支持的数据类型信息
sp_dbfixedrolepermission显示每一个固定数据库角色的许可
sp_dboption显示或修改数据库选项
sp_dbremove删除数据库和与该数据库相关的所有文件
sp_defaultdb设置登录帐户的默认数据库
sp_defaultlanguage设置登录帐户的默认语言
sp_delete_alert删除警报
sp_delete_backuphistory删除备份和恢复的历史信息
sp_delete_category删除指定类型的作业、警报和操作员
sp_delete_job删除一个作业
sp_delete_jobschele删除作业的调度
sp_delete_jobserver删除指定的目标服务器
sp_delete_jobstep从作业中删除指定的作业步骤
sp_delete_notfication删除发送给某个操作员的所有通知
sp_delete_operator删除操作员
sp_delete_targetserver从可以使用的目标服务器列表中删除指定的服务器
sp_delete_targetservergroup删除指定的目标服务器组
sp_delete_targetsvrgrp_member从目标服务器组中删除一个目标服务器
sp_deletemergeconflictrow删除冲突表中的记录行
sp_denylogin防止window用户或群组连接到sqlserver
sp_describe_cursor报告服务器游标的属性
sp_describe_cursor_columns报告在服务器游标的结果集中列的属性
sp_describe_cursor_tables报告服务器游标参考的基表信息
sp_detach_db分享服务器中的数据库
sp_drop_agentparameger删除配置文件中的一个或者多个参数
sp_drop_profile删除配置文件
sp_dropalias删除一个帐户的别名
sp_dropapprole删除当前数据库中的应用程序角色
sp_droparticle从出版物中删除一篇文章
sp_dropdevice删除数据库或者备份设备
sp_dropdistpublisher删除出版服务器
sp_dropdistributiondb删除分布数据库
sp_dropdistributor删除分布服务器
sp_dropdropextendedproc删除一个扩展存储过程
sp_dropgroup从当前数据库中删除角色
sp_droplinkedsrvlogin删除一个本地服务器和连接服务器的映射帐户
sp_droplogin删除一个登录帐户
sp_dropmergearticle从合并出版物中删除一篇文章
sp_dropmergefilter删除一个合并过滤器
sp_dropmergepublication删除一个合并出版物和与其相关的快照复制
sp_dropmergepullsubscription删除一个合并拉回订购物
sp_dropmergesubscription删除一个订阅物
sp_dropmessage删除一个消息
sp_droppublication删除出版物和与其相关的文章
sp_droppullsubscription删除当前订阅服务器数据库中的订阅物
sp_dropremotelogin删除一个远程登录帐户
sp_droprole从当前数据库中删除一个角色
sp_droprolemember从当前数据库中的一个角色中删除一个安全性帐户
sp_dropserver删除一个远程或者连接服务器列表中的服务器
sp_dropsrvrolemember从一个固定的服务器角色中删除一个帐户
sp_dropsubscriber删除一个订阅服务器
sp_dropsubscription删除订阅物
sp_droptype删除一种用户定义的数据类型
sp_dropuser从当前数据库中删除一个用户
sp_dropdropwebtask删除以前版本定义的web任务
sp_dsninfo从一个与当前服务器相关的分布服务器返回ODBC和OLEDB数据源的信息
sp_mpparamcmd返回存储在分布数据库中的参数化命令的详细信息
sp_enumcodepages返回一个字符集和代码页的列表
sp_enumcustomresovers返回所有可用的定制解决方案表表
sp_enumdsn返回所有可用的odbc和oledb数据源列表
sp_enumfullsubscribers返回订阅服务器的列表
sp_expired_subscription_cleanup周期性地检查订阅物的状态是否失效
sp_fkeys返回当前环境的外键信息
sp_foreignkeys返回参照连接服务器的表的主键的外键
sp_fulltext_catalog创建和删除全文本目录
sp_fulltext_column指定某一个列是否参加全文本索引
sp_fulltext_database从当前数据库中初始化全文本索引
sp_fulltext_service改变MicrosoftSearchService属性
sp_fulltext_table标记用于全文本索引的表
sp_generatefilters在外键表上创建一个过滤器
sp_get_distributor确定一个分布服务器是否安装在某个服务器上
sp_getbindtoken创建一个绑定的连接文本
sp_getmergedeletype返回合并删除的类型
sp_grant_publication_access在出版物的访问列表中增加一个用户
sp_grantdbaccess在当前数据库中增加一个安全性帐户
sp_grantlogin允许Windows用户或群组连接到SQLServer
sp_help_agent_default检索作为参数传送的代理类型的默认配置的标识号
sp_help_agent_parameter返回代理配置的所有参数
sp_help_agent_profile返回指定代理的配置
sp_help_alert报告有关警报的信息
sp_help_category提供有关作业、警报、操作员的指定种类的信息
sp_help_downloadlist列出有关作业的信息
sp_help_fulltext_catalogs返回有关全文本索引表的信息
sp_help_fulltext_columns返回标记全文本索引的列信息
sp_help_fulltext_columns_cursor使用游标检索标记为全文本的索引列
sp_help_fulltext_tables返回标记为全文本索引的表
sp_help_fulltext_tables_cursor使用游标返回标记为全文本索引的表
sp_help_job返回有关作业的信息
sp_help_jobhistory提供有关作业的历史信息
sp_help_jobschele返回作业的调度信息
sp_help_jobserver返回给定作业的服务器信息
sp_help_jobstep返回作业的步骤信息
sp_help_operator返回有关操作员的信息
sp_help_publication_access返回可以访问指定出版物的帐户列表
sp_help_targetserver列出全部目标服务器
sp_help_targetservergroup列出指定服务器组中的全部目标服务器
sp_helparticle显示有关文章的信息
sp_helpconstraint返回有关约束的类型、名称等信息
sp_helpdbfixedrole返回固定的服务器角色的列表
sp_helpdevice返回有关数据库文件的信息
sp_helpdistpublisher返回充当分布服务器的出版服务器的属性
sp_helpdistributiondb返回分布数据库的属性信息
sp_helpdistributor列出分布服务器、分布数据库、工作目录等信息
sp_helpextendproc显示当前定义的扩展存储过程信息
sp_helpfile返回与当前数据库相关的物理文件信息
sp_helpfilegroup返回与当前数据库相关的文件组信息
sp_helpgroup返回当前数据库中的角色信息
sp_helpindex返回有关表的索引信息
sp_helplanguage返回有关语言的信息
sp_helplinkedsrvlogin返回链接服务器中映射的帐户信息
sp_helplogins返回有关login和与其相关的数据库用户信息
sp_helpmergearticle返回有关合并文章的信息
sp_helpmergearticleconflicts返回有关冲突的出版物中的文章信息
sp_helpmergeconflictrows返回在指定冲突表中的行
sp_helpmergefilter返回有关合并过滤器的信息
sp_helpmergepublication返回有关合并出版物的信息
sp_helpmergepullsubscription返回有关拉回订阅物的信息
sp_helpmergesubscription返回有关推出订阅物的信息
sp_help_notification报告对于给定操作员的警报信息
sp_helppublication返回有关出版物的信息
sp_helprole返回当前数据库中的角色信息
sp_helprolemember返回当前数据库中角色成员的信息
sp_helprotect返回有关用户许可的信息
sp_helpserver显示特定远程或者复制服务器的信息
sp_helpsort显示系统的排列顺序和字符集的信息
sp_helpsrvrole显示系统中的固定服务器角色列表
sp_helpsrvrolemember显示系统中的固定服务器角色成员的信息
sp_helpsubscrberinfo显示有关订阅服务器的信息
sp_helpsubscription显示有特定出版物等有关的订阅物信息
sp_helpsubscription_properties检索安全性信息
sp_helptrigger显示触发器的类型
sp_helpuser显示当前数据库中的用户、WindowsNT用户和组、角色等信息
sp_indexoption为用户定义的索引设置选项
sp_link_publication设置立即修改订阅服务器的同步化触发器使用的配置和安全性信息
sp_linkedservers返回在本地服务器上定义的链接服务器的列表
sp_makewebtask创建一个执行html文档的任务
sp_manage_jobs_by_login删除或者重新指定属于login的作业
sp_mergemmyupdate制作用于合并复制的修改备份
sp_mergesubscription_cleanup删除元数据
sp_monitor显示系统的统计信息
sp_msx_defect从多个服务器操作中删除当前服务器
sp_msx_enlist增加当前服务器到可用的目标服务器列表中
sp_pkeys返回某个表的主键信息
sp_post_msx_operation插入一些目标服务器可以执行的信息
sp_primarykeys返回主键列的信息
sp_processmail使用扩展存储过程修改邮件信息
sp_procoption设置或者显示过程选项
sp_publication_validation初始化文章校验请求
sp_purge_jobhistory删除作业的历史记录
sp_recompile使存储过程和触发器在下一次运行时重新编译
sp_refreshsubscriptions在拉回出版物中增加订阅物到文章中
sp_refreshview刷新指定视图的元数据
sp_reinitmergepullsubscription标记一个合并拉回订阅
sp_reiniteergesubscription标记一个合并订阅
sp_reinitpullsubscription标记一个事务订阅或者匿名订阅
sp_reinitsubscription重新初始化订阅
sp_remoteoption显示或者修改远程登录帐户的选项
sp_remove_job_from_targets从给定的目标服务器中删除指定的作业
sp_removedbreplication从数据库中删除所有的复制对象
sp_replcounters返回复制的统计信息
sp_repldone修改服务器做的分布事务的统计信息
sp_replflush处理文章的高速缓冲存储区
sp_replication_agent_checkup检查每一个分布数据库
sp_replicationdboption在当前数据库中设置复制数据库的选项
sp_replsetoriginator用于在事务复制中检测循环登录
sp_replshowcmds返回标记复制的事务命令
sp_repltrans返回在出版数据库事务日志中的所有事务的结果集
sp_resetstatus重新设置异常数据库的形态
sp_resync_targetserver重新同步所有的多服务器作业
sp_revoke_publication_access从出版数据库的访问列表中删除login帐户
sp_revokedbaccess从当前数据库中删除安全性帐户
sp_revokelogin删除系统的login帐户
sp_script_synctran_commands生成一个可以用于立即修改订阅物的脚本
*/

Ⅸ 如何实现大数据量数据库的历史数据归档

使用工具pt-archiver
原理解析
作为MySQL DBA,可以说应该没有不知道pt-archiver了,作为pt-toolkit套件中的重要成员,往往能够轻松帮助DBA解决数据归档的问题。例如线上一个流水表,业务仅仅只需要存放最近3个月的流水数据,三个月前的数据做归档即可,那么pt-archiver就可以轻松帮你完成这件事情,甚至你可以配置成自动任务,无需人工干预。

作为DBA,我们应该知其然更应该知其所以然,这样我们也能够放心地使用pt工具。相信很多DBA都研究过pt-online-schema-change的原理,那么今天我们深入刨一刨pt-archiver的工作原理。
一、原理观察
土人有土办法,我们直接开启general log来观察pt-archiver是如何完成归档的。
命令
pt-archiver --source h=127.0.0.1,u=xucl,p=xuclxucl,P=3306,D=xucl,t=t1 --dest h=127.0.0.1,P=3306,u=xucl,p=xuclxucl,D=xucl_archive,t=t1 --progress 5000 \
--statistics --charset=utf8mb4 --limit=10000 --txn-size 1000 --sleep 30
常用选项
--analyze
指定工具完成数据归档后对表执行'ANALYZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目标端表,也可以单独指定。
--ask-pass
命令行提示密码输入,保护密码安全,前提需安装模块perl-TermReadKey。
--buffer
指定缓冲区数据刷新到选项'--file'指定的文件并且在提交时刷新。
只有当事务提交时禁用自动刷新到'--file'指定的文件和刷新文件到磁盘,这意味着文件是被操作系统块进行刷新,因此在事务进行提交之前有一些数据隐式刷新到磁盘。默认是每一行操作后进行文件刷新到磁盘。
--bulk-delete
指定单个语句删除chunk的方式来批量删除行,会隐式执行选项'--commit-each'。
使用单个DELETE语句删除每个chunk对应的表行,通常的做法是通过主键进行逐行的删除,批量删除在速度上会有很大的提升,但如果有复杂的'WHERE'条件就可能会更慢。
--[no]bulk-delete-limit
默认值:yes
指定添加选项'--bulk-delete'和'--limit'到进行归档的语句中。
--bulk-insert
使用LOAD DATA LOCAL INFILE的方法,通过批量插入chunk的方式来插入行(隐式指定选项'--bulk-delete'和'--commit-each')
而不是通过逐行单独插入的方式进行,它比单行执行INSERT语句插入的速度要快。通过隐式创建临时表来存储需要批量插入的行(chunk),而不是直接进行批量插入操作,当临时表中完成每个chunk之后再进行统一数据加载。为了保证数据的安全性,该选项会强制使用选项'--bulk-delete',这样能够有效保证删除是在插入完全成功之后进行的。
--channel
指定当主从复制环境是多源复制时需要进行归档哪个主库的数据,适用于多源复制中多个主库对应一个从库的情形。
--charset,-A
指定连接字符集。
--[no]check-charset
默认值:yes
指定检查确保数据库连接时字符集和表字符集相同。
--[no]check-columns
默认值:yes
指定检查确保选项'--source'指定的源端表和'--dest'指定的目标表具有相同的字段。
不检查字段在表的排序和字段类型,只检查字段是否在源端表和目标表当中都存在,如果有不相同的字段差异,则工具报错退出。如果需要禁用该检查,则指定'--no-check-columns'。
--check-slave-lag
指定主从复制延迟大于选项'--max-lag'指定的值之后暂停归档操作。默认情况下,工具会检查所有的从库,但该选项只作用于指定的从库(通过DSN连接方式)。
--check-interval
默认值:1s
如果同时指定了选项'--check-slave-lag',则该选项指定的时间为工具发现主从复制延迟时暂停的时间。每进行操作100行时进行一次检查。
--columns,-c
指定需要归档的表字段,如有多个则用','(逗号)隔开。
--commit-each
指定按每次获取和归档的行数进行提交,该选项会禁用选项'--txn-size'。
在每次获取表数据并进行归档之后,在获取下一次数据和选项'--sleep'指定的休眠时间之前,进行事务提交和刷新选项'--file'指定的文件,通过选项'--limit'控制事务的大小。
--host,-h
指定连接的数据库IP地址。
--port,-P
指定连接的数据库Port端口。
--user,-u
指定连接的数据库用户。
--password,-p
指定连接的数据库用户密码。
--socket,-S
指定使用SOCKET文件连接。
--databases,-d
指定连接的数据库
--source
指定需要进行归档操作的表,该选项是必须指定的选项,使用DSN方式表示。
--dest
指定要归档到的目标端表,使用DSN方式表示。
如果该选项没有指定的话,则默认与选项'--source'指定源端表为相同表。

--where
指定通过WHERE条件语句指定需要归档的数据,该选项是必须指定的选项。不需要加上'WHERE'关键字,如果确实不需要WHERE条件进行限制,则指定'--where 1=1'。
--file
指定表数据需要归档到的文件。使用类似MySQL DATE_FORMAT()格式化命名方式。
文件内容与MySQL中SELECT INTO OUTFILE语句使用相同的格式,文件命名选项如下所示:
%Y:年,4位数(Year, numeric, four digits)
%m:月,2位数(Month, numeric (01..12))
%d:日,2位数(Day of the month, numeric (01..31))
%H:小时(Hour (00..23))
%i:分钟(Minutes, numeric (00..59))
%s:秒(Seconds (00..59))
%D:数据库名(Database name)
%t:表名(Table name)
二、原理解析
根据general log的输出,我们整理出时序表格如下
三、其他说明
咋一看这个过程貌似也没有什么问题,但是,假如在原表扫描出数据,插入到新表的过程中,旧数据发生了变化怎么办?
带着这个疑问,我们进行了源码的跟踪,我们在pt-archiver的6839行打上了断点
然后我分别在几个session窗口做了如下动作
最后pt-archiver输出如下:
# A software update is available:
TIME ELAPSED COUNT
2020-04-08T09:13:21 0 0
2020-04-08T09:13:21 0 1
Started at 2020-04-08T09:13:21, ended at 2020-04-08T09:13:51
Source: A=utf8mb4,D=xucl,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
Dest: A=utf8mb4,D=xucl_archive,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
SELECT 1
INSERT 1
DELETE 1
Action Count Time Pct
sleep 1 30.0002 99.89
inserting 1 0.0213 0.07
commit 2 0.0080 0.03
select 2 0.0017 0.01
deleting 1 0.0005 0.00
other 0 0.0008 0.00
很明显,id=3这条记录并没有进行归档(我们这里是改了条件列,实际生产中可能是更改了其他列,造成归档数据不准确)
那么如何来解决这种情况的发生呢?
显然,数据库在数据库中可以通过加排它锁来防止其他程序修改对应的数据,pt-archiver其实早就已经帮我们考虑到了这样的情况,pt-archiver提供了两种选择
--for-update:Adds the FOR UPDATE modifier to SELECT statements
--share-lock:Adds the LOCK IN SHARE MODE modifier to SELECT statements
四、总结
pt-archiver作为归档工具无疑是MySQL DBA日常运维的大利器之一,在使用过程中在知道如何使用的基础上也能够知晓其原理
归档过程中最好能对归档记录进行加锁操作,以免造成归档数据不准确
在主从环境中,归档过程最好控制速度,以免造成主从延迟
尽量控制好chunk的大小,不要过大,造成大事务

阅读全文

与历史数据库如何存储文件相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:747
乙酸乙酯化学式怎么算 浏览:1411
沈阳初中的数学是什么版本的 浏览:1365
华为手机家人共享如何查看地理位置 浏览:1054
一氧化碳还原氧化铝化学方程式怎么配平 浏览:894
数学c什么意思是什么意思是什么 浏览:1423
中考初中地理如何补 浏览:1312
360浏览器历史在哪里下载迅雷下载 浏览:712
数学奥数卡怎么办 浏览:1403
如何回答地理是什么 浏览:1037
win7如何删除电脑文件浏览历史 浏览:1063
大学物理实验干什么用的到 浏览:1494
二年级上册数学框框怎么填 浏览:1714
西安瑞禧生物科技有限公司怎么样 浏览:1008
武大的分析化学怎么样 浏览:1256
ige电化学发光偏高怎么办 浏览:1345
学而思初中英语和语文怎么样 浏览:1669
下列哪个水飞蓟素化学结构 浏览:1431
化学理学哪些专业好 浏览:1493
数学中的棱的意思是什么 浏览:1073