【IT168 独家】
编者言:在4月份举办的2010中国数据库与商业智能技术大会上,国产数据库的代表厂商达梦高调亮相,给一向由国外厂商把持的企业商业数据库市场带来不小的波澜。人们开始纷纷将目光投向国产数据库软件市场,开始关注由中国人自己开发的数据库产品。
国产数据库产品究竟能不能用?在功能和特性上够不够用?为了解开这些疑问,我们特邀请在数据库业界众多知名的技术专家亲身试用相关产品,并真实地写出自己的试用感受。这些专家大都是Oracle数据库的ACE,或者是对其它主流的商业数据库十分精通和了解,让他们站在这样的角度来客观写出自己对国产数据库的技术评测,是非常有说服力的。
尽管各位专家的工作都十分繁忙,但他们还是都认为,将国产数据库软件在技术上的真实情况书写出來,给出自己中肯的评价,这是一件非常有意义的工作。 更令人欣慰的是,相比过去,今天像达梦这样的国产数据库产品已经显得非常自信,它们希望听到业界技术专家的建议甚至是批评,不断完善自己的产品和功能,这将是一个非常良性的循环,长此下去,我们相信,摆在国产数据库脚下的将是更为宽广的道路!
作者简介:杨廷琨(网名Yangtingkun),现任海虹医药电子商务有限公司首席DBA, ITPUB论坛Oracle数据库管理版版主,知名社区技术专家。2004年曾参与编写《Oracle数据库性能优化》一书,2007年被Oracle公司授予Oracle ACE称号,喜欢研究Oracle相关的技术问题,他的技术博客上积累了1500多篇Oracle相关的原创技术文章。
前几天ITPUB的熊主编和我联系,希望我能参加国产数据库达梦的试用活动,并写几篇使用感受。本来最近手头的事情比较多,本打算推辞的,不过熊主编再三邀请,而且强调并非是枪手文,只要写出真实使用感受即可。既然如此,我就本着支持国产数据库的原则,写几篇试用感受。
达梦6.0试用之备份恢复(即将发布)
达梦6.0试用之导入导出(即将发布)
由于本人唯一熟悉的数据库就是Oracle,因此所有的对比都是与Oracle数据库进行对比,在这个过程中,将尽可能避免将对Oracle数据库的喜爱之情带进来,争取站在一个比较公正的位置上来进行评价。
这一篇简单介绍一下达梦数据库的锁机制和并发控制。
达梦的锁机制和Oracle的并不相同,Oracle和其他数据库相比最突出的特点就是锁的实现,一方面是行级锁,而且锁并非资源,只是占用极少的存储空间;另一方面Oracle没有读锁,读不阻塞写,写也不会阻塞读。即使DB2、SQLSERVER等数据库也无法做到这一点,显然不能要求达梦达到这样的标准。
看看达梦的锁实现:
2 (ID NUMBER,
3 NAME VARCHAR(30),
4 AGE NUMBER);
CREATE TABLE T
(ID NUMBER,
NAME VARCHAR(30),
AGE NUMBER);
time used: 45.975(ms) clock tick:76680990.
SQL>INSERT INTO T
2 VALUES (1, 'A', 10);
INSERT INTO T
VALUES (1, 'A', 10)
1 rows affected
time used: 0.473(ms) clock tick:770450.
SQL>INSERT INTO T
2 VALUES (2, 'B', 20);
INSERT INTO T
VALUES (2, 'B', 20)
1 rows affected
time used: 0.423(ms) clock tick:698510.
SQL>INSERT INTO T
2 VALUES (3, 'C', 30);
INSERT INTO T
VALUES (3, 'C', 30)
1 rows affected
time used: 0.391(ms) clock tick:643640.
SQL>COMMIT;
COMMIT;
time used: 11.657(ms) clock tick:19480330.
SQL>SELECT * FROM T;
SELECT * FROM T;
ID NAME AGE
1 1 A 10
2 2 B 20
3 3 C 30
3 rows got
time used: 0.448(ms) clock tick:739460.