「検索データ表示ソフト」项目总结--数据存储

一、数据保存
     正常的情况下,我们的程序处理的都是数据库中的信息,标准的SQL语句,完善的管理系统,还支持各种各样完善的功能,更爽的到处都是免费的,我都想不到什么理由不用数据库。多么好的东西。
     但是,这个我们做的这个项目,是将用于车载导航仪的数据,通过程序的方式表现出来,以方便人们检查,核对。导航仪上的数据用什么储存?二进制文件!
二、二进制文件
     可能是我比较固陋寡闻,我一直以为二进制文件早已经是被关系数据库淘汰的东西。可是这次仔细的想一想就会发现,二进制文件在存储数据方面有很多的优点:
     1)、速度快。对于专用的东西,更本就没有必要使用数据库这种重量级的东西。
     2)、跨品台。学了java以后,对这个词越来越敏感了,有些数据库虽然已可以跨品台,可是能跨到单片机吗?
     3)、更保密。自己定义的格式,其他人就算拿去了数据也压根不知道存的是什么东西。
     这次用的松下地图[案内检索]的数据,定义相当严谨。
     首先是一个 索引文件,其中存储了所有业务数据文件的文件名、文件偏移和默认zone。
     业务文件进去后时zone选择的数据,对应现在选定的zone才真正读取到业务数据。业务数据一 般有一个结构category和data。程序读取category,列出一层的list,然后可以操作进入下一层category、上一层 category或者直接读取对应的数据。这个结构应该是地图文件的核心设计。所有业务的文件都是这样的一种模式。category数据中一般包含[次段 的偏移]、[data数]、[list数]。data数据中定义各种业务的数据,一般是地点信息的偏移,通过公用的方法在读取地点信息。
     现在想一想,如果只是想一次性生成数据,然后多次读取的话,还是用二进制比较好。
三、xml文件
     现在说到数据存储,就不能不说xml。可是我一直觉得这个东西比较累赘。虽然说他可以自验证,可是文件也太大了。自己定义的格式,也可以写一个小程序去验证它的格式,可能比他更方便。真是搞不清楚xml为什么这么火。可能还有一些其他的优点的,有时间研究。
四、数据库
     现在怎么看就是一个重量级的解决方案。但是,如果你老是需要改来改去也只能用数据库了。的确是一个比较方便的工具。 
五、总结
     如果只读不写,最好是二进制
     如果要读要写,最好是数据库
     如果你想不要任何工具帮忙,就机器认得,你也认得的话,只有xml了。不过我觉得java的properties是一个比较好替代方案。

你可能感兴趣的:(java,数据库,xml,properties,list,存储)