长春市教育局大数据中心需要准备的技术问题

一、ElasticSearch的备份与还原

============================================================================================================================================================
1. 问题

Elasticsearch 副本提供了高可靠性;它们让你可以容忍零星的节点丢失而不会中断服务。但是,副本并不提供对灾难性故障的保护。对这种情况,你需要的是对集群真正的备份——在某些东西确实出问题的时候有一个完整的拷贝。

2.解决方案

通过快照的方式,将Elasticsearch集群中的数据,备份到HDFS上,这样数据即存在于Elasticsearch(简称ES)集群当中,又存在于HDFS上。当ES集群出现不可恢复性的故障时,可以将数据从HDFS上快速恢复。

也可以选择NFS方式进行备份数据:https://www.cnblogs.com/keithtt/p/7189493.html


3、需要进行的测试
(1)如何进行快照备份
(2)如何进行快照还原
(3)在历史日志时间太久,还不想彻底删除掉,想要归档,可以使用快照方式吗。如果以后还想用,怎么还原回来?
https://www.jianshu.com/p/d2a189f704a2
可以采用rename_pattern和rename_replacement用于重命名index,因为无法将index还原到open的index。
============================================================================================================================================================
二、整体的技术架构图

三、各业务系统数据汇集的办法

 

国内同类型软件的实现方法:

http://www.ruisoft.com/solution-smartcity-01.html

http://www.chinawiserv.com/home/news/detail/id/526

各业务系统需要提供全量和增量数据上报,增量数据上报肯定会要求上报最近新增、修改、删除的数据,最简单的办法是使用触发器,下面给出测试过的各主流数据库触发器方案:

https://www.cnblogs.com/littlehb/p/5614780.html

特殊需要说明的是:对于物理性删除的delete情况,我们需要规划一个deleted表来记录删除的主键ID。

(1) SqlServer

如果业务库是SqlServer的话,可以参考这篇文章:

http://www.cnblogs.com/iampkm/p/4082916.html  (时间戳方案)

https://blog.csdn.net/yenange/article/details/49636215 (CDC方案)

(2) Mongodb

如果业务库是Mongodb的话,可以参考这篇文章:

https://blog.csdn.net/u013066244/article/details/80004153

(3)Mysql

如果业务库是Mysql的话,还需要特殊注意下这个:

如果Mysql数据库版本低于5.6,可以考虑使用触发器方式:https://blog.csdn.net/heweimingming/article/details/51315895

(4) Oracle方案

https://blog.csdn.net/strawberry1019/article/details/79422071

伪列的方案不是很优雅,不建议使用,因为alter table无效。

猜你喜欢

转载自www.cnblogs.com/littlehb/p/9245986.html