论文部分内容阅读
随着计算机技术和网络技术的迅猛发展,软硬件的不断更新换代,现今数据成指数爆炸式增长趋势。如此庞大的数据我们称之为海量数据,甚至是大数据。这标志这大数据时代的到来。跟以往数据不同的是越来越多的数据属于非结构化数据,例如声音、图片以及视频等类型文件。在天文领域,随着天文观测设备和终端设备的设计与制造技术不断提高,各地观测站的不断建立以及规模的不断扩大,天文观测能力成倍增长,已从古老的光学观测变成全波段的天文学研究。天文数据每小时甚至每秒都在以惊人速度增加。天文领域面临着海量数据存储的挑战。面对天文海量数据存储的要求,传统关系型数据库已不是解决问题的理想方案,它的固有特性甚至成为海量数据存储的局限。而云计算、云存储全新的存储和计算思想给IT领域带来新的变革。本文就是基于这种形势研究云存储平台NoSQL数据库在天文海量图片存储中的应用前景。本论文采用MongoDB对云存储技术以及NoSQL数据库在天文领域的应用做了深入研究。首先,基础理论调研。其次,研究基于MongoDB的海量数据存储系统的构建与关键技术实现。再次,在海量天文数据存储系统上做实验分析。本部分采用四组实验展开研究,通过存储大量天文数据FITS文件得到实验数据,然后进行对比分析,最后得出了以下结论。第一,在NoSQL数据库这样的分布式存储中,分片能很大程度上提升数据存储和检索性能。第二,不同的分片大小也会影响存储和检索性能,找到最佳分片大小对于分布式存储至关重要,对于4M的FITS文件,所选取的分片中分片大小取值为512K的时候,存储效率最高。第三,像MongoDB这样的内存映射存储数据库,在存储和检索数据时都会出现一定阻塞,实验证明阻塞情况跟分片没有明显关系。第四,存储不同文件大小,最佳分片大小的取值不一样,在实验选取的七组分片中,存储小于16M的FITS文件时,最佳分片大小和文件大小之间的比例是1:8,而大于或等于16M的FITS文件,最佳分片大小不会随着文件增大而增大,基本在1M时存储效率最高。此外,本研究在仅使用两台普通服务器等条件下,通过对实验数据的分析,存取速度能达到80M/s,如果再改善集群条件(如高内存、高带宽、多网卡、多数据节点等),存储的容量和速度都会有很大程度的提升,这样就能实现海量天文数据的高效存储。而云存储就是这样一个能整合网络存储资源以及实现多节点的平台,从而可推断云存储是海量天文数据存储的必然趋势。最后,总结研究工作,得出研究结论并提出未来的展望。