面向对象数据库比较之Perst和db4o

嘎子 面向对象数据库 2017-01-10 1,476 次浏览 , , 6条评论

自己是一个穷程序员,所以用的都是开源的,然后自己用的语言是C#,现在自己找到的两种面向对象的数据库就只有Perst和db4o,自己对这两种数据库也只是简单的试用了一下,在现在的项目中并没有使用,所以自己下面的比较可能并不全面,也不客观,但只要有一点借鉴意义,我写文章的目的就达到了。

自己现在只是一个独立开发者,写的都是小程序,所以对数据库的性能要求比较低。而在数据库中性能是非常重要的一点,但在本文的比较中并不涉及性能问题。我关心的是使用的简易程度方面,代码的易读性等方面。好了,费话不多说,下面开始比较:

1、学习成本。前提:有关系型数据库开发的经验,有面向对象的语言开发经验(C#)。db4o的学习成本非常低,而Perst的学习成本只能说较低。db4o基本没有引进什么新的概念,是非常自然的面向对象的开发方式。而Perst引入的Root类的概念,在Root类中使用索引来进行查询。对Root类的理解无疑增加了学习成本。

2、查询便捷程度。查询是数据库中非常重要的环节,在数据库使用中有举足轻重的作用。个人认为查询的便捷程序db4o完胜Perst。我对.Net中的LINQ还是十分推崇的,所以发现db4o支持LINQ当时是多么的激动,而且LINQ使用起来真的是太方便了。除了这一点外,Perst查询一般是在Root中使用索引进行的,非常不便。还有就是其关系数据库封装中也有查询方法,但并不是类型安全的。总之,个人觉得Perst查询是做的比较差的一方面。

Perst在查询中特别强调索引,从这方面推断,其速度是不是做的也更好?这一点自己没有研究过,如果有人对此有比较想法,可以在文后给我留言。

3、对要存储的类的修改程度。Perst中要存储的类要继承于一个类(或者实现一个接口),而在db4o中不需要这样做。此项中db4o也有点优势。

4、数据更新。在db4o里面数据更新在不同的session中会出现新建一个对象的情况,这一点是非常烦人的。虽然前文DB4O在进行更新时只能在同一个session中的问题及改进方法给出了一个解决方法,但对代码的易读性和数据库的性能都会有不少的影响。而Perst这方面做的就比较完整,这一项Perst完胜。

最终总结:当时看到db4o停止更新了觉得还是非常可惜的,但Perst即使没有停止支持最后一次更新也是在2014年。所以这些数据库的活力是非常小的。这也是大家使用的少的缘故,并没有太多的人关注。当时db4o给我的感想是如果数据更新方面再改进一下那就完美了,而Perst给我的印象是还有等改进。

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

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

本文链接地址: 面向对象数据库比较之Perst和db4o

相关主题

  • Perst工作基本方法与简单代码示例2017-01-08 Perst工作基本方法与简单代码示例 (0)
    昨天好好的看了一个关于Perst的工作方法,一下子对这一系列的文章就有了一个初步的打算了。除了这篇文章之外,可能还会写两篇文章,主要写“Perst的良好实践” […]
  • Perst的“关系型数据库封装”2017-01-07 Perst的“关系型数据库封装” (0)
    看到这个标题,大家可能会觉得很奇怪,Perst明明说是一个面向对象的数据库,为什么要有“关系型数据库封装”呢?像常见的程序一样,一般需要向下兼容,如果你之前精 […]
  • 面向对象数据库:Perst总结2017-01-11 面向对象数据库:Perst总结 (0)
    这几天写了不少关于Perst的东西,现在总结一下: 1、想学习一个新的面向对象数据库:Perst。在这时以为自己发现了新大陆,对Perst的期待还是挺高 […]
  • 面向对象数据库Perst使用入门2017-01-07 面向对象数据库Perst使用入门 (0)
    我比较热忠于面向对象数据库的原因是使用面向对象数据库时对数据的存储不需要编写(或编写量很小)额外代码来进行数据的存储及读取。特别是在很多情况下存储与读取的数据 […]
  • 想学习一个新的面向对象数据库:Perst2017-01-05 想学习一个新的面向对象数据库:Perst (0)
    Perst大家可能并没怎么听说过,不过这个数据库和eXtremeDB关系还是比较密切的。具体什么关系自己还真不太清楚,毕竟自己没怎么用过eXtremeDB,没 […]
  • db4o基础与入门2016-01-29 db4o基础与入门 (0)
    如果你使用的编程语言是java或者.net(笔者最常用的编程语言为C#,所以下文中以C#说事,请读者勿怪),那你有福气了,db4o可以说是一种最自然的数 […]

说点什么

6 评论 在 "面向对象数据库比较之Perst和db4o"

提醒
avatar
排序:   最新 | 最旧 | 得票最多
SHA逼鬼
游客

请问您知道怎么为DB4O这样的数据库添加一个空间索引吗?最近在写毕业论文,卡在这里了。

回顶部