目前3DTiles、地形、影像切片文件的存储主要分为几类:
1)散列文件
2)sqlite文件
3)对象存储服务器
4)分布式数据库
5)其他
文件大小简介
地形文件.terrain通常在1KB-10KB范围内
影像文件.png/.jpg通常在1KB-512kb范围内
3DTiles文件.b3dm通常在1KB-2MB范围内,通常比较大的b3dm也在5MB以内;如果超过10MB,那么这个数据处理的结果就是不合格的了。
散列文件
散列文件比较简单,查看数据文件的组织形式一目了然。但是,通常使用免费工具在Windows机器上进行处理,发布服务的时候需要拷贝到其他Linux服务器上,散列文件拷贝比较慢。散列文件服务发布可以采用ngnix、iis、tomcat等工具。当然,也可以直接使用windows服务器。
sqlite文件
sqlite文件比散列文件更加紧凑,单个大文件,拷贝比较快速,如果自己实现服务发布,需要自己编写相关的服务程序,相对麻烦一点。
对象存储服务器
对象存储服务器适合中小文件的存储,比如图片、短视频。3DTiles、地形、影像切片属于中小文件对象范畴,非常适合在对象存储服务器上进行存储。各大互联网厂商均提供对象云存储服务,如果是提供互联网服务,可以采用这个方案。也可以搭建自己的对象存储服务,比如采用fastdfs。
分布式数据库
分布式数据数据库可以采用mongodb和hbase
mongodb
mongodb是非常常用的分布式文档数据库。mongodb较新的版本中bson最大限制是16MB, 3dtiles、地形、影像切片文件都在mongodb数据库bson的覆盖范围内。使用mongodb需要自己开发服务发布工具软件。
hbase
hbase使用的门槛有点高,需要搭建Hadoop 集群,然后搭建hbase集群。如果是建设有大数据中心的单位可以采用这种方案,可以将3dtiles、地形、影像这些有地理信息相关的数据集中在大数据平台上进行统一存储和管理,形成有价值的数据资产,同时可以实现资产的开放和共享。
采用hbase,需要hbase支持HBase MOB(Medium Object Storage )特性,Hbase MOB针对100KB~10MB大小之间的文件进行了优化。当然,使用HBase 也需要自己开发服务发布工具软件。
通过修改hbase-site.xml中hfile.format.version属性值为 3 得到支持
<property>
<name>hfile.format.version</name>
<value>3</value>
</property
HBase MOB参考文献
https://blog.csdn.net/u011598442/article/details/89381145
Mongodb和Hase数据入库功能具体实现可以参考以下链接
https://www.jianshu.com/p/c6c9332bc238