pubmed 这种很大的数据,要如何在程序中使用

查看 66|回复 5
作者:cleveryun   
pubmed baseline 2023
这是 pubmed 2023 年的 baseline 数据库(一堆 gz 格式的 XML 文件),我全部下载到本地后,光 gz 文件合起来就超过 40G 大小了,全部解压后估计要 500G 左右。我正式工作中一直是做前端的,这么大的数据量第一次碰到。
请问如果我想做搜索和统计分析,应该如何处理呢?这种需要另外再转移到特定数据库里吗还是直接用文件系统到数据库(并发量不大,以读取为主,数据一年更新一次)。
读取数据是读取完一部分之后清掉内存占用,接着读取下一部分的内容吗(内存肯定不够加载所有内容,假定只有 8G 内存)。
有没有建议/思路可以参考。提前谢谢各位大佬。
——————
追加更新:这种服务,购买服务器配置最低需要什么样才能正常使用,是不是要买那些 1T 硬盘的。

pubmed, 读取, baseline, 数据库

TheCure   
直接上 elasticsearch, 才 40G 有点大材小用. 直接 postgres 存问题也不大, 看你想怎么用了.
不过我比较好奇拿 pubmed 数据来做什么, 可以交流下 很感兴趣
TheCure   
ps: 500G postgres 只要配置够也问题不大
cleveryun
OP
  
@TheCure 自己以前是学药的,前段时间有个在日本做生物药这一块的销售的同学和我沟通说想做个基于 pubmed 的检索、统计分析站。加上老婆是搞生物医药研发的,做了自己也能用就答应有偿给做一个了。他主要是想基于这个服务,寻找一些目标用户。
cleveryun
OP
  
@TheCure 除了直接检索,就是比如相关通路、主流实验方法、相关基因、按引用关系来的重要作者/文献、相关文献的影响因子逐年变化趋势这类。
dayeye2006199   
40G 放 PG 里面,可能要做一下格式转换,XML 关系型数据库不认的,至少要 flatten 成表的格式。40G 的数据,加工和入库的方式,如你所说,流式处理,处理掉一批之后,再读入下一批。
入库之后,取决于你想怎么检索,假设你要按照标题,摘要检索这类的,就对相应的字段简历全文检索 https://www.postgresql.org/docs/current/textsearch.html
如果要按照时间之类的检索,记得也要对相应的字段加上索引。
再复杂点,要做语义检索之类的,记得安装 pgvector 这种插件,对相应的字段调用 embedding 模型之后,存入 vector 类型。
我也觉得 elastic 有点太复杂,pg 可能已经足够你使用了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部