查看: 34062|回复: 71

[精华] 浅谈达梦数据库的兼容性与创新

[复制链接]
论坛徽章:
11
SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:03:45红孩儿
日期:2012-12-19 11:08:17优秀写手
日期:2013-12-18 09:29:09暖羊羊
日期:2015-04-22 14:41:41
发表于 2013-5-15 22:54 | 显示全部楼层 |阅读模式
     我关注达梦数据库有一段时间了,虽然我一直从事oracle开发、维护,但是仍然希望有一天达梦数据库能走进我公司业务系统,跑在更多的中国公司系统上。毕竟达梦是中国人自己的数据库,作为IT攻城狮,老外的东西用的泛滥了,看到自己人的IT产品多少有一点情结的。    达梦实现了很多当前主流数据库oracle、ms sql的功能特性,有不少人认为这是“抄袭”、“模仿”,认为达梦应该多一点创新。然而,我不这样认为。与其说是“模仿”,不如说是“兼容”更贴切些。因为一个产品的功能可以有很多,但主要的、常用的功能也就那么几种,不能说你做产品实现了,然后我做产品就不能实现,实现了就是抄袭、模仿,因为我实现的原理是不同的(也许碰巧相同,但是是我自主研发的,没有拷贝你的源代码)。比如,oracle的rownum 与 ms sql 的top语法都实现了top-N的功能,DM也实现这个功能,并且有两个语法也叫top和rownum(小细节:top和rownum可以一起用,有点意思),其实DM完全可以起个别的名字,干嘛非要与oracle、ms sql一样,落个“模仿”的嫌疑。DM其实就是想做到多兼容其他的语法,这种兼容可以使得oracle、ms sql等其他数据库人员更容易上手,显得DM更亲切。DM与oracle的兼容行还有很多,比如一些性能视图名称、dual表、%type等pl/sql语法,等等。我认为DM实现如此多的兼容行还有一个最重要的目的,后面再说,先说另一个话题-创新。

      与兼容性相比,很多人认为DM的功能创新显得不够明显。然而关系数据库发展至今,几大主要功能像表、索引、日志、审计、备份恢复等都已固定下来了,创新比较困难。像oracle从9i到现在,除了增强稳定性、增强自动优化管理、改改bug,也没什么明显的创新。对于DM目前版本来说,满足国内大部分系统应用应该是没问题的,但是现在仍然是oracle、db2、mssql的天下,估计很多公司都不知道有DM。这是因为DM进入市场太晚,用户了解的少,对DM缺乏信任。在这种情况下,用户更关心的是DM是什么产品,能满足业务系统需要吗,能替代我原来的oracle吗?比oracle更好用吗?人家才不关心你有多少创新。DM现在需要的是开拓市场,获取用户信任。当有了一定的用户规模后,才能继续发展,创新才有价值。
      说到这里,DM要获得更多的用户,就必然会从oracle、mssql那里争取市场,这样就不可避免得涉及到oracle到DM、mssql到DM的数据库迁移工程了。如果DM已经做到最大化的兼容oracle、mssql的语法功能,那么迁移不是很容易的事吗?用户也自然愿意从oracle迁到DM了。我想这就是DM花费大力气实现数据库兼容的最重要的原因了。
      总之,我是很赞同DM的兼容策略的,这是个好的方向。对于DM来说,稳定的功能版本+更好的服务支持+壮大的用户群远比创新重要,至少目前是这样。

以上是我个人的胡言乱语,与DM无关,与oracle无关,与mssql无关,与CCAV无关。。。,仅代表我个人的观点。如有描述不当,欢迎大家拍砖。
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2013-5-16 06:29 | 显示全部楼层
好文章

使用道具 举报

回复
论坛徽章:
11
SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:03:45红孩儿
日期:2012-12-19 11:08:17优秀写手
日期:2013-12-18 09:29:09暖羊羊
日期:2015-04-22 14:41:41
 楼主| 发表于 2013-5-16 08:51 | 显示全部楼层
OO老大,你起的真早

使用道具 举报

回复
认证徽章
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
发表于 2013-5-16 09:08 | 显示全部楼层
说的真好,完全道出了我们的心声,应该加精!

使用道具 举报

回复
认证徽章
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
发表于 2013-5-16 13:48 | 显示全部楼层
sohay 发表于 2013-5-16 08:51
OO老大,你起的真早

oo是起的比较早,我是睡的比较晚

使用道具 举报

回复
论坛徽章:
14
ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09三菱
日期:2014-01-22 18:07:43宝马
日期:2013-11-10 11:40:26问答徽章
日期:2013-11-05 12:22:19凯迪拉克
日期:2013-08-05 09:33:04ITPUB社区千里马徽章
日期:2013-06-09 10:15:342013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2012-12-16 18:10:47
发表于 2013-5-16 17:54 | 显示全部楼层
名字跟oracle什么的一样是为了满足开发商吧,这是国产的悲剧啊,你不一样,别人不想用,代码改动麻烦,你改成一样,说你模仿,没创新。凌晨2点睡觉的飘过。。

使用道具 举报

回复
论坛徽章:
11
SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:03:45红孩儿
日期:2012-12-19 11:08:17优秀写手
日期:2013-12-18 09:29:09暖羊羊
日期:2015-04-22 14:41:41
 楼主| 发表于 2013-5-16 18:16 | 显示全部楼层
本帖最后由 sohay 于 2013-5-16 18:19 编辑

现实就是这么残酷,国产数据库首要的问题是要生存,要顾及客户,必然要做一些妥协,我想谁也不愿意把自己的心血贴上别人产品的标签。虽然DM的很多东西名称与oracle一样,但是内部的实现原理肯定大不相同,精妙的实现算法也是一种创新,只是别人看不到。

使用道具 举报

回复
论坛徽章:
2
2012新春纪念徽章
日期:2012-01-04 11:54:46蛋疼蛋
日期:2012-11-07 13:32:22
发表于 2013-5-16 19:34 | 显示全部楼层
sohay 发表于 2013-5-16 18:16
现实就是这么残酷,国产数据库首要的问题是要生存,要顾及客户,必然要做一些妥协,我想谁也不愿意把自己的 ...

理解万岁,眼泪哗哗的

功能上尽可能做到兼容Oracle,但实现思路的确差异很大

使用道具 举报

回复
认证徽章
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
发表于 2013-5-16 20:12 | 显示全部楼层
tanyangxf 发表于 2013-5-16 17:54
名字跟oracle什么的一样是为了满足开发商吧,这是国产的悲剧啊,你不一样,别人不想用,代码改动麻烦,你改 ...

你们单位还有一个兼容mysql错误的需求呢,mysql插入超过列定义长度的字符串,直接截断,不报错。

使用道具 举报

回复
论坛徽章:
14
ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09三菱
日期:2014-01-22 18:07:43宝马
日期:2013-11-10 11:40:26问答徽章
日期:2013-11-05 12:22:19凯迪拉克
日期:2013-08-05 09:33:04ITPUB社区千里马徽章
日期:2013-06-09 10:15:342013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2012-12-16 18:10:47
发表于 2013-5-16 22:29 | 显示全部楼层
myth8860 发表于 2013-5-16 20:12
你们单位还有一个兼容mysql错误的需求呢,mysql插入超过列定义长度的字符串,直接截断,不报错。

这是哪里的事?我怎么不知道呢

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表