作业1:加载全量索引时,为什么要将数据库表中的数据导出到文件中,而不是直接从数据库中读取 ?
答:数据量太大的时候,从数据库中读取索引再建立索引,这样效率太低了,而且数据量太庞大的时候将索引存到内存中显然是不可取的,所以需要存到磁盘上,不过这里我有一个问题,按理来说磁盘IO的速度远小于内存访问速度,那么在项目初始化的时候读文件然后反序列化table对象,然后再建立索引,这样的效率会不会很低,文件中数据量大的话那项目初始化岂不是要很长时间?
作业2:你可以将全量数据导出的功能改写为一个微服务吗 ?需要考虑功能抽象,因为后续可能添加其他的维度扩展表。
答: 这个的话 新建子模块,
作业3:广告数据之间存在层次划分,隐式的表达了数据之间的依赖关系,你能想到更好的数据结构去表达它们吗 ?
答:没想到更好的… 感觉依赖关系和索引结构的设计算是检索系统比较难的地方