阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

对象关系映射——用户案例研究

  • 2008-07-26
  • 本文字数:1396 字

    阅读完需:约 5 分钟

ODBMS.org 的 Roberto Zicari 收集整理了来自若干对象 / 关系映射技术用户的访谈和故事。这些案例主要围绕着领域模型中的对象技术与数据模型中的关系技术之间的“阻抗不匹配”。Zicari 教授为每位用户准备了五个问题。前面的问题主要围绕请用户解释他们的应用、O/R 的障碍,以及用户如何解决或者绕过困难。后面的问题调查 ODBMS 技术是否以及如何在这些领域中发挥了作用。这五个问题分别是:

  1. 请简要解释你的应用领域以及你在企业中的角色。
  2. 你是否遇到“阻抗不匹配”的问题?
  3. 你用何方案存储和管理持久化对象?对于在新项目里使用各种持久化方案你有何经验?在使用中得到什么教训?
  4. 你是否相信对象数据库系统是解决“对象持久化”问题的合适方案?如果是,为什么?如果否,又为什么?
  5. 你对对象持久化领域未来一到两年的研发有何希望?

在这项研究里,对于术语“阻抗不匹配”是这样描述的:> 持久化存储数据所采用的数据模型(无论是文件系统还是数据库管理系统)如果与编写程序(C++、Smalltalk、Visual Basic、Java、C#)时所采用的数据模型有差异,就称为“阻抗不匹配”问题。

虽然对于 O/R 阻抗不匹配的定义、甚至这个问题是否存在都有所争论,但在Zicari 的调查中很多人都说曾经在项目中遭遇过这种问题。英国Iona 的技术监督John Davies 在回答“你是否遇到‘阻抗不匹配’的问题”时说: > “阻抗不匹配”是企业里的严重问题,高达25-33% 的开发时间浪费在努力将对象挤压进关系型的持久化,也就是一般说的对象关系映射(ORM)。虽然ORM 工具的例子都着力演示其简易,但现实的情况要复杂好几个数量级,于是整个ORM 的概念都没法站住脚。即便最优秀的ORM 工具也会创建出效率极低的模型,导致严重的性能问题。

Richard Aherns 是 Merrill Lynch 的一名主管,他也认为确实存在“阻抗不匹配”问题。 > 我们绝对遇到了这种问题。对于股本衍生工具行业,敏捷和上市时间是极其重要的。经常会有新产品推出,需要灵活的技术才能适应并跟上行业变化的快速步伐。在订单和报价管理领域,我们有种类非常多的产品和资产,必须一次次维护其 OR 映射,这拖慢了开发人员的生产效率,也限制了我们的伸缩能力。

德国 Siemens AG 的软件架构师 Gerd Klevesaat 也承认存在不匹配问题,他还说明了为何 ORM 工具不一定能帮上开发者的忙。他说,“你被迫使用一种特殊的查询语言来定义查询。如果能用编程语言会比较有利,因为可以对查询语句做编译时检查,还可以利用导航(navigation)能力。”Gerd 指出已经有了一些技术和工具开始填补这个空缺,特别是“.NET 里的 LINQ、db4o 里的原生查询、以及 Groovy 的 DataSet”。Scott Ambler 有不一样的意见,他在 IBM Rational 担任敏捷开发的实践领导。对于“阻抗不匹配”问题,他的回答是在技术方面已经有了几种解决方案(例如 O/R 持久化框架、对象数据库、OR 数据库)。他反过来指出在大多数组织中,数据社群与开发社群之间存在“文化上的阻抗不匹配”:“这两类人对 IT 世界的观察方式不一样,两者的方式都各有优劣,而紧密合作会使两者都受益。”在 ODBMS.org 的案例研究之外,Scott对这个主题作了更进一步的阐述

总的来说,Zicari 的研究着眼在暴露面向对象系统使用关系数据库技术的问题。研究还使我们看到,已经有很多开发及商业组织开始把对象数据库和其他对象持久化技术看作是适合解决某类问题的新兴企业技术。

查看英文原文: Object Relational Mapping - User Case Studies

2008-07-26 22:251333
用户头像

发布了 225 篇内容, 共 69.9 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB 3.0.2 手动指定 Drainer CommitTS

TiDB 社区干货传送门

041-使用DM进行同步上游数据到 TiDB

TiDB 社区干货传送门

TiDB 在转转的标准化之路

TiDB 社区干货传送门

转转业务开发对 TiDB 的使用心得

TiDB 社区干货传送门

TiDB 最佳实践

TiDB 社区干货传送门

周末了,一起来看看 TiDB 的 AP 能力

TiDB 社区干货传送门

【精选实践】TiDB 在 360 商业化的应用和实践

TiDB 社区干货传送门

TiDB 3.0.1 与 3.0.2 版本的 TiKV 宕机对比测试

TiDB 社区干货传送门

转转数据库架构构建之道

TiDB 社区干货传送门

查看 TiDB运行 内存快照分析

TiDB 社区干货传送门

Spark Standalone集群升级步骤

TiDB 社区干货传送门

TiDB 常见问题处理 - 热点

TiDB 社区干货传送门

易果 TiDB 的使用以及数据中台的思考

TiDB 社区干货传送门

补充 RECOVER 导致 TiDB Binlog 同步错误处理

TiDB 社区干货传送门

Raft一致性协议简说

TiDB 社区干货传送门

谈谈 DDL 的前世今生

TiDB 社区干货传送门

TiDB监控实现--存活监控

TiDB 社区干货传送门

一体化数据同步平台 DM 1.0 GA 发布

TiDB 社区干货传送门

使用 Docker-Compose 部署 HAProxy 为TiDB-Server 做负载均衡

TiDB 社区干货传送门

隔离级别与锁 MySQL 篇

TiDB 社区干货传送门

TiDB 私有云实践

TiDB 社区干货传送门

TiDB在威锐达远程诊断大数据中心的应用

TiDB 社区干货传送门

DM的dmctl中sql-skip使用

TiDB 社区干货传送门

TiDB 3.0.2 版本某业务 TiKV 宕机测试

TiDB 社区干货传送门

TiDB 拓扑查询工具qtidb

TiDB 社区干货传送门

继续,来看看 TiDB 3.0 在 AP 方面的进步

TiDB 社区干货传送门

TiDB 在实时渠道转化分析的应用

TiDB 社区干货传送门

TiDB 的正确使用姿势

TiDB 社区干货传送门

开源OLAP引擎测评:Clickhouse vs TiDB vs Palo

TiDB 社区干货传送门

【精选实践】随手科技在 TiDB 的探索之路

TiDB 社区干货传送门

TiDB 在 UCloud 公有云上的实践

TiDB 社区干货传送门

对象关系映射——用户案例研究_数据库_Steven Robbins_InfoQ精选文章