mysql—组织间交换数据转储的最佳方法

pxy2qtax  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我正在工作的项目,我将收到学生数据转储每月一次。数据将导入我的系统。最初的导入量大约为7k条记录。在那之后,我预计一个月不会超过几百人。不过,也会有现有的记录,会随着学生成绩等的变化而更新。
我正在尝试确定跟踪接收、导入和更新内容的最佳方法。
我在考虑用一个脚本建立一个托管的mysql数据库,该脚本将sftp转储导入一个表中,该表包含一个creation\u date和一个modification\u date字段。我的想法是,执行提取的人可以连接到mysql数据库,每月对导入的表运行一次查询,以便在下一次提取之前获得差异。
我的另一个想法是,每月为每个数据转储创建一个新的received表。然后我将对差异进行查询。
注意:导入系统是传统的,将接受使用实用程序和唯一csv类型文件的导入。所以这可能排除了像xml这样的选项。
事先谢谢你的建议。

a7qyws3x

a7qyws3x1#

我假设你在跟踪学生在一门课程中的成绩。
我建议采用两表法:
表1:事务级数据。仅添加。新的信息只是附加在上面。萨米在本周的测验中得了75分,贝丝加了5分,等等。每一行都是一笔交易。大概它有学生的名字/id,加上的值,可能是最大可能值或一些加权因子,当然还有加上的时间戳。所有这些只是不断增加一个永无止境(理论上)表。
表2:汇总表,每隔一段时间重建。此表对第一个表进行简单的聚合,将事务性分数处理为全局分数。也许这是一个简单的和,也许这是一个加权平均数,也许你有更复杂的想法。这张table每个学生(每门课?)有一行。你想每晚重建这个。如果你懒惰,你只需删除/创建/插入。如果您担心数据丢失,只需插入并添加一个时间戳,就可以让快照返回。

相关问题