一种基于ClickHouse列式数据库的星表快速合并方法

文档序号:37688170发布日期:2024-04-18 21:03阅读:12来源:国知局
一种基于ClickHouse列式数据库的星表快速合并方法

本发明涉及一种基于clickhouse列式数据库的星表快速合并方法,涉及球面距离计算及等间距空间划分和索引建立,属于天文数据处理领域。


背景技术:

1、天文巡天任务持续推进使得天文观测数据规模快速增长,传统数据处理方法已无法满足海量天文数据的存储和快速检索需求。针对天文学交叉证认和星表合并的应用场景以及csst高性能、低延迟的数据处理需求,研究使用列式数据库来完成海量星表数据的存储、检索和证认过程。通过广泛对比不同的索引建立方法,使用等间距网格划分方法为星表数据建立相应的空间索引,提升数据查询检索速度以及处理性能。

2、随着天文观测设备的精度和性能不断提升,以及观测技术的进步,使得人类观测的范围越来越广,观测采集到的数据也越来越多。中国大天区面积多目标光纤光谱天文望远镜(large sky area multi-object fiber spectro-scopic telescope,lamost)每晚采集约20gb的光谱数据。中外协同建设的平方公里阵列(square kilometre array,ska),其低频阵列预计每秒产出157tb的数据,中频阵列预计每秒产出2tb的数据。即将发射升空的中国空间站望远镜(china space station telescope,csst)将完成具有高分辨率、大天区面积的无缝光谱巡天观测和深度多色成像观测,将探测目标天区范围内数千亿的原始数据,整个运行周期将累计产生约50pb的数据。海量的观测数据中蕴含着许多未知的新发现,但需要对这些数据进行进一步的处理和分析才能够获取。因此如何高效快速地处理这些观测数据,如何将不同时刻对同一天体观测采集到的数据或不同波段的数据进行合并,已经成为天文学和大数据领域密切关注的问题。

3、伴随着计算机和分布式技术的发展与进步,逐渐出现了基于spark技术框架设计的astrospark系统,基于mapreduce技术框架的处理方法以及基于分布式阵列数据库的fastdb系统。这些方法大幅提升了天文星表数据的处理性能,一定程度上满足了当时的数据处理需求,但无法较好地应对现在更为庞大的数据规模以及更为严苛的性能要求。此外数据库技术的进步与发展促使了基于列式数据存储架构的clickhouse列式数据库的诞生,拥有更为优异的查询检索性能以及良好的横向扩展能力,可以较为从容地应对海量天文数据快速处理的需求。

4、传统基于行式数据存储架构的关系型数据库在根据判断条件进行相关数据的检索时,即使是只需要部分数据字段信息也需要完整地读取整行数据。而列式数据库则可以灵活地读取所需的字段列数据,快速地呈现对应的结果。传统关系型数据库在处理数据时在无效数据的读写上消耗了大量的资源和时间,从而降低了数据处理流程整体的性能和效率。在天文星表数据处理领域中使用列式数据库极大地避免了此类情况的出现,尤其是在星表数据合并这样只依赖少量字段列的特定使用场景中。

5、本发明引□列式数据库clickhouse至天文数据处理领域,通过等间距网格划分方法建立空间索引,提升星表数据的查询检索性能,降低数据合并过程耗时。


技术实现思路

1、有鉴于现有技术的上述缺陷,本发明的目的在于提供一种基于clickhouse列式数据库的星表快速合并方法,降低球面距离计算的复杂度,加速了多波段星表数据的合并过程。

2、本发明的技术方案为:一种基于clickhouse列式数据库的星表快速合并方法,

3、包括以下步骤:

4、s100将原始观测的多个星表数据文件导入数据库;

5、s200将数据库内的天体记录划分为参考数据表和样本数据表,

6、判断以上两个数据表中的数据记录是否有采用相同划分方法的划分号数据字段;

7、若无该数据字段,则执行s300;

8、否则,执行s400;

9、s300对参考数据表和样本数据表中的记录在赤经和赤纬方向分别进行等间距网格划分,并对划分生成的网格区块进行编码;添加划分号数据字段存储天体记录所处网格编号,依此建立空间索引

10、s400对参考数据表和样本数据表中的记录执行坐标系转换,将赤经赤纬坐标转换为三维空间坐标;

11、s500将两个数据表中的划分号字段作为连接条件,进行数据表空间连接,生成临时中间结果数据表;

12、s600根据临时中间结果数据表中包含的两坐标点信息,计算每一条记录对应的球面距离;将计算所得的距离与第一预设阈值r进行比较,筛选出小于等于第一预设阈值r的记录;

13、s700对筛选出的记录,根据参考数据表中的数据字段进行分组,被分为同一组的记录即为同一天体的多次观测记录,对这多条记录在所有数据字段上依次进行相应数据的合并,得到最终的结果。

14、进一步的,所述s300中进行空间划分还包括进行以下步骤,

15、s300a获取两个数据表中所有天体记录在赤经和赤纬方向的分布范围,结合第一预设阈值r确定具体划分间隔k的取值;

16、s300b根据记录中的赤经赤纬坐标信息进行等间距的网格划分,并对每个划分网格区块进行编码;

17、s300c为数据表内的天体记录增加划分号字段,存储天体记录所处的划分网格编号,并根据该字段在数据库内建立空间索引;

18、s300d根据参考数据表和样本数据表中记录所处的纬度范围,结合赤经和赤纬的增长变化关系确定进行数据合并时的网格搜索范围。

19、进一步的,步骤s400中坐标转换的具体步骤为,

20、s400a将星表记录中的赤经赤纬坐标转换为笛卡尔坐标系下的三维空间坐标,使用相应的转换公式进行坐标系的空间映射;

21、s400b将第一预设阈值r同步进行相应的空间映射,转换为笛卡尔坐标系下的第二阈值γ。

22、进一步的,采用列式数据库将星表中天体记录的多列数据按列压缩存储,并充分利用全部硬件资源并行处理查询任务。

23、与现有技术相比,本发明的有益效果是:

24、(1)采取了等间距网格划分的方法来建立相应的空间索引。使用简单的数学运算即可完成相应的划分与编码。该划分方法快速且方便,在不同数据库及其他程序中均可快速实现;

25、(2)提出了在不同纬度下赤纬变化量δ与赤经变化量α之间的关系。在连接过程中根据记录所处纬度范围应用对应的公式可将所有可能的网格块都纳入数据处理范围,可有效避免漏源问题的出现;

26、(3)提出了一种基于坐标系转换的距离计算方法。通过坐标系转换公式可将星表数据中的赤经赤纬坐标转换为笛卡尔坐标系下的三维空间坐标,球面距离的计算转换为三维空间内欧几里得距离的计算。通过这样的操作有效减少单次距离计算时的计算量,降低计算时的复杂度,在大型星表数据处理中可得到明显的性能提升。



技术特征:

1.一种基于clickhouse列式数据库的星表快速合并方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于clickhouse列式数据库的星表快速合并方法,其特征在于,所述s300中进行空间划分还包括进行以下步骤,

3.根据权利要求1所述的一种基于clickhouse列式数据库的星表快速合并方法,其特征在于,步骤s400中坐标转换的具体步骤为,

4.根据权利要求1所述的一种基于clickhouse列式数据库的星表快速合并方法,其特征在于,采用列式数据库将星表中天体记录的多列数据按列压缩存储,并充分利用全部硬件资源并行处理查询任务。


技术总结
本发明提供了一种基于ClickHouse列式数据库的海量星表数据快速合并方法与系统,通过降低球面距离计算的复杂度以及运用等间距网格划分索引建立方法,加速了多波段星表数据的合并过程;本发明针对天文学交叉证认和星表合并的应用场景以及CSST高性能、低延迟的数据处理需求,研究使用列式数据库来完成海量星表数据的存储、检索和证认过程,具有良好的使用价值,在天文数据处理领域有着广阔的应用场景,同时也为天文领域进□数据处理提供了一种新的思路和方向。

技术研发人员:王锋,黄智鹏,邓辉,梅盈
受保护的技术使用者:广州大学
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1