面向对象数据库db4o之旅,第4部分 使用dRS

前言

在开源面向对象数据库 db4o 之旅 系列文章的第 1 部分:初识 db4o 中, 作者介绍了 db4o 的历史和现状、应用领域、以及和 ORM 等的比较;在第 2 部 分:db4o 查询方式 中 , 作者介绍了 db4o 的三种不同的查询方式:QBE、SODA 以及 Native Queries,并分别通过这三种不同的途径实现了两个关联对象的查 询;在第 3 部分:深入 db4o 中,作者介绍了 db4o 的修改和删除,引入了“ 更新深度 (update depth)”这一重要概念。

从本系列第 3 部分到现在的第 4 部分,中间经历了漫长的时间。db4o 本身 也在进步,2008 年 12 月,对象数据库领导厂商 Versant 公司收购了 db4o 及 其开发团队,这次收购为 db4o 注入了新的活力。前面我们介绍了 db4o 中如何 对对象进行更新以及删除操作,在本文中我将向您介绍在 db4o 中如何与关系型 数据库 (RDBMS) 进行同步。

dRS 应用范围

dRS 充分利用了 Hibernate 的优势,可实现 db4o 到 RDBMS、db4o 到 db4o 、以及 RDBMS 到 RDBMS 的双向或单向的数据同步。

如 图 1 所示,我们来设想这样的场景:一位名叫“张三”的车主买了几辆 车,随即去主管部门办牌照,办证人员把数据采集进部署了 db4o 的手持设备( 可能是基于 Android OS 的平板电脑);数据采集完后直接从手持设备通过无线 、有线连接同步到桌面应用程序、应用服务器 (Hibernate/RDBMS) 中存档。正 确!无需再编写额外的代码来关心对象如何写入 RDBMS。

图 1. dRS 模型

时间: 2024-09-30 15:23:41

面向对象数据库db4o之旅,第4部分 使用dRS的相关文章

开源面向对象数据库db4o之旅,第3部分 深入db4o

前言 在开源面向对象数据库 db4o 之旅 系列文章的第 1 部分:初识 db4o 中, 作者介绍了 db4o 的历史和现状,应用领域,以及和 ORM 等的比较: 在第 2 部分:db4o 查询方式中, 作者介绍了 db4o 的三种不同的查询方式:QBE.SODA 以及 Native Queries,并分别通过这三种不同的途径实现了两个关联对象的查 询. 前面我们已经介绍了如何在 db4o 中查询以及添加对象,在本文中我们将会 向您介绍在 db4o 中如何对对象进行更新以及删除操作. 更新数据

开源面向对象数据库db4o之旅,第2部分 db4o查询方式

前言 在 db4o 之旅 系列文章的第一部分:初识 db4o 中,作者介绍了 db4o 的历 史和现状,应用领域,以及和 ORM 等的比较.在这篇文章中,作者将会介绍 db4o 的安装.启动以及三种不同的查询方式:QBE(Query by Example).SODA (Simple Object Database Access) 以及 NQ(Native Queries),并分别通 过这三种不同的途径实现了两个关联对象的查询.本文还示范了开发中最经常用 到的几个典型功能的 db4o 实现. 下载

开源面向对象数据库db4o之旅,第1部分 初识db4o

前言 业界对持久存储领域的追求从未停止过,为了更方便.更容易地用对象表达 我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明 了这点.最近一年,业界也在反思,到底 ORM 给我们带来的是便利还是麻烦. 矛头指向大名鼎鼎的 Hibernate ,纷纷议论其性能问题,大家似乎要达成这样 的共识:"在业务逻辑复杂的地方用 SP ,而一般的 CRUD 还是 Hibernate " ,就连全球知名的 BearingPoint 也有类似看法.下面一个简单的例子,说明了 传统

Java的面向对象数据库db4o

上学的时候就听老师说过有对象数据库. 但是我所接触的数据库都是关系型数据库mysql,oracle,ms sql server,或是db2. 最近在ibm development work上看到一个名为db4o的对象数据. 才看第一章,学过Java的都应该很容易理解的. 确实它真的很简单. 看起来似乎就像是在一个Java的操作,而并非如我们所以为的那样的想关系型数据库中操作一样. 如果有兴趣的话,大家也可以去看看. 不过,文章作者也对db4o的一些缺点进行了列举. 自己并没有进行很深入的学习.

关于对象数据库 DB4O 的一些BUG以及如何应对的方法

关于对象数据库 DB4O 的一些BUG以及如何应对的方法 1.objectmanager 6.0不能正常显示中文而是框框,是字体设置不正确的原因,因为没有源程序,所以无法定位在哪里出了问题. 2.objectmanager 6.0需要对应db4o 6.1的版本      objectmanager 1.8需要对应db4o 5.5的版本      objectmanager 1.7需要对应db4o 5.2的版本 版本不对应会造成无法打开数据库文件,怎么就这么不兼容呢?连高版本的管理工具都无法打开旧

[转]李战大师-悟透delphi 第十一章 面向对象数据库基础

第十一章  面向对象数据库基础 第二节 数据对象的标识我们在关系数据库的设计和开发中,可能经常需要一些唯一的编号或标识,用来作为关键字,以区别每一个不同的人,每一张不同的单据,每一次不同的信息登记,等等.并且,我们也一直采用这些编号和标识,作为关系的连接字段.但是,要保证编号或标识是完全唯一的,却是一个不大不小的难题.下面我们将详细讨论这一问题,并希望能从另一个高度来理解这一问题.不过,我们首先来看看问题是怎样由来的.现在,给大家讲一个故事. 从前,在北京降生了一个漂亮的小女孩.接生的李阿姨说,

面向对象数据库的正确评价与选择

对象|评价|数据|数据库 (来源:http://www.ccidnet.com) 一.概述 就象关系数据库一样,市场上有许多面向对象的数据库(Object-Oriented Database,OODB)可供选择.然而,OODB在价格.功能.特色和体系上没有什么统一的标准.本文将帮助你理解各种OODB系统之间的一些差别,在为应用选择合适的OODB时,帮助你缩小挑选的范围. 根据标准的不同,我用于评估这些产品的参考资料也是五花八门.在大多数情况下,本文的评价以个人经验和看法为基础:另外一些细节直接从

15个nosql数据库

1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案.当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上.MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求.MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储. MongoDB也有一个Ruby的项

分析数据库CitusDB:提供弹性计算能力

本文讲的是分析数据库CitusDB:提供弹性计算能力,企业数据库市场很庞大,在这个领域既有Oracle这样行家,也有IBM(DB2)和微软(SQL Server)这样的跨界巨头.它们都与中小企业常用到的开源数据库MySQL一样,都属于传统关系型数据库.似乎数据库市场已经发展得很成熟,基本格局也已确定,所以创业者再无机会? 事实上并非如此,新技术的出现与发展,总是会带来新的机遇.正如面向对象编程技术的发展和成熟,催生了DB4O这样纯面向对象数据库.云计算服务与大数据处理的崛起,让传统关系型数据库在