1982.09—1984.07 安徽省气象学校气象学专业学生
类似这样的数据如何存储呢
1
Xhack 2022-04-07 17:29:30 +08:00
开始时间 结束时间 学校 专业
|
2
shenqi 2022-04-07 17:35:29 +08:00
基础做法
table 用户 {name, id} table 学校 {name, id} table 专业 {id, name} // 一般这是通用专业 table 经历 {start_unix,end_unix,学校_id,专业_id,用户_id} 经历数据量大了之后的分表做法: table 经历_1982 年 {start,end,学校_id,专业_id,用户_id} table 经历_1984 年 {start,end,学校_id,专业_id,用户_id} table 经历_xxxx 年 {start,end,学校_id,专业_id,用户_id} 用户数据量大了之后,难搞。 学校数量,再大也不过百万。 专业也是,数量不多。 |
4
sjmcefc2 OP 想把简历做成数据库来存储
|
5
LeegoYih 2022-04-08 09:15:07 +08:00
适合非结构化的数据库,MongoDB 之类的
|
6
joApioVVx4M4X6Rf 2022-04-08 09:58:10 +08:00
存 json 字符串不行吗
|
7
shanghai1943 2022-04-08 10:33:31 +08:00
得看后期有怎样的需求。如果后期还是不断增加字段而且没有关联统计之类的需求的话,可以试试 MongoDB ,如果有很强的关系查询统计,那优选 MySQL 了
|
8
Akiya 2022-04-08 11:11:40 +08:00
图数据库,一个人是一个点,一个省是一个点,一个学校是一个点,一个专业也是一个点,关联关系用边来表示
参考: https://vonng.github.io/ddia/#/ch2?id=%e5%9b%be%e6%95%b0%e6%8d%ae%e6%a8%a1%e5%9e%8b |
9
zyx199199 2022-04-08 20:15:41 +08:00
我上份工作是做商业化的简历自动解析的。我们当时使用的是 MongoDB 数据库存储,主要是考虑到解析的字段经常增加修改
但是我们的存储除本身没有太考虑复杂查询的优化 当时的存储格式大体是 [ {'学校': '北京大学(珠海分校)', // 简历中的原始名称 '标准校名': ''北京大学', // 在解析学校的同时,判断学校的标准名称 '起始时间': '2009.9', '结束时间': '2013.9', '专业': '气象学'}, ] 数组中的一个 字典( dict )就是一段经历,在存储到数据库前按照时间排序,第一个字典对应第一段经历,以此类推 如果需要实现复杂的高效查询,可以先试试这样存储后的查询效率。如果效率太低,可以考虑在 MongoDB 存储基础数据之外再增加一个 Neo4j 的图数据库,用于存储数据之间的关系 如果不是做实时的复杂查询,而是已经确定好了要查询的内容,至少几十万条数据的情况下,应该还是不太需要 Neo4j 的。分步做好预处理,然后将预处理好的数据用 pandas 加载,一个正常的笔记本就能做到比较快的各种统计查询了 |