分享
 
 
 

建立对象数据库-内存映射范式,需要中间层容器的支持

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

原载:

在<设想使用XML和关系数据库形成一个对象数据库>一文中,已经阐述了关系数据库和对象数据库的主要区别:对外键的使用是通过直接记录,还是遍历外键子表来获得。而这里,是面对另一个重要的区别:如何释放对象的资源。对于对象数据库而言,它等同于是一批直接存于数据库中的串行化对象,它的实际存储形式到底是不是按关系结构存储并不是最重要的,重要的是调用程序读入内存的就是一个对象,而不是游标映射;这样,使用对象数据库就必须存在着一个如何清除用完的对象资源的问题;同时由于对象数据库必然是与语言无关的,因此对象释放也就必然只能由程序调用方完成。

XML可以看作是一个串行化的可以在不同的语言和平台间交换的对象结构,它实际上也存在同样的需要:假如不是把XML简单看作是HTML那样的presentation layer的样式,而是对象存储的形式,那么读入XML对象后也必然存在着重载和维护的问题,而且,要令程序高效,就必须是由程序容器完成,而不应由bean来维护。否则减少程序量提供软件质量就无从谈起了。通过程序容器产生下个共用线程,对已经不再使用的对象清空,空出资源。实际上,J2EE的实体Bean容器就是这样一种容器,只不过,它是通过OR映射的形式,希望反映出数据库中复杂的对象实体关系。对象数据库可以令这种映射简化到基本上是单表的形式,如果它能象J2EE一样一定程度上维护内存对象,最重要的就是清空内存占用,就可以达到比实体Bean更佳的效果。

J2EE实体bean基本上是扁平的对象关系,实体bean之间不存在互相包融的关系,这令它并不能很方便地反映到实际应用的关系中。而现实使用中,对象结构更接近于是一个继承树式的关系。在这种结构中,没有必要对所有对象都由容器处理它的清除。换言之,并不需要对所有对象进行清除,上级对象本身就是下级对象的容器,只需要对上级(顶级)对象清除就可以达到目的,对于JAVA来说,JVM垃圾处理器会把没有顶级调用的类一整个清除掉。

对于结合了XML和数据库的对象系统,对对象的调用过程是:容器初始化顶级对象->初始化次级对象的句柄->在需要调用次级对象详细内容时完全载入这一对象->(清除次级对象)->在不需要使用时清除顶级对象和剩余的所有次级对象。

容器的另一个任务就是维护句柄记录和实际数据关系结构的一致性。在上述流程中,由于详细的内容是放在数据库中,上级对象中仅保留下级的句柄。历此,这等同于是对一个结构化数据的非规范化记录。从这点出发,当出现不一致的冲突时,肯定是应该以关系数据库中的记录为准的。比较理想的方式是对象实现若干容器管理的接口,由容器负责对对象的一致进行维护。在这里,对应中间层的对象实际上是数据库中的串行化对象的内存映射。因此,要真正令XML+关系数据库形成的对象结构运转得有效率,就必须有高效合理的管理容器,集中完成高度一致的重复的对象维护工作,而令上层应用可以专注于具体的应用逻辑。

归纳起来,使用对象数据库的程序范式的话,那么需要有这样的容器:它能自动完成对内存对象中的清理工作;能够自动完成与数据库的一致性操作。另外,对于形式相似的对象类程序,可以提供一些自动化的工具完成大部分的编码,或者,提高可以继承的抽象类完成重复性的基本一致的维护方法。具体如何实施,通用性有多高,将在SectionBase的修改中一一加以处理。目前呢,先以BMP的形式编码,估计完成后,就可以进一步的通用的方法可以抽象出来。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有