存档实时MySQL数据库的最佳方法

存档实时MySQL数据库的最佳方法

Best way to archive live MySQL database

我们有一个实时的MySQL数据库,该数据库的插入率为99%,每秒约100个。 我们希望每天都存档数据,以便我们可以在不影响主实时数据库的情况下对其进行查询。 此外,归档完成后,我们要清除实时数据库。

没有(如果可能)锁定INSERT的最佳方法是什么? 我们对查询使用INSERT DELAYED。


http://www.maatkit.org/具有mk-archiver

archives or purges rows from a table to another table and/or a file. It is designed to efficiently"nibble" data in very small chunks without interfering with critical online transaction processing (OLTP) queries. It accomplishes this with a non-backtracking query plan that keeps its place in the table from query to query, so each subsequent query does very little work to find more archivable rows.

另一种选择是每天简单地创建一个新的数据库表。 MyIsam确实具有一些优势,因为到表末尾的INSERT通常不会阻塞,并且存在合并表类型可以将它们全部放在一起。许多网站都将httpd流量记录到这样的表中。

使用Mysql 5.1,还有分区表可以做很多相同的事情。


我使用mysql分区表,并且在各个方面都取得了不错的效果。


听起来复制是最好的解决方案。初始同步后,从站通过二进制日志获取更新,因此完全不影响主数据库。

有关复制的更多信息。


MK-ARCHIVER是用于归档MYSQL数据的优雅工具。

http://www.maatkit.org/doc/mk-archiver.html


MySQL复制将为此完美地工作。
主机->实时服务器。
从站->同一网络上的其他服务器。


您能否保留两个镜像数据库?写一个,将第二个作为存档。例如,每24小时切换一次(或您认为合适的时长)。在作为存档的数据库中,插入今天的所有活动。然后,两个数据库应该匹配。将此用作新的实时数据库。获取存档的数据库,然后对其执行任何操作。现在,您可以备份/提取/读取您想要的所有内容,因为它们没有被主动写入。

这有点像镜像袭击,您可以将一个驱动器脱机进行备份,重新同步,然后将另一个驱动器取出进行备份。


推荐阅读

    linux查询ip命令?

    linux查询ip命令?,地址,网络,信息,设备,系统,电脑,终端,命令,中心,技术指标,l

    linux日志命令查询?

    linux日志命令查询?,系统,名称,信息,实时,电脑,对比,最新,日志,命令,环境,Lin

    linux文本查询命令?

    linux文本查询命令?,标准,命令,文件,工具,数据,信息,位置,系统,内容,文本,Lin

    查询linux的命令历史?

    查询linux的命令历史?,信息,系统,名称,地址,服务,命令,数据,环境,指令,用户,

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    linux线程查询命令?

    linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Lin

    linux命令左右查询?

    linux命令左右查询?,系统,信息,管理,地址,工作,命令,文件,单位,位置,数据,lin

    linux简单查询命令?

    linux简单查询命令?,地址,命令,信息,设备,电脑,系统,工作,文件,终端,内容,Lin

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    linux命令大全数据库?

    linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,

    linux命令实时显示?

    linux命令实时显示?,系统,实时,时间,信息,情况,命令,对比,电脑,名称,一致,lin

    linux上数据库的命令?

    linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,

    linux命令dm数据库?

    linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,lin

    linux命令查询时间?

    linux命令查询时间?,时间,系统,状态,信息,数据,标准,地址,平台,环境,命令,在w

    linux查询翻页命令?

    linux查询翻页命令?,工作,地址,系统,信息,命令,工具,目录,管理,暂停,标准,Lin

    查询linux上调度命令?

    查询linux上调度命令?,系统,策略,实时,信息,状态,时间,进程,电脑,报告,分析,L

    linux查询网关命令?

    linux查询网关命令?,网络,信息,地址,环境,系统,网关,名字,中心,状态,命令,lin

    linux使用命令的方法?

    linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,