WindDB的机制

get_table

WindDB中直接与数据库交互的基本方法就是 get_table 。它用于从Wind数据库中查询原始数据。Wind数据库中的表大多十分庞大,如果以表为单位查询、 下载和缓存,会非常不便,无论是对数据库、网络、内存还是硬盘都会造成很大的压力。因此WindDB接口以列为单位,根据查询的内容选择需要下载的列,来解决这个问题。 每一列以 OBJECT_ID 作为索引,当需要把多列合并成一个表的时候也根据 OBJECT_ID 来连接。

增量更新

由于Wind数据库的庞大,以及日度数据每天更新的特点,如果每次更新数据都要重新把完整的数据库更新一遍显然是不可接受的。WindDB接口提供增量更新功能。 通过维护每个表的最后更新时间,可以再和数据库中的opdate字段比对,就能将已下载的数据和新添加的数据区分开。为了效率起见,建议为 opdate 字段建立索引。

注意:Wind数据库中的 opdate 是可能被修改的,这可能会导致一些问题,可以通过重新下载完整的数据表来确保数据的正确性。