项目经验-倪泳智

本文作者分享了参与的多个项目,包括Kingbase大型数据库引擎的研究应用,涉及数据复制技术,强调了前期调研和数据结构设计的重要性。此外,还参与了大规模并行数据库系统研究,探讨了内存数据库的数据结构挑战。在教育领域,参与了《数据库系统概论》精品课程和《马克思主义哲学》网络课件的建设,强调了用户需求和多媒体教学手段。最后,介绍了校友网络管理系统和捐赠服务系统的开发,阐述了数据规范化和用户体验的关键性。
摘要由CSDN通过智能技术生成
项目一:Kingbase大型通用数据库引擎的研究应用
项目简介(功能与用途):

“Kingbase大型通用数据库引擎的研究应用”是国家863数据库重大专项攻关课题。该课题研究开发出的产品化成果为通用关系数据库管理系统“金仓数据库管理系统”(Kingbase Enterprise Server,简称KingbaseES)。
KingbaseES基于成熟的关系数据模型,是一个跨越多种软硬件平台、具有大型数据管理能力、高效稳定的数据库管理系统。其核心技术源于中国人民大学数据与知识工程研究所承担的国家863高科技计划项目并行数据库管理系统PBASE。该项目曾获得北京市科技进步二等奖和国家教育部科技进步二等奖。
在2005年科技部组织的国产数据库评测中,KingbaseES独占鳌头,获得总评分第一名的好成绩。

项目难点与解决方案:

KingbaseES是一个大型的通用数据库管理系统,整个系统庞大而复杂。本人具体负责的是与数据库服务器配套的数据复制方案的设计与开发(即数据复制服务器),是一个相对独立的组成部分。因此,在这里具体探讨一下复制技术。
目前大多数主流数据库系统,如Oracle,Sybase ASE,IBM DB2 ,Microsoft SQL Server等都已经实现了相应配套的数据复制功能。譬如,Oracle的Advanced Replication,Sybase的Replication Server,IBM DB2的 DataPropagator 和DataJoiner,以及Microsoft SQL Server的Replication。他们大都基于日志(或触发器)捕捉更新,支持异步复制,支持异源数据。(Oracle还支持同步复制)
但对于国内的数据库来说,尚缺乏能够真正配套的复制方案。因此,设计一个可扩展的复制解决方案,并实现该复制系统框架,是提高我国数据库产业,增强数据库性能,提高数据可用性以及应用可靠性的一个关键。

目前数据复制的实现技术基本有两种方案:一种是通过扫描主数据库的日志来发现更新操作,然后转发到从数据库中应用更新;另一种是在主数据库上定义触发器来捕捉更新操作,并在一定时间间隔内转发到从数据库中应用更新。
为了提供高性能、高可用的复制方案,我们参考了各大主流数据库的复制功能,并且仔细权衡了各种技术的利弊,选择了触发器更新的异步复制方式。
同时,考虑实际应用的需要,我们简化了复制模型,最终采用了一主多从(Single Master,Multi Slaves)的异步复制方式,这样既可以满足大部分日常应用的需求,又可以避免多个主数据库所带来的更新冲突。
考虑到复制方案的跨平台性,以及支持异源数据,支持各种主流数据库的复制和数据迁移的扩展性要求,我们选取了基于虚拟日志(Virtual Log)的更新捕捉机制。当数据更新(包括更改、插入、删除)操作在主库端发生时,触发器机制会捕捉更新,将其记录在一个预定义的虚拟日志中以供复制服务器使用。这样对主数据库的本身的日志格式没有特定的要求,可以将复制服务器作为一个应用程序来实现。
因此,该复制方案设计了一个不与特定数据库相关的复制框架,既保证了复制的效率,又可以在此体系下方便的实现多种异源数据的复制,具备极大的可用性和可扩展性。

项目成功与失败的经验归纳:

在项目开始时,前期的调研工作非常重要。必须对该项目相关的工作以及研究成果有充分的了解,才能准确把握,制定合适的解决方案。这个方案应该是最合适实际情况的,而不是技术最前沿,或者复杂度挑战性最高。
同时,数据结构的设计在整体性能和效率方面有极大的影响,必须下足功夫。
为了保证软件的高可用性和稳定性,除了常规测试外,还必须进行多种极端测试(譬如,大规模的压力测试),找出影响效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值