M3数据库的压缩程序设计M3 EobDatabase Compacted

Email: eattonton@qq.com

1.      前言

M3数据库是记录信息的载体,在M3系统每一个数据文件都有IDX,DAT,EOB,LCK四种文件组成。其中IDX,DAT为索引文件,EOB是真正的数据文件。具体的数据都存储在EOB文件中。原本这样的程序设计对于设计员来说数据访问快速,对于系统管理员来说可以很好的维护数据库。但是,在实际使用中系统管理员也发现,EOB数据库大于2G文件大小,再往里面写数据就很困难。这时往往是清空一下数据库,或者干脆新建一个数据库。数据库的这一限制对于大型的,复杂的船舶,往往需要建很多子工程用于维护整个项目。

随着对数据库建构的深入研究,发现EOB数据库里面在使用中会产生不少的无用信息。这些信息并没有随着项目的进展被释放,而是一直存在于数据库中。如果,有工具能够实现这种数据压缩,还是有实际意义的。

2.      M3数据库的管理

M3应用程序中自带有数据库管理工具,Administration Tools->Control Panel ->DB Utility

这个工具中可以对数据库实现创建,备份,恢复,定期备份等功能。这个功能是系统管理必须要了解的功能,也是使用最频繁的功能。具体的操作使用就不在这里赘述了。唯一遗憾的是,数据管理的这个功能,并没有像其它功能一样,给我们提供可以开放访问的接口。所以很多维护工作只能手工进行。

3.      数据压缩程序的设计思路

这个小程序是在我们理解M3数据库结构的基础上开发而成。首先通过索引库读取有效元素的列表。再通过这些元素的指向获得EOB数据库上面的内容,最后生成一个新的EOB数据库。这个操作做成类似与,在DB Utility里面,把原有的内容通过Split功能,导出成SDB格式文件,再新建数据库,把这些内容导入进新数据库。这样完成了一次整理,只是我们这里通过程序化的手段,自动的完成了这么一次数据库的整理。

4. 压缩程序的开发

通过不断的测试,这里编写了一个测试程序,有兴趣的朋友可以下载试用。这个程序只是一个初始版本,单线程处理。在处理的时候对于大型的数据库(40G)还是比较慢的,大概花了4个小时,但是把数据库压缩到25G,足足压缩了15G,可见,还是有些作用的。

下面就是程序的主界面:

操作步骤如下:

第一步:选择数据库DB的文件夹,程序会根据里面所包含的数据库名称,在列表中列出来。

第二步:选择需要压缩的数据库

第三步:点击开始压缩。

如果文件比较大,就需要等待不少时间,这个主要是用单线程的缘故。往后,可以开发多线程,那样就可以大大提高压缩的速度。

还有需要提醒朋友的是,这个是测试程序,如果用在正式的项目,还请提前做好备份哟。如果,想一起交流的可以加我微信或者email我。

下载分享程序

M3数据库的压缩程序设计M3 Eob Database Compacted相关推荐

  1. 这学期对MySQL的了解_[南开大学(本部)]20秋学期《数据库技术与程序设计》在线作业...

    答案来源:谋学网(www.mouxue.com)-[南开大学(本部)]20秋学期(1709.1803.1809.1903.1909.2003.2009 )<数据库技术与程序设计>在线作业 ...

  2. 云计算之路-试用Azure:数据库备份压缩文件在虚拟机上的恢复速度测试

    测试环境:Windows Azure上海机房,虚拟机配置为大型(四核,7 GB 内存),磁盘情况见下图. 数据库备份压缩文件大于为12.0 GB (12,914,327,552 bytes),放置于T ...

  3. ACCESS数据库的压缩,备份,还原,下载,删除的实现

    以文本方式查看主题 -  企胜MIS开发论坛|ASP.NET|UML| CSS|Access|My SQL|网络营销|JAVA|J2EE|Ajax  (http://www.fleake.com/in ...

  4. MS Sql Server查询数据库文件大小和剩余空间,数据库日志压缩

    Sql Server查询数据库文件大小和剩余空间,数据库日志压缩 A.磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率 1.查询各个磁盘分区的剩余空间: 2.查询数据库的数据文件及日志 ...

  5. 几种主流数据库的压缩技术对比

    原文链接:http://blog.inkernel.info/archives/1.html 压缩功能几乎是当前主流数据库的标配功能,除了能够节省存储空间外,在IO密集型的系统中, 可能也会带来性能的 ...

  6. MS SQL数据库日志压缩方法[转]

    MS SQL数据库日志压缩方法[转] MS SQL数据库日志压缩方法 MS SQL性能是很不错的,但是数据库用了一段时间之后,数据库却变得很大,实际的数据量不大.一般都是数据库日志引起的!数据库日志的 ...

  7. oracle提交数据按键,Oracle PLSQL - 仅提交数据库链接(Oracle PLSQL - Commit only database link)...

    Oracle PLSQL - 仅提交数据库链接(Oracle PLSQL - Commit only database link) 有没有办法只通过数据库链接而不是当前会话的数据提交在表上插入/更新的 ...

  8. (转)RMAN-06004: 恢复目录数据库发生 ORACLE 错误: RMAN-20005: target database name is ambiguous

    RMAN-06004: 恢复目录数据库发生 ORACLE 错误: RMAN-20005: target database name is ambiguous 数据库名称相同,并且都进行过rman,no ...

  9. 数据库服务器压缩文件,服务器数据库怎么压缩文件

    服务器数据库怎么压缩文件 内容精选 换一换 您可以借助报表服务制作各种各样的报表,无论是简单的还是复杂的报表,同时系统提供订阅功能方便用户对报表进行订阅.本文主要介绍RDS使用SSRS(Reporti ...

最新文章

  1. java datetime now_相当于C#的DateTime.Now在Java中?
  2. mysql数据库21_Mysql5.7.21安装文档
  3. 大学计算机演示文稿作业,(大学计算机作业.doc
  4. 名词解释失效安全_09失效分析复习题新
  5. HashMap和LinkedHashMap的比较使用
  6. linux关于界面的API,linux系统基础知识(ABI和API)
  7. uniapp 默认的 ‘再按一次退出应用’ 提示语修改方法
  8. 《实践与思考》系列连载(5)——问答Hprose,以及关于技术与开源的思考
  9. 等差数列末项计算(信息学奥赛一本通-T1035)
  10. python爬虫爬图片教程_python爬去妹子网整个图片资源教程(最详细版)
  11. Struts 配置文件
  12. mysql5.7.18-winx64安装
  13. java集合框架(set)
  14. 004-读书笔记-企业IT架构转型之道-阿里巴巴中台战略思想与架构实战-共享服务中心建设原则...
  15. MATS-2010H硬磁测量装置产品详细介绍
  16. 程序大师的方天画戟 - vicc
  17. 金融衍生品数据分析_大数据_numpy,matplotlib,pandas学习
  18. 北京16个山水美景| 清明小长假走起吧!
  19. 【vulnhub】---DC-6靶机
  20. angularJS简介

热门文章

  1. 一款十分推荐的PC端时间管理器——Manictime
  2. python文件如何进行打包处理
  3. MySQL学习第一天
  4. Gox语言中如何处理XML-GX20
  5. 评程序员和会不会修电脑到底有几毛钱关系?
  6. gitlab-ce搭建和数据迁移
  7. JSR-303 Bean Validation
  8. ARM 中断--IRQ and FIQ配置--外部配置
  9. 千万别和哪十种人打交道?
  10. 机器人学习Robot Learning之模仿学习Imitation Learning的发展