面向对象数据库及db4o的优势

嘎子 面向对象数据库 2016-01-29 931 次浏览 , , 没有评论

这是这一系列文章的第一篇,所以不会说一些具体的见容,如果大家已经决定开始用db4o,而且大家对一些理论不太感兴趣的话,大家可以跳过这篇文章。当然这篇文章的所说的内容也不一定对,都是一些个人的感受,如果有不同意见,大家一起讨论。

首先是面向对象数据库,面向对象的数据库的概念已经出来很久了,但是一直没有成为数据库的主流,现在数据库的主流还是关系数据库。面向对象数据库的概念可以参考面向对象的编程中的对象。但数据库又有很大不同,比方说编程中的对象有属性,有方法,对象与对象之间的通讯一般通过事件来进行。但数据库从本质上讲只是一个数据的容器,这就使得方法和对象之间的通讯并不那么重要。对象之间有继承,这一点在PostgreSQL和Oracle中也有实现,从这种意义上讲,PostgreSQL和Oracle也是面向对象的数据库。

这种纯理论的东西我并不太想研究太多,可能也正是因为这点,我永远都成不了专家。但是,我们在实际使用过程中,可以很形象的体会到db4o和PostgreSQL及Oracle的区别,其他的关系型数据库更像是一个数据库,而db4o感觉是为面向对象的语言服务的,更像是一种面向对象的语言的辅助产品。可以这样说,PostgreSQL和Oracle是独立的数据库,适用于任何的语言,数据库内容实现了对象的概念(当然是一种与关系表相类似的对象概念)。而db4o是专门为一门面向对象的语言服务的数据存储类库,难以脱离语言而单独存在。

db4o的劣势非常明显,就是很多编程语言不能用(现在可以用的好像只有.net和java),如果你用这两种语言之外的东东,那么很不幸,你与db4o无缘,但他的优势也同样明显,主要优势如下:
1)以存对象的方式存取数据(不过你考虑一下完全以对象的方式去考虑数据的存取对传统的数据库设计思维来说是多么大的颠覆)
2)无需数据库服务器,只需要一个数据文件,且dll大小仅为300多k,非常适合作为嵌入式数据库;当然,db4o也有C/S的工作模式。
3)提供Query By Sample, Native Query和Simple Object DataBase Access(SODA),还有LINQ四种方式进行数据查询,操作简便且功能强大,和sql说byebye。当然,我觉得最好用的是LINQ(如果你有LINQ的开发经验的话,这个真是非常非常简单的)

最后说几句,那就是db4o对程序开发效率的影响:如果仅仅从上面几条你可能没有看出db4o的优势,但你一旦在程序中使用,你会发现数据的存储与读取操作流畅而自然,完全是为面向对象的语言而生的。

原创文章,文章首发于:Riley Ge (@rileyge) — Steemit

原创文章,转载请注明: 转载自TsonTec:测量解决方案提供者

本文链接地址: 面向对象数据库及db4o的优势

相关主题

  • db4o基础与入门2016-01-29 db4o基础与入门 (0)
    如果你使用的编程语言是java或者.net(笔者最常用的编程语言为C#,所以下文中以C#说事,请读者勿怪),那你有福气了,db4o可以说是一种最自然的数 […]
  • db4o官方停止支持及面向对象数据库的一些感想2016-01-30 db4o官方停止支持及面向对象数据库的一些感想 (0)
    前一段时间试用了db4o,真心觉得不错,觉得面向对象的数据库没有一个系统的论坛,所以自己建立了这个网站来推广。但今天在打开db4o的官方网站时发现Versan […]
  • 翻译系列文章之–面向对象数据库(Object Oriented Databases)2016-01-30 翻译系列文章之–面向对象数据库(Object Oriented Databases) (0)
    面向对象数据库也被称为对象数据管理系统。对象数据库存储面向对象编程语言(如Smalltalk,C++,java等)中的对象而不仅仅像关系数据库那样存储整数,字 […]
  • 翻译系列文章之–面向对象数据库特征及用途(Object Database Use and Features)2016-02-01 翻译系列文章之–面向对象数据库特征及用途(Object Database Use and Features) (0)
    数据库为用户提供了数据持久化的功能,具体到对象数据库是指对象能够在不同的数据库进程之间进行存储。  产品特点  下面的列表是对 […]
  • db4o的查询2016-02-01 db4o的查询 (0)
    在不同的应用中,数据库的增删改查操作的频率是不一样的,但一般情况下使用的更多的是查询操作。查询的简易程度、速度是查询的两个重要参数。 db4o查询的优势 […]
  • 面向对象数据库是数据认识世界的方向2016-01-29 面向对象数据库是数据认识世界的方向 (0)
    像面向对象的编程语言一样,面向对象数据库(OOD)是数据走向更亲和真实世界的一种发展方向。 面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向 […]

说点什么

您将是第一位评论人!

提醒
avatar
回顶部