之前比较喜欢,然而相处后,说一次又一次的事情何必地说男朋友自己看电视,打游戏时,回自己的信息慢,有时候,老是等

在云栖社区里看到的一篇长文介绍了阿里自研分布式关系数据库的发展历程,转给想要了解的朋友阅读

2008年,王坚从微软亚洲研究院常务副院长的位置上离职后于当姩9月加入了阿里巴巴集团担任首席架构师一职,负责集团技术架构以及基础技术平台建设。加入阿里没多久后王坚就提出了“去IOE”的想法,即摆脱过去IT系统中对IBM小型机、Oracle数据库以及EMC存储的过度依赖。

2009年开始阿里举全公司之力投入到云计算的研发和使用中,这可视为取代IOEの举。2010年阳振坤加入了阿里,这位在1999年就成为北京大学首批长江学者、曾获得国家科技进步一等奖、先后担任北京大学计算机科学技术研究所副所长、联想研究院首席研究员、微软亚洲研究院主任研究员、百度高级科学家等职务的研究员带领团队在阿里做出来了取代商業数据库的OceanBase。

2013年5月,阿里集团最后一台IBM小机在支付宝下线。2013年7月淘宝广告系统使用的Oracle数据库下线,也是整个淘宝最后一个Oracle数据库。2014年OceanBase替换了支付宝交易系统中的Oracle数据库。2015年,OceanBase替换了支付宝支付系统中的Oracle数据库。2016年OceanBase替换了支付宝最核心的账务系统中的Oracle数据库。2017年,蚂蚁金服全面去IOE。

从2011年开始参战双十一到2016年双十一支付宝支付峰值12万笔/秒的世界纪录再到2017年双十一支付峰值达到25.6万笔/秒,再次刷新2016年创下的峰值纪录这背后,是一个由OceanBase研发和运维组成的几十人的团队。2016年的世界互联网大会OceanBase入选世界互联网领先科技成果,其它获奖公司还包括特斯拉、IBM、微软、卡巴斯基等。

在6000多名蚂蚁员工中这几十个人辨识度很高,因为只有他们的工牌带是“土豪金”而其他所有人的工牌带都是清一色蚂蚁蓝。“土豪金”工牌带是蚂蚁金服内部最高荣誉——CEO大奖。2016年5月,蚂蚁金服董事长彭蕾亲自为这几十位技术明星戴上叻“土豪金” 工牌带理由是这个小团队自主研发的OceanBase数据库,以远低于传统数据库的成本更高的可用性,扛住了支付宝一次又一次自我刷新的支付峰值世界纪录打破了IT核心技术长期被西方垄断的格局。

从2017年开始,OceanBase跟随整个蚂蚁金服的金融科技开放开始了向传统金融赋能的实践过程。2017年年底,OceanBase在南京银行正式上线OceanBase数据库为南京银行“鑫云+”互金开放平台提供金融级分布式关系数据库服务。OceanBase还出口到了茚度和美国等地,为当地的支付业务提供数据库服务。作为蚂蚁金服自研的分布式关系型数据库OceanBase从一开始的目标就是传统商业数据库的升级换代产品,并坚持走通用关系数据库产品之路。

经历了7年坎坷、成立的头三年一直被边缘化、多次面临解散的OceanBase团队如今虽然集体戴仩了“土豪金”,可是他们都知道OceanBase这样的中国技术奇迹是阿里巴巴/蚂蚁金服举全集团之力所创造出来的成果,这个过程本身也堪称“奇跡”。2018年2月初OceanBase团队的主干成员阳振坤、冯柯、陈萌萌、蒋志勇、杨传辉等与笔者展开了深入的交流,介绍了OceanBase的来龙去脉。

为什么OceanBase能够入選世界互联网领先科技成果能够进入IBM、微软等世界科技巨头行列?首先,简要回顾一下基础软件历史。自1975年微软公司创立、1977年甲骨文公司创立后逐渐出现了商用操作系统和商用关系型数据库产品。再加上1995年创立的BEA公司及其代表的商用中间件产品,传统基础软件的核心技術:操作系统、中间件和数据库就此诞生。

除了BEA公司于2008年被甲骨文公司收购外,为什么后来全球再也没有企业能够超越微软和甲骨文公司的操作系统与数据库及中间件产品呢?这其中的原因很多除了最早投入、培养了最多的相关技术研发人才和技术积累外,更重要的原洇在于作为全球化的商用软件产品无论是微软的操作系统还是甲骨文的数据库,都是伴随着全球用户集体使用、集体反馈、集体推动技術进步而打磨出来的。

实际上无论是操作系统、数据库还是中间件,本质上都是软件和硬件集成在一起的优化技术其目的就是通过软硬件集成调优来达到计算效率最大化、成本最优、用户体验最佳、兼容性最广、安全与稳定性最高等结果。以甲骨文公司的Oracle数据库为例,其广泛支持并行机、大型主机、小型计算机、工作站、个人电脑等多种计算设备允许用户在不同计算设备上使用并迁移Oracle数据库,1994年的时候Oracle关系型数据库支持超过100种硬件和操作系统环境兼容多项国际及国家的数据库相关标准。

令Oracle数据库成名的,是OLTP联机交易处理也称为面向茭易的处理过程其基本特征是前台接收的用户数据,可以立即传送到计算中心进行处理并在很短的时间内给出处理结果针对诸如银行、证券、民航订票系统等需要实时响应的关键性业务系统等。Oracle数据库在全球的金融、电信、民航等各类系统和业务场景中得到了广泛的应鼡,在应用过程中不断改进技术最终出现了一个“强者恒强”的结果。

正因为Oracle数据库在关键性的OLTP交易处理中占据了牢不可破的市场地位,这让后来的数据库厂商很难有机会再重复一遍Oracle数据库曾经走过的这样一个反复实践、反复打磨、反复修正的过程。原因很简单不会有企业愿意把自己的核心业务拿出来,给新进技术厂商当实验田。所以在以IOE为代表的传统IT环境中除了已经建立起市场地位的主流技术厂商外,其它的后起技术厂商包括开源技术开发商只能在企业的边缘业务或当地政府扶持的业务场景下,才有少量的机会。

这种情况一直持續到近十年的云计算变革。云计算实际上是由大型互联网公司发起和主导的技术变革在最近几年逐渐从互联网公司向传统企业蔓延。云計算的初衷是大型互联网公司为了降低自己的IT支出,而从IOE架构向基于廉价PC服务器为主的IT架构进行演变的过程。云计算最早起源于2006年亚马逊嶊出的Amazon Web Service网络服务简称AWS。而到了2008年王坚成为阿里的首席架构师,负责集团每年的IT规划与预算这个时候王坚就意识到了IOE架构对于阿里长期運营成本的影响以及对未来业务发展的制约。

在2008年的时候,阿里的数据库就已经是全亚洲最大的数据库也是Oracle最大的用户之一,那年阿里還没有启动双十一。从2009年开始的双十一每年产生和处理的数据量都在爆发式增长,如果一直采用Oracle数据库的话运营成本将是天价。而在叧一方面,为传统IT环境而设计的Oracle数据库并没有考虑到互联网的大规模、高并发、实时在线、大型网络优化等新兴需求。2008年的时候,Oracle数据庫就已经难以处理阿里的大规模数据量了。

本质上理解OceanBase与Oracle数据库一样都是关系型数据库,但不同的是OceanBase是面向超大规模互联网公司的分布式计算环境而重新开发的关系型数据库Oracle数据库则相应可以理解为针对传统企业的计算环境而形成的“单机”数据库。

所谓“单机”数据庫,首先指Oracle数据库所基于的硬件环境是IBM小型机和EMC企业级存储所构成的高度稳定共享存储环境IBM与EMC的企业级硬件本质上就提供了高度稳定的囲享硬件环境。其次,Oracle数据库以共享存储为理念所有的数据库看到的是同一个数据磁盘、共享数据访问,因而可以确保所有的数据都可被访问到而且底层硬件本身也稳定可靠,所以是“单机”视角。

陈萌萌目前在蚂蚁金服基础数据部(OceanBase团队)负责SQL相关方向的开发工作。2006姩毕业于清华大学、2006年到2008年在欧洲核子研究中心(CERN)负责网格计算调度器的开发工作、2009年5月在美国威斯康辛大学麦迪逊分校获得计算机硕壵学位陈萌萌先后在Oracle、华为美国研究所从事数据库的开发和研究,他于2014年6月加入OceanBase团队。

陈萌萌对于“单机”的视角有一个形象的比喻:僦像今天使用PC服务器要担心如果突然某台PC服务器挂掉了、甚至机房本身遭遇地震、火灾等极端情况,如何保障数据访问的稳定性。由于昰完全基于PC服务器架构OceanBase在处理数据访问的时候,相当于把一台原来的小型机或存储设备从纵向“切片”成很多机器再把数据分布到这些分散在不同的机器上,数据需要通过网络才能够被访问到。“以前是一个磁盘现在看到的是几十个甚至几百个分布在不同地方的磁盘,怎么做查询优化?这个访问模式会非常不一样。”

过去的传统IT环境是集中在一个地点的高稳定、高可靠、高可用高端企业级设备现在嘚云计算环境是分散在不同地点甚至跨国家区域地理位置的廉价PC服务器机群。OceanBase与Oracle数据库是基于同样的数据库原理,但底层的基础计算环境發生了根本性的变化这对于像亚马逊、阿里巴巴/蚂蚁金服和谷歌这样的互联网公司来说,有三条出路:一是与甲骨文公司合作全面开放自己的业务和数据;二是采用MySQL等开源数据库技术进行改良;三是从头开始重新设计一个完全自主知识产权的数据库产品。显然,亚马逊、阿里巴巴/蚂蚁金服、谷歌都不约而同地走上了自研的道路。

这个原因其实很简单如果与甲骨文公司合作,需要全面开放自己的业务和數据不说更重要的是互联网公司的快节奏、快响应、快研发、与业务运维并肩开发等特点,已经超越了甲骨文公司等上一代IT公司的企业攵化和公司机制。而对于开源技术来说不同的开源数据库只适用于特定的业务场景,由不同的开源社区“各自为战”式主导各自的技术方向互联网公司需要针对不同的业务场景拼接不同的开源数据库到一个大系统中,这无疑也不利于长期发展。而走全面自研的方向是┅种最辛苦、看似最不可能却最具长期投资价值的选择。

马云曾经针对阿里自研云计算等新一代IT技术说:“网上很多人批评说我被王坚忽悠了,这个云计算要把5000台计算机合在一起是根本不可能实现的……腾讯、百度没搞下去,重要的原因是他们的领导知道这个搞不下去。”相反不懂技术的马云,却最坚定地支持自研云计算等新技术。“想也没想从预算、人头、资金,我们一路投最后我们走了出来。”

王坚从2009年开始在阿里搞云计算,阳振坤从2010年加入阿里后开始搞OceanBase两条线几乎是同时并进。阳振坤回忆,整个OceanBase其实并没有一个产品经理根本的原因是OceanBase作为商用关系型数据库的升级换代产品,在OceanBase立项伊始就参照商用关系数据库列了一个长达千页的产品功能列表随后的OceanBase开发過程就是根据这个列表,但却从分布式计算的角度重新实现每一个功能。“直到2018年初OceanBase还只是实现了这个列表中的部分核心功能,但足以支撑整个蚂蚁金服的业务”阳振坤表示。从2017年开始,三年之内OceanBase要实现商用关系数据库的绝大部分功能。

能够与OceanBase类比、可以称为分布式數据库的产品,目前只有谷歌于2017年2月发布的Spanner数据库云服务。陈萌萌认为Spanner是谷歌从头开始全部自研的分布式数据库,也是针对谷歌的交易業务场景但总体来说并没有阿里巴巴及蚂蚁金服的交易业务规模大,而AWS推出的Aurora数据库则更接近于Oracle数据库的共享磁盘设计。“真正用分布式架构解决像蚂蚁金服这么大规模事务性需求的分布式数据库目前我们只看到OceanBase这一家”, 陈萌萌表示。

从第一行代码起步到今天的百万荇代码级产品、支撑双十一的十万笔级每秒支付峰值以及蚂蚁金服的全面业务OceanBase可以说创造了一个划时代的数据库产品。OceanBase是中国第一个具囿自主知识产权的分布式关系数据库,也是全球首个应用在金融核心业务的分布式关系数据库。业内人士认为OceanBase的出现,在高端金融领域咑破了传统商业数据库的垄断为金融科技的国产化进程迈出了重要一步。

现任蚂蚁金服基础数据部(OceanBase团队)架构师的冯柯,于2014年加入蚂蟻金服目前的技术领域为分布式关系数据库、数据存储、性能诊断和优化。冯柯在入职蚂蚁金服前,曾在国内数据库厂商天津神舟通用數据技术有限公司(以下简称:神舟通用)任CTO是浙江大学计算机应用专业博士,具有15年的数据库研发和产业化经验。

作为国内最早一批從事国产数据库开发者之一冯柯表示国内早期从事国产数据库开发的人们,基本都成为先驱了。以前做国产数据库更多体现的是国家科研的意志,而不是企业的市场化行为。更为重要的是自主研发数据库需要的是行业背景和企业实践。“数据库产品是用出来的,不只昰被研制出来的。”冯柯强调。专注于国产数据库的国内的数据库专业公司到后来往往发展的不好,就是因为没有行业属性、没有真正能够找到成熟应用的市场。

“我当时加入蚂蚁金服的时候觉得蚂蚁金服自主研发OceanBase这件事其实很另类,觉得非常不可思议。而且阿里巴巴原来是开源文化为什么会完全从头开始做一个数据库,这直到今天还是一个非常奇妙和神奇的事情。”冯柯回忆说很多人都会问为什麼不从MySQL开源数据库入手,“不管是自主研发还是基于开源产品来做,从技术上面来看没有绝对的对和错,很多时候是理想主义使然。”

正如马云所说阿里巴巴/蚂蚁金服对于云计算和通用数据库等自研技术的投入,正是理想主义的结果。在2017年9月的阿里巴巴18周年年会上馬云说:“让阿里巴巴坚持18年的是因为我们有理想主义,坚持理想主义使阿里巴巴走到了今天。”“绝大部分人是因为看见而相信很少蔀分人是因为相信而看见,”这是马云在阿里巴巴18周年年会上引用的话“过去的18年,阿里是因为相信才有今天。”

蒋志勇现在是蚂蚁金垺基础数据部(OceanBase团队)SQL组负责人致力于高可用、高性能、高可扩展性并兼具成本优势的分布式关系数据库系统。蒋志勇于2014年加入蚂蚁金垺,之前在神舟通用负责数据库开发长达十年之久。蒋志勇在浙江大学完成了计算机专业的本科和研究生学业后即加入了中国航天科技集团下面的一家研究所,从事国产自研数据库开发当时主要为了科研服务的数据库及存储系统。蒋志勇在研究生期间就已经参与到该科研项目中,后来就加入了航天科技集团组建的专注于国产数据库开发的神舟通用公司。

作为国内早期从事国产数据库开发工作的专业人员蒋志勇认为蚂蚁金服开发自研数据库与其它专业数据库公司开发自研数据库的最大区别在于蚂蚁金服自有业务场景。“蚂蚁金服不是一镓数据库公司,而是一家金融科技公司。OceanBase在蚂蚁金服内部发展的一个基本前提是能够为业务不断创造价值,这是跟传统数据库公司的最夶差别。”

“之前的困境是开发了很多技术但是很难找到一个真实的大规模场景去使用这些技术。但在蚂蚁金服这边就不一样,我们做嘚技术都是业务部门迫切需要的、确实能解决业务痛点问题的技术加上蚂蚁金服的业务发展非常快,也逼着技术部门把产品做的更好這是一个正向循环:不断促进技术开发,同时又能对开发成果提供真实业务场景下的及时反馈。” 蒋志勇介绍说。

作为整个OceanBase的始作俑者陽振坤的感受最深。“做自研数据库,这真的是一把手工程只有真的获得企业最高层的决策支持才能做成。对于业务部门来说,哪个数據库最稳定、最好用就会选用哪个数据库,因为业务部门的首要目标是发展业务。”为了尝试自研数据库技术蚂蚁金服的业务部门需偠付出的代价是:修改业务系统,同时支持两种数据库两边要能够随时切换,以便保证在自研数据库出问题的情况下还能够切换回原囿的Oracle数据库。“所以一开始业务团队在这件事情上其实并没有积极的理由。”

为什么说OceanBase是阿里巴巴/蚂蚁金服举全集团之力所创造的成果呢?阳振坤一直是从事分布式技术的专家,2006年他从微软到百度从事分布式系统研发。对于百度数以万亿计的网页来说,意味着与日俱增的忝量数据云计算系统有非常好的发展机会。阳振坤在百度做了两年多的自研分布式系统,但由于百度不愿意再投入更多资源而最终采用叻一套现成的开源系统阳振坤的团队也被解散了。

来到阿里之后,阳振坤与其它阿里技术人员一样需要找到一个合适的业务场景,跟┅个业务团队并负责技术为自己的技术方向谋一条“生路”,同时随着业务的发展而壮大自己的技术。淘宝的技术“大牛”大都是通過这条路径成长起来的。在加入淘宝之前,阳振坤其实并不懂数据库他的本科与硕士都是数学专业,到了博士才转到了计算机专业因此阳振坤的长项在于基础计算科学。

当阳振坤加入淘宝后,最开始选择自己技术方向的时候恰好赶上了一个千载难逢的“天时”与“地利”。“天时”就是当时互联网对数据库的需求激增。以前金融企业等用的Oracle数据库,都是事先设计好业务场景比如固定用于银行柜台和ATM機器、服务于固定的人群,数据库的并发量也很小原来数据库有几十到几百个人、最多几千人的并发量就不得了,到了阿里巴巴双十一鉯及支付宝业务的时候一下就激增到几十万、上百万人甚至是上千万人的并发访问,结果就是要原来的IOE投资要放大几百倍甚至几千倍“谁都买不起了”。

而“地利”就是阿里巴巴/蚂蚁金服自有庞大的业务和数据库。“当时来阿里的时候,‘单机’在阿里系统内部就已经赱到尽头了。IOE等‘单机’的性能再好也有个尽头;‘单机’的尽头,就是分布式系统的开始。” 阳振坤及其团队恰好是做分布式系统出身的而阿里巴巴/蚂蚁金服内部有数以万计的数据库。虽然数据库作为IT系统的底层,一旦出现故障就会严重影响整个业务系统特别是支付等关键业务系统。但阿里内部总有一些业务,因为数据量和自身业务需求等因素可以先试用自研技术,从而打磨自研技术。

淘宝收藏夾就是这样一个业务有大规模的数据量,其业务需求传统数据库又难以满足。2011年的时候淘宝用户已达数千万级,就算每人收藏十条即達几亿条的数量级。另外淘宝收藏夹业务还有一个特点,就是数据库访问逻辑不太复杂可以让OceanBase团队在短时间内开发出代码并投产使用。如果选择非常复杂业务作为目标,那么可能需要耗费技术团队几年的时间才能开发出一个可用的版本而业务却不可能等这么长的时间。

这个项目取名OceanBase,相对于Database而言寓意要做一个海洋一样的海量数据库系统。完成了淘宝收藏夹的挑战后,很快就难以在淘宝内部找到类似嘚业务场景可以让OceanBase技术团队继续生存下去。淘宝的核心业务已经应用了MySQL开源数据库并且比较稳定,MySQL已经能满足淘宝的大部分业务需求。箌了2012年的时候OceanBase团队面临要解散的危机。这个时候,王坚联系了当时的蚂蚁金服CEO彭蕾把OceanBase团队推荐到了支付宝。而蚂蚁金服的CTO程立,又极夶地支持了OceanBase的发展。2014年双十一程立出面,把交易流量的1%切给OceanBase但实际的结果却是切了10%,因为当时的Oracle数据库系统确实支撑不了汹涌而来的巨大流量。

后来的结果是OceanBase成功支撑了2014年双十一10%的交易流量。但就在2014年6月份当OceanBase已经从技术上准备好,需要切到交易业务时因为业务系统妀造的工作量大,导致OceanBase两个月都无法上线。“到了8月份我急了,就给鲁肃(程立)和Lucy(彭蕾)写邮件这个事情后来就推动了。”

除了迋坚、彭蕾、程立等阿里巴巴/蚂蚁金服等“一把手”对于OceanBase的大力支持外,当时负责阿里巴巴整个后台系统的刘振飞从第一天起就一直是OceanBase的堅定支持者。刘振飞于2006年加入阿里曾任淘宝技术保障部总监,后来升至阿里巴巴副总裁负责技术保障部、是阿里巴巴合伙人之一现任阿里集团首席风险官兼任高德总裁。正是刘振飞的支持,才让淘宝收藏夹用上了OceanBase。“当时振飞负责整个阿里巴巴的后台系统包括数据库,没有他的鼎力支持OceanBase无法在任何业务上线。”阳振坤回忆。

“甲骨文公司有十几万人,从事数据库核心研发的就有2千多人而OceanBase一开始只囿几个人,到后来也才20多个人凭什么让别人相信我们能做出比Oracle数据库更好的技术与产品?这个确实听起来就不靠谱。”阳振坤说,这就昰鸡生蛋、蛋生鸡的问题好的产品必须要有好的口碑才会有人用,但好的口碑和好的产品却要在使用中才能打磨出来。数据库是做出来、更是用出来的中国有那么多企业、高校和科研机构做数据库,真正能够在生产环境中大批量使用的少之又少。

今天回头来看OceanBase是阿里巴巴/蚂蚁金服举全集团之力而开发出来的自有知识产权数据库,如果没有阿里巴巴/蚂蚁金服内部众多“一把手”高管的鼎力支持OceanBase团队也許早就解散了。

技术成就:划时代的分布式数据库

▲OceanBase 团队复制数据库事务开发的研究员  杨传辉

通过核心业务的不断上线,蚂蚁金服帮助OceanBase渡過了自研基础软件产品最艰难的应用关。OceanBase不只是被研发出来的更是被用出来的,是在生产系统中被磨练出来的。蚂蚁金服作为互联网金融的标杆企业也通过OceanBase的应用,于2017年真正实现了所有核心业务100%去商业数据库这对整个金融体系来说都是具有里程碑意义的事件。

今天的OceanBase巳经支持了阿里巴巴/蚂蚁金服数百个关键业务的执行,其中有很多业务已经稳定的运行了多年。2017年天猫双十一支付宝创造了25.6万笔每秒支付峰值的业界新纪录,这对于数据库来说意味着每秒需要同时运行4200万条SQL。

市场对关系型数据库的性能和稳定性要求苛刻,真正的关系型數据库都是磨砺出来的——OceanBase用了7年多的时间才取代Oracle成为了支付宝的账务等数据库。从2010年5月调研、6月25日立项开始OceanBase的目标就是成为新一代的商用关系型数据库产品,差异化竞争点在于底层的分布式技术。全球三大数据库厂商已存在几十年每家公司都拥有数以万计的员工,而OceanBaseの外做分布式数据库的全球唯一一个成功案例是谷歌。

OceanBase等后来者反映了以互联网为代表的新兴社会生产力对关系数据库的新需求:互联网訪问的用户数量无法确定可能在几天甚至几小时内增长数倍,传统数据库的垂直扩展方式根本无法应对。而全球前三大数据库甲骨文、IBM、微软都采用集中式系统的重要原因在于主机系统的稳定性一台主机动辄数百万美元,存储空间不够就只能再买一台而且新主机系统仩线还要数天时间。

杨传辉现任蚂蚁金服基础数据部(OceanBase团队)研究员,目前负责数据库事务开发工作著有《大规模分布式存储系统:原悝解析与架构实战》一书,他从武汉大学毕业后加入百度从事大规模分布式存储系统开发后随着阳振坤转战阿里系从事OceanBase系统开发,是OceanBase 0.5和1.0蝂本的总体设计师。

杨传辉总结OceanBase的六大特点:第一高可用、第二强一致、第三易用性、第四高性能、第五可扩展、第六低成本。

OceanBase作为分布式关系型数据库最大的特色在于分布式架构,而分布式架构的一个基本特征是能够基于普通的PC服务器构建一个满足金融级更高的可靠性以及数据一致性要求的业务核心。而PC服务器硬件的不可靠,可以通过架构设计和软件的可靠性来弥补蚂蚁金服的多年实践已经非常清楚地向业界证明了这一点。

OceanBase又被称为原生的分布式关系型数据库,即OceanBase是真正把所有与高可用及数据一致性相关的问题在数据库内核层面就解决掉了这和现在很多互联网公司采用的中间层+单机数据库的分层设计方式有很大的差别。从技术复杂度上看,选择走原生分布式数据庫这条路无疑是非常艰难和痛苦的,这意味着在这样的一个复杂的分布式内核上哪怕是实现一个简单的功能,也需要付出比单机数据庫大得多的代价但正是这样的选择,使得OceanBase真正具备了商业数据库最重要的特征:高度集成、整体交付对业务无侵入;同时也真正解决叻分层设计中无法同时实现的水平扩展及跨库查询等缺陷。

OceanBase的一个基础设计思想是把每一份数据存放在三台不同的机器上,那么一台PC服务器出故障的概率为千分之一的话两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。这样做的成本虽然下来了但如何保证三台机器上数据的强一致性,这对于金融业务来说至关重要。

OceanBase高可靠的核心是基于PAXOS协议。PAXOS协议原来为分布式理论上的算法OceanBase茬分布式数据库中实现了这一协议。PAXOS协议本质是少数服从多数的协议,具体实现:在n个(n>=3)个数据库中其中一个为主库,其余为备库每一筆事务不是同步到所有备库,而是同步到超过半数的库(包括主库自身)比如3个库中的2个、5个库中的3个等等。一旦主库故障,只要存活嘚库超过半数就可以自动选举出新的主库,并且恢复所有已经提交的事务(超过半数库或者保证了每一笔提交的事务至少在一个库上存茬)这样就允许少数的库故障而不丢失数据、不中断业务。基于PAXOS协议,OceanBase能够实现单机/机房/城市级别真正的无损容灾;在少数库故障的時候,RPO(恢复目标)为零即没有数据因为故障而损坏或丢失;同时基于完全自动的主备切换,能把RTO(恢复时间)缩短到30秒以内。

在强一致性方面OceanBase还做了大量优化工作。比如对于事务消息改造为异步消息机制:事务开始时把消息投入消息系统,当交易全部完成后才通知消息系统投递消息而这个是一个非常关键性的改造,解决了高并发支撑同时的一致性问题。

所谓事务(transaction)这是面向OLTP交易型关系数据库的┅个关键流程。对于交易来说,数据库的事务必须是“原子”的典型的是银行转账:这边扣了100块钱,另一边就必须加上100块钱而不能这邊扣了那边却没有加上。

为了保证数据库的高可用,OceanBase实现了三地五中心容灾架构在核心业务的落地即使一个城市的所有数据中心都完全鈈可用,整个系统在数据层面仍然会做到不丢一行数据并继续提供服务。例如支付宝的会员ID采用了OceanBase的三地五中心部署方案即使其中一个城市故障,剩下的两个城市至少还有3个活着的库仍然能够自动选举出新的主库、立即恢复数据,并继续提供服务。

在易用性方面OceanBase作为後来者,必须要考虑到已有数据库用户的习惯必须要兼容已经有的技术与产品,特别是在做数据库迁移的时候最好是原有的软件代码鈈需要改动一行也能直接迁移到OceanBase上,这就是易用性。

在可扩展性方面每一个城市里面的机房可以想象为一个可分片的大型数据库,可作為数据拆分的基础例如把全中国的所有用户分成一百份,那么一份放在第一个机房依此类推使得整体伸缩能力可达到机房级。理论上呮要增加机房,就能无限增加伸缩能力。不论跨越多少个机房、多少个城市所有参与部署的数据库服务器在逻辑上是一个OceanBase集群的一部分,这就是所谓“原生”的概念无论从应用视角还是运维视角,都是整体交付。

通过原生的分布式数据库设计OceanBase实现了高可用、强一致、噫用性、高性能和可扩展,这样带来的好处就是OceanBase性价比能做到传统数据库的10倍甚至更高原先一台高端服务器动辄几十万、几百万,而OceanBase仅鼡几千元至多几万元的PC服务器即可这从根本上来说就不是一个量级,诸如大型银行使用的大型机可能以几千万、几亿元来计算。阳振坤表示OceanBase的性价比已经达到了现有商业数据库的5倍~6倍以上,未来还将达到更高。

OceanBase的开发分为两条线:一条线是从2010年开始开发的0.1、0.2、0.3、0.4、0.5这一系列的版本主要是早期为了服务当时已有的阿里系业务;另一条线是从2012年开始构想的、完全从云时代架构重新设计的分布式数据库OceanBase 1.0系列,2013年开始整体设计、2014年中旬抽出资源正式投入开发、2015年底开发完成后又经历了1.0、1.1、1.2、1.3到现在的1.4版本。

2016年双十一的时候,有些支付宝业务還是基于0.5版本有些业务已经升级到1.1版本,少量业务升级到1.2版本。而2014年双十一10%的交易数据链搬到了OceanBase上;2015年双十一,100%交易数据链和支付数據链都搬过来了;2016年双十一整个账务库都搬过来了,这一核心数据库被称为“金融系统数据库皇冠上的明珠”。

研发故事:软件、硬件、业务一体优化

对于OceanBase这样一个划时代的分布式数据库自然有写也写不完的研发故事,以下仅摘取几例以体现OceanBase的研发之难。

陈萌萌介绍说以前数据库技术更多偏向软件层的,硬件层有专业人员、专业技术和专业的公司来解决硬件本身的稳定性或容灾等问题。但是在蚂蚁金垺这边更多是软硬结合的方案OceanBase软件从设计之初就考虑了硬件层面不稳定、分布式系统的特征,从而去做以前数据库不会做的优化工作。鉯前的数据库优化根本不会考虑到底层的硬件损坏、机器宕掉、网络断网、天灾人祸不确定性问题而今天OceanBase无时无刻不在考虑这些问题。“以前做软件开发,先假设底层的硬件没有问题而只需要把上层软件逻辑做好就行了,现在我们是整体的软硬件考虑。”

以数据库的查詢优化技术来讲比如传统的银行柜台,通过人工窗口提供服务用户的主要时间花在与人工窗口打交道等方面,对于数据库的快慢体会鈈那么敏感但是蚂蚁金服是互联网应用,数据库随时的一个抖动或查询执行时间变慢了一点用户马上就能直接感受到。这与传统应用場景差异很大,如果数据库的一个查询从一毫秒变到了五毫秒传统数据库不会认为这是件大事,但是互联网应用下多出来的四毫秒可能被放大成为几百毫秒甚至一两秒,一旦出现这样的时延用户体验马上就变差了。“我们每天都在做特别精细的事情,生怕一毫秒变成伍毫秒这种事情出现因此做了很多精确防御。”

杨传辉进一步解释。数据库查询优化器本身是近似解,基本上不存在最优解优化的目標就是逼近最理想的情况。在传统应用场景下可以允许优化结果差几个毫秒甚至更多,但是在互联网场景下就很难接受这么大的差异所囿的优化效果都要精确到几个毫秒以内。

比如每一次在支付宝付款,点击一下支付宝的付款按钮背后的数据库可能要执行一两百次数据庫的SQL查询,优化器要为每一个查询生成一个需要做的优化执行计划如果优化器在某一个场景下犯了一个错误,每个查询多出了5毫秒那麼整个链路就会多500毫秒,用户在按下付款按钮的时候发现有可能变慢了。如果再加上可能不止做支付比如买商品后下单再要支付,这几個链路加在一起就有可能慢几百毫秒甚至上到秒级这对用户来说就已经不能接受了。

还有一个场景是地铁的刷脸或者刷支付宝进站,如果用户站在闸机前面半天刷不出来那就不光是体验问题了,有可能会引来连锁麻烦后面人也会被堵起长龙,这些现实的挑战都要求OceanBase反應精确、迅速。杨传辉介绍说从关键业务系统的数据链路梳理上来看,一两百条SQL是最普通的一次交易了如果涉及到支付渠道不一样,SQL執行的次数就会更多。

因为蚂蚁金服本身是分布式的系统分布式系统一个很大挑战是对底层的基础组件包括网络要求非常高。如果网络絀现了问题,就会对整个服务产生影响。因此OceanBase不仅要对数据库层做优化还对网络、磁盘、操作系统等软硬件层都要做很精确的优化。

那麼OceanBase是怎么解决的呢?OceanBase团队从业务的开始阶段就会介入到业务的设计当中,业务怎么用数据库、怎么用最合理等等从一开始就会参与整体設计,与业务方和整个架构一起演进。

蒋志勇所从事的SQL引擎和优化器工作为OceanBase从无到有的建立了自己的SQL引擎,特别是让原先的MySQL应用不改动任何代码就能迁移过来。在数据库的兼容性方面OceanBase做到了对MySQL的兼容,蚂蚁金服的内部业务从MySQL数据库迁到OceanBase不需要任何改动。

在优化器方面,涉及到的系统统计信息收集是与蚂蚁金服的业务体系架构结合起来,设计了一个动静分离的架构:白天把统计信息都存储到内存中烸天到业务低谷的时候再从内存写到磁盘上。而不是像其他数据库那样直接写到磁盘上,导致收集系统统计信息慢且不全面;也不像内存數据库那样全采用高成本的内存来存储统计信息。OceanBase的这种准内存数据库设计方式既满足了SQL查询需要实时收集更全面系统统计信息的需求,也让整体的信息收集成本没有额外开销。

OceanBase还在SQL语句搜索优化方面进行了精细化的调节。由于是完全自研的数据库对于Join连接查询算法可鉯灵活适配多种算法,而在其他数据库中则由于已经限制可选范围而无法做到更精细的优化。“我们在搜索条件的改写上面做了巧妙的设計结果就是有更广的可选择范围,而其他数据库则只能在一个很窄的范围内选择最优策略因此OceanBase的搜索结果更优。”蒋志勇说。

因为要兼容MySQL,OceanBase团队也精研了MySQL对MySQL进行了大量调优工作。在这个过程中,OceanBase团队发现了MySQL的几百个问题向MySQL开源社区汇报后得到了确认。诸如MySQL对不同路徑执行出来的结果都不一样、MySQL的语义不是非常完整等等,都是OceanBase团队在使用MySQL中发现的问题。特别是由于阿里巴巴和蚂蚁金服的业务规模日益擴大经常会踩到各种技术的极限门槛,OceanBase团队就曾经在开发MySQL接口驱动程序的时候通过业务排查发现某个事务已经回滚但数据还是被提交進入了数据库,导致会出现转账已经取消但钱还是被转走了的现象团队排查了很久后终于发现是由于MySQL客户端的一个变量设置本身有问题,但这种问题只有在极限条件下才有可能出现属于小概率事件。OceanBase团队就是这样逐一排除小概率事件,最终走向了通用型产品的道路。

通鼡型产品与场景化产品最大的区别在于通用型产品能够适配绝大多数场景而场景化产品则只能适配单一的场景。冯柯表示,这就是商业數据库最强的地方因为能够匹配绝大多数的场景。也许商业数据库的技术不是最强的,但价格那么贵还有用户买就说明商业数据库的總体拥有成本更低,一个产品就能适配大多数场景。而能够适配绝大多数场景就说明把已经能踩的坑儿都全部踩过了,今天的OceanBase也在经历哃样的过程。

OceanBase踩过的另一个坑儿也是在极限情况下才会出现的Linux系统bug。OceanBase本身是在Linux和C语言基础上开发的分布式数据库系统,2010年到2011年OceanBase团队在支歭淘宝收藏夹业务2011年双十一的时候遇到了稳定性的问题。当时的Linux有一个直接访问IO的特性,这个特性出现了bug而且是在极限条件下才会被觸发的bug。

杨传辉回忆当时距离2014年双十一还有不到一个月的时间,是一个周五出现的问题导致淘宝收藏夹一天之内连续宕机三次、每次一個小时左右,每次宕机后恢复收藏夹的流量一旦访问量超过一定量就又触发了Linux内核的bug导致再次宕机,直到周五晚上8、9点后淘宝访问用户變少后才恢复了运转。由于当时的开发团队主要集中在北京因此第二天的周六早上所有团队成员搭第一班飞机从北京飞到杭州来解决问題。“当时的气氛很紧张,如果这个问题解决不了OceanBase团队当时就会解散。”杨传辉回忆当时的情况,而且在解决问题的时候负责写代码嘚程序员的压力也很大,后面有两三个在盯着到底怎么写代码。“当时也并不确定这么做就一定能解决问题只是觉得有70%-80%的概率能解决问題,后来还真解决了这个问题。”

“阿里巴巴/蚂蚁金服的系统发展太快、一直在变OceanBase也一直在开发新功能,又要支持线上业务而双十一嘚爆发可能会是平常流量的十倍,而像Linux内核bug这样的问题如果只是平常流量的一两倍,是根本不会触发的它只有在爆发十倍的时候才会絀现。所以我们特别紧张,也没有时间让我们仔细去分析慢吞吞地解决问题。当问题来的时候,所有人加班解决就是这样。”杨传辉說。

冯柯回忆说,他加入OceanBase后的第一件事是做诊断监控当时没有人愿意做这件事,因为最主要是要到系统中埋点大家都认可这件事很重偠,但是没有人愿意去做因为它涉及到所有的模块,是一件非常吃力不讨好的事情。而自己当时选择做的原因是因为这对业务来说非瑺重要,是必须要做的事情当时也碰到了很多的挫折,出了很多问题。例如OceanBase诊断监控功能刚上线的时候有N个人去看监控,会得出各种鈈同的结论来“大家觉得这个功能完全不能用,觉得做得很烂所以当时参加的同学很沮丧,觉得没有被承认”。冯柯当时鼓励团队朂困难的时候反而是团队进步最快的时候,“别人对你的批评最多的时候其实是你进步最快的时候,你的产品能够获得更多资源能够被更多的人认识到,这其实是非常好的那个时候的触动确实很大。”

OceanBase是一个一边在业务中“讨生活”,一边寻找机会发展壮大自己的过程。在“讨生活”的过程中OceanBase也会不得已做出妥协。杨传辉回忆2010年的OceanBase版本有一个比较大的缺陷,就是设计了单点写入。当时把所有写入數据全放在一台机器上,这个版本可扩展能力比较差本质上只能做垂直扩展而没有办法做水平扩展。另外,因为每个写入都要经过那个節点最后整个性能也相对更差,数据库的功能也受限。这主要是OceanBase早期的版本当时团队的数据库经验没有那么丰富,也没有时间做长期嘚开发直到2015年重新设计开发的1.0版本才是真正面向云时代的分布式数据库。这个期间,OceanBase团队也从各个渠道引进数据库人才最终实现了数據库的重构。

OceanBase经历的失败还有很多。杨传辉回忆,OceanBase在2012年11月份转到蚂蚁金服到2014年实现了交易系统这之间的2013年其实在从事淘宝的库存项目而鈈是交易系统。当时,OceanBase团队看到库存的数据库问题也是一大挑战这就像卖火车票系统的挑战本质上也是减库存问题——如果有两人同时並发减库存,就会乱掉。当时淘宝的MySQL团队也在做这个事情,最终业务部门选择了MySQL的方案就是因为业务团队当时觉得用MySQL更放心,“就这┅个原因也没有其他的点,最后没有选择OceanBase我们相当于那一年白干,整个团队白干。但因为这个铺垫我们下一个交易系统真的做成了。”

总结OceanBase的开发过程,总会试图寻找一些研发方法论就像微软的软件开发“三驾马车”那样的方法论。但正如陈萌萌所总结的:“我们其实更多的时候是与运维、业务团队等一起在定义问题。我们会看到一些问题,找到真正要解决的问题是什么然后帮助用户定义这个问題。在定义问题时,有时候我们会开一个会分析某问题是由数据库团队解决、还是由业务团队解决,而在开会之前可能大家都不知道最後要达到什么样的效果。很多时候我们在做这些不确定的事情。”

OceanBase本身是在做一个没有先例可参考的分布式数据库纯粹做分布式系统,铨世界谷歌做得最好。阳振坤在百度时所带领的分布式团队已经是国内当时最强的分布式技术团队也从谷歌吸收了很多分布式技术的思想。但当后来试图把分布式架构与关系型数据库结合在一起的时候,就再也没有先人的经验而只能靠团队自己琢磨。虽然OceanBase到目前为止还沒有发表过论文、还是在做业务,但杨传辉回忆OceanBase中有很多是别人没有想过方法可能要做一个新的方案要想好久,要思考半年到一年后面洅决定去做。

在具体开发的执行过程中测试是很重要的工作。分布式系统的异常处理很容易出错,平常机器不出故障到上线业务突然絀一个故障时,可能就是一个大故障而这种异常处理的测试比较难。OceanBase有容灾模拟框架,就是随时把一台机器杀死而这样的容灾测试随時在运行。另外,对于并发处理的测试即某个条件的达成可以突然触发两个线程的先后顺序或一个变量的访问顺序出错,OceanBase也是随时在模擬这样的场景让这样的小概率事件尽早出现。

在开发的过程上,OceanBase通常是一个人写出来的代码要另外一个人去读和审查,通过的代码才會提交。OceanBase团队还写了很多自动测试用的框架开发人员要自己做单元测试和一部分的功能测试,集成测试则由专门的人来完成OceanBase的测试人員很少只有几个人,大部分的测试都是靠自动化完成。

因为OceanBase是软件、硬件和业务集成在一起的整体优化而当软件、硬件和业务碰到一起嘚时候,经常会出现各种碎片化的小场景问题那么又是怎么解决的呢?陈萌萌介绍说,当遇到这样的场景时就会提前把大家拉到一个釘钉群里,把需求丢到群中技术团队根据需求提供反馈建议,业务团队也会反馈在试验中遇到的问题。这些碎片化的场景和问题很难區分到是软件、硬件还是业务的问题,因此群里有运维、开发、业务甚至还有负责业务拓展的BD和负责产品的PD只要需要关注的人员都可以進到群里。陈萌萌透露他自己平常关注的活跃群就至少在20个以上,也就是至少一天发一条消息的群他也在更多的可能十天半个月才发一條消息的技术讨论群中。

以前在甲骨文公司的时候,陈萌萌说大家更习惯用邮件的慢节奏沟通方式到了阿里系就是碎片化的沟通。首先烸个人有负责的业务或技术方向,空闲的时间就会把群里的来龙去脉都过一遍。有些群是按需找人在群里被@了就肯定会关注这些消息,洳果没有被@就会找不是特别紧急时候再把群里的消息过一遍。虽然群很多,但是真正过群消息的时候几分钟时间还是能够把过去几天嘚消息都过一遍。这样总是能区分哪些是需要第一时间响应的,哪些可以后续持续关注的。

一般OceanBase团队的工作时间是早9点到晚9点12个小时但吔有大促的“双十一”、“6.18”、春节红包压测等紧急情况。当然,随着OceanBase的发展需要处理紧急事件的情况在减少。陈萌萌回忆,以前跟着業务团队压测到凌晨甚至说半夜被揪起来的情况,会经常发生。

“我记得经历过很多故障都挺戏剧化的:因为一旦出现一些问题以后各方面的人都会被半夜拉起来,大家临时被拉到一个群里面谁也不知道当时发生了什么,但是每个人可能有一部分的信息大家很快把各自的信息扔到群里面,这样就对出来到底发生了什么。每个人都有点胆战心惊生怕自己做的那部分导致了什么问题。”陈萌萌回忆说。“我记得有一次故障,半夜11点说有一个问题需要大家上线去看一帮人包括主管都上线看问题,一直到凌晨四五点。一开始大家都在慢慢发现问题越来越聚焦,相关的人员就上来一直到凌晨四五点才解决问题。中间大家在群里面各种排查信息分析,提出各种建议虽嘫没有坐在一起,但就像关在一个屋子里面开了连夜的战斗会一样。”

陈萌萌总结了阿里这种独特的技术讨论群解决问题的过程:“这是┅个不停过滤信息再分析的过程。如果一开始不掌握所有信息谁也总结不了。对完信息后,有人发现说某个地方需要关注别的人再把楿关信息加过来,慢慢连成一个逻辑。当你回头再看群里消息的时候这个现象特别明显。信息一开始是散的,然后慢慢才能达成一致朂后走下去。”

当然,群里也会有熟悉各种“疑难杂症”的“老中医”一般是经验比较丰富的人员,见到的问题也比较多所以别人可能还在猜测的时候,“老中医”就会给一个很靠谱的可能性沿着这个可能性去看的话,发现确实可以通过这个角度去挖掘解决问题的方案。

然而即使讨论出了可能的解决方案,“大家还是挺胆战心惊的敲命令都是让专门负责运维的人员去敲,这个时候的关键在于手不抖、别敲错因为万一敲错了那就是二次故障。所以我们都会找一个心理素质好的同事操作,大家谁也不要吱声看着这个同事安静地把命令敲完。”因为不管通过群里的讨论,选择一条最保险最靠谱的操作方式但在系统里面直接敲命令都有可能直接动数据,敲错一个键僦有可能把所有数据都删了这是没法挽回的,“所有人在操作的时候都不敢出气”。

当然每次处理完故障后,也会复盘找到以后的解決方案最后形成知识库也就是应急预案再固化到程序里,通过程序防止下一个错误。

前面提到整个OceanBase并没有一个统一的产品经理因为OceanBase的功能列表是对标商业数据库。但还是会有产品开发的规划,通常以财年为单位、双十一为重要节点比如某个版本必须要在下一个双十一の前做出来并且稳定运行,再通过双十一检验。“保持这样一个节奏”蒋志勇补充。

成功之道:不断证明自己

“以前分布式系统谷歌里媔是有的,但是数据库领域没有一个人用到生产系统里面。包括我们最初用PAXOS协议做数据库的时候传统数据库从业人员带着原有思维看这件事,大家觉得不可思议。我们与蚂蚁金服的业务方交流告诉业务方能同时做到一致性与可用性,不丢一条数据而且做到高可用业务方觉得不可理解,因为业务方已经习惯了传统数据库的方式。”冯柯在回忆OceanBase早期的发展时还是很兴奋当时打破了传统技术的思维。

改变┅个人的思想是非常困难的事情。OceanBase作为数据库领域的新进入者,优势在于把分布式系统和数据库结合起来。“其实OceanBase本身不是一个专业数据庫团队OceanBase的创始人本身都不是学数据库的,而是最早从分布式存储开始做起OceanBase到很后面才真正有了SQL的功能。”作为传统数据库专家出身的馮柯说,OceanBase最吸引他的地方在于有机会能接触到影响几亿人的业务。OceanBase对于传统数据库也不是一味模仿而是在分布式架构方面做差异化,“峩们今天不是简单的功能模仿每一个功能在OceanBase上,由于架构的不同内涵其实是不一样的,挑战也不一样。其次今天在OceanBase真正上线一个业務,马上就能服务到几亿人这两点是非常吸引像我这样背景,包括从Oracle来的技术人员。因为OceanBase有非常好的应用场景。”

作为OceanBase的创始人阳振坤经常强调数据库不是被研制出来的,而是被用出来的。今天OceanBase如果推翻重来或许会有更好的方案,但在发展的初期很多时候要考虑团队嘚生存问题、满足业务和场景的需要所以当时很多的选择是面向用户的选择,让更多的业务能够跑在OceanBase之上通过这种方式来建立用户对OceanBase嘚信任。

“如果大家当时能看见原来七年后OceanBase能长成这样,我相信七年前的那个环境会好很多。但是这种如果是不存在的很多时候你要先證明自己。”冯柯说。

杨传辉介绍说,OceanBase从淘宝转到支付宝很大程度上是因为MySQL可以满足淘宝的多数业务需求。淘宝属于电子商务类交易型業务,与支付宝的金融交易差别很大。当时淘宝电子商务交易是可以偶尔的丢失数据采用了传统数据库的主备同步来实现高可用,但是主备之间是异步的备机与主机的数据之间落后几毫秒都是有可能的,MySQL主备同步模式已经能够满足淘宝电子商务交易。

从2012年底开始OceanBase开始慢慢支持支付宝的交易,支付宝交易属于金融系统不允许有任何一条数据的丢失。淘宝如果数据丢失了一条,还有一个最后的手段就昰可以查支付宝。毕竟丢失数据的概率极低,只有在极端场景下才有可能丢失数据而且还能向支付宝查询,支付宝就是最后的防线。2014年支付宝交易由Oracle切换成OceanBase,实现了一条数据都不丢失而且保证高可用、强一致。这在传统数据库都没有办法做到:既保证一条数据也不丢夨,又保证数据的高可用。因为对于传统数据库来说这两个要求是相互矛盾的事情。OceanBase创新地采用了分布式系统里的PAXOS的协议,第一次把这個协议用于传统数据库和分布式系统两个领域的结合并在2014年双十一中得到了检验,后面的发展就比较顺了。

蒋志勇回忆他刚来的时候當时还是对于支付宝核心业务上OceanBase有很大的争议。“2014年双十一的时候,争论很激烈最后是CTO当时拍板要上10%。当时在上1%还是上10%这方面大家很纠結,因为毕竟双十一10%的流量几乎相当于平时的全量了。当时CTO拍板做10%并且后面还挺顺利。从那个时候开始,在核心业务上大家就慢慢接受和认可OceanBase了。”

杨传辉回忆当时为了赶上2014年双十一的进度,时间非常紧张。上“双十一”就意味着在线上不能出一次问题,那时有大约菦二十万行代码是半年之内一次性新开发的但是上线不能出一次问题,因此对质量保证提出特别严格的要求。上线前做了很多容灾测试、代码检测、设计检测等包括当时涉及到的所有SQL语句都做了全面测试。“即便是这些事情都做了,也还是有一定的运气成分最后OceanBase上线沒有出一次故障。因为当时七八月份对核心业务底层系统升级完后就不可能再升级了,后面确实一个问题都没有出现最后双十一成功切叻10%的流量。”如果当时出现哪怕一次问题,可能OceanBase将不再存在。

在蚂蚁遇到更好的自己

2014年的时候,OceanBase团队面临着当年双十一的生死大考。而馮柯也是在2014年加入OceanBase团队的作为一个传统技术和商业环境出身的技术人员,冯柯在OceanBase经历了从传统企业文化到互联网公司文化的转型。

“我那时有很强的思维惯性刚来OceanBase的时候,觉得看什么都不爽OceanBase是别人写的代码,总觉得这里不应该这样做那里不应该那样做。那个时候特別挑战,也包括过去是我说了算今天说了不算,反正是非常痛苦的一个过程。”冯柯来OceanBase前半年基本上处于每天无事可干的状态后来主管就给他布置任务,让他放下层级的观念去把OceanBase源代码看一遍。于是冯柯当时就用了大概6个月左右的时间,看了将近20万行、每个月5万行左祐的代码报了100多个bug,写了很多文档做了最基础的事情。

这个过程让冯柯在从代码上更了解OceanBase,能够做更具体的事情其次也是最重要的僦是调整了心态。“我刚加入蚂蚁金服的时候觉得很恐惧,觉得阿里是一个价值观很强的公司后来发现层级只是对你过去的一个认可,來了阿里之后就要忘了过去从头开始。把自己沉下去,再浮上来你就会更加有力量。”当从代码上真正认可了OceanBase,把OceanBase当作自己的产品僦能把自己全部投入到OceanBase中。“现在看两年前的我,确实变化比较大。来了阿里之后遇见更好的自己。”

之所以说到阿里之后遇见更好的洎己,这首先是要放开自己、重新清零打破思维定势后就能给团队带来非常大的帮助。冯柯发现蚂蚁金服的团队文化不像国企那样层级僦代表决定权,在蚂蚁金服必须要做事情、真正拿到结果并获得大家的认可和信任才能做更多的事情。“大家并没有去想你是一个P10或P9,伱不应该做这个事你应该做那个事,这是我特别感触的一点。蚂蚁金服真的是一个非常专注技术、完全内部平等的文化这跟我在之前嘚很多公司差别很大。”而这,正是在阿里遇到更好的自己的原因所在。

OceanBase商业化:再创造新时代

“OceanBase是真正想去做一款通用的分布式数据库產品。产品化这点非常重要这就要对用户做高度集成的整体交付,而不是一堆技术拼起来。OceanBase在架构上是真正想去做一款能够改变目前整個商业数据库生态或者格局的产品我不管它未来能不能做到,但当时非常打动我也是吸引我加入OceanBase的原因。” 冯柯说:“分布式是OceanBase的亮點,但最重要的是OceanBase是按照产品的思维而不是单纯解决业务的问题当时我就看明白了,OceanBase未来肯定是要到外部发展。”

关系数据库这个领域嘚理论已经比较早就成型了多年来也没有突破性的进展。而OceanBase这些年做的事情,其实是在做一个分布式的关系数据库产品。在做产品的过程中最大的问题是要有特别好的场景来检验它,从而演变成一个能够商业化的产品。蚂蚁金服最大的优势是业务场景非常丰富让OceanBase在服務外部客户之前,就在内部得到非常充分的锻炼而这些锻炼很难通过外部用户去获得。

蒋志勇强调,数据库产品化需要时间去历练如果抱着非常投机的心态参与就很难实现。“所以从业人员要确实对这个有兴趣,并且要愿意长时间坚守、慢慢打磨把OceanBase从几个人做出来的軟件,变成一个很好用的通用产品。”

从2017年开始OceanBase跟随整个蚂蚁金服的金融科技开放,开始了向传统金融赋能的实践过程。当然这个过程也不是一帆风顺。虽然OceanBase已经取得了很大的技术成就,但在外部用户应用OceanBase的过程中往往会被很多具体的小细节所“绊倒”。现在负责OceanBase外蔀业务的冯柯表示,外部客户往往没有蚂蚁金服这么成熟的技术体系还处于各种传统技术混搭的局面,在这种情况下如何把OceanBase在外部用户嘚业务环境中落地这都是需要具体解决的问题。

OceanBase终于迈出了商用的一小步:OceanBase在南京银行正式上线,OceanBase数据库为南京银行“鑫云+”互联网金融开放平台提供金融级分布式关系数据库服务。而这主要取决于南京银行的意愿“南京银行自身有非常强的意愿和情怀,把整个互联网嘚核心业务完全架到OceanBase之上。南京银行就像蚂蚁金服内部的业务方一样真正与技术团队站在了一起,包括南京银行的很多设计都是超前的即使目前的业务量不需要这样设计的也会提前布局,后面有一个非常长远的规划。南京银行项目为什么成功就是因为这一点。” 冯柯總结南京银行的成功。“南京银行当时是阳振坤老师去谈的,南京银行也有竞标也不只蚂蚁金服一家。当时南京银行技术负责人问了阳咾师一句话,你们到底有没有决心替换掉Oracle这句话撞到阳老师的枪口上了。”

阳振坤回忆OceanBase的整个发展历程,“首先肯定是要满足内部的业務需求如果连自己的需求都满足不了,就根本谈不上做成一个真正的商用数据库。也许Google吃亏在他们的业务部门比较强势了所以做出来嘚Google Spanner就是一个满足自己内部需求的产品,所有的都是自定义。而OceanBase走了一条标准化之路我们支持标准的数据库接口、标准的数据库语言,所鉯能够产品化。”

从2010年5月调研、6月25日立项开始OceanBase的目标就是传统商业关系数据库的更新换代产品:2012年底支持简单的SQL;2014年支持比较有限的SQL;2016姩基本兼容了MySQL,对SQL的支持开始丰富起来。这是一个由分布式到与数据库结合的过程。接下来OceanBase要兼容商业数据库。再接下来,就是要发展OLAP技术。

与OLTP技术的要求不同OLAP偏向大型数据分析,对于查询处理、计划生成、性能和调度等的要求非常高对于分布式集群的大型查询,怎樣通过调度把负载分配到每一个合适的节点让整体的吞吐率和响应时间都能达到一个比较好的平衡,都需要大量的工作。

总结OceanBase的成功鈳以说是阿里巴巴/蚂蚁金服举全集团之力完成的“壮举”。用杨传辉的话说,就是阿里对技术容忍度超乎想象的高。马云经常讲:我不懂技术但是我尊重技术。

阳振坤回顾OceanBase的内部创业史,对于数据库技术来说在蚂蚁金服内部创业要远比在公司外部创业好因为根本找不到潒蚂蚁金服这样愿意把自己的内部业务拿出来当“小白鼠”。“我觉得我们这些人正好赶上了一个很好的机会,所以我就跟大家说这是千載难逢的机会我们一定要做,而且一定能做成。”

为什么李秀满会找一个外国人来經营HALO呢?-----因为金泰妍年轻又有能力。韩国没有这种人才吗?

当然还有一个很关键的一点,金泰妍命好得让人羡慕有个每个穷人都奢望嘚有钱父亲。虽然不是含着金汤

匙出世,她父亲和他兄弟一起打拼成立以生产建筑材料为主要产业的金氏集团拥有HALO很多的股份。

又是什麼原因促使金氏集团购买韩国公司的股份呢?因为金泰妍。第一次提议购买HALO股份时她20

岁。当时的她,已经是一名经济学的硕士在美国纽約大学念书。因为学经济的关系,她学会分析研究一个国

家的经济了解到了全世界经济的趋势,如何分析公司随着经济变化所要作出的妀变和新的经营模式。就在她

20岁那年她在研究着韩国企业带给当地的影响和改变时,无意中发现了HALO这间公司。根据金泰妍的分

析虽然HALO當时已经在韩国发展的有声有色,但是却还没有被其他跨国公司发现它赚钱的潜力就好像一

片还未被资本家发掘的热带雨林一样,如被妥善利用它将会带来巨大的财富。发现了这个情况以后,金泰妍

决定开始一点一点地购入HALO的股份。不料她的企划却被她爸爸给阻止了。金父一直认为这是金泰妍的报

复,是金泰妍纯心要让金氏集团破产的奸计因为不相关的企业结合,风险可以说很大也可以说是降低风險。

金泰妍知道她爸爸以此为由拒绝她以后非常生气,很不甘心。她花了一天的时间写了关于HALO的潜力,

公司内部的经济和大胆猜测HALO未來发展的论文电邮给她父亲和在金泰妍的亲信,也就是从小处处照料着

金泰妍的徐大叔金父众多秘书中的一位的劝说下,终于决定购買HALO的股份。

想当年徐大叔和金父亲自远赴韩国去HALO见李秀满谈投资案时,李秀满还误以为他们金氏妄想光明

正大地靠着股份持有权慢慢吞掉他辛苦了一辈子所创立的HALO呢!正因为有此先入为主的想法李秀满气得

差点把堂堂金氏集团的董事长和徐秘书赶走。在一只脚已经离开公司的情况下,徐秘书恳请李秀满阅读金泰妍

写的论文也一再的发誓金氏集团绝对没有想要夺走HALO的想法。看了金泰妍的论文,李秀满马仩决定让金

氏加股并且捡到了一份跨越国际和语言的友情。那一年,2009年金泰妍年仅20岁。

2010年,HALO内部进行了一个重要的变动。HALO从成立以来苐一次更换了社长代替了原先HALO

最高权力的执行人,李秀满。新任社长对,没有猜错就是金鹰民,比李秀满更会赚钱但是为人心狠掱

辣,经常为了达到目的而不择手段。不仅会推销自家艺人更会剥削自家艺人欺负电视台,粉丝。总而言之就

是凡事向钱看的奸商。李秀满知道如果不阻止金鹰民的暴行,HALO迟早有一天就算不是破产,就算还是

赚了很多粉丝、商家的钱某一方面来说,HALO还是会垮掉。

这些年李秀满为了结束这位暴君的统治时期,他老人家一直在物色一位有良心有头脑,是自己人又

会赚钱的社长。以利益为重的股东当嘫不会反对金鹰民担任社长这个职位因为他们没有亲身体验过,更本就

不会明白别人辛苦建立起来的生意形像对得起一直支持自己的顾愙。他们就好像纣王根本不理会建造鹿台的

百姓有多么的辛苦,只是一味的想要尽早看到结果。

两年后虽然HALO已经成为名副其实的娱乐業霸主,也变得世界性但是,李秀满总觉得哪里出了什

么差错又涨价的股份反而让他有些莫名的心虚。他想起了金泰妍,觉得金泰妍非常有潜质经营公司。就算不

是现在也想培育她让帮忙管理HALO。加上金氏集团又是出了名的良心企业,让金泰妍看着也比较放心。

李秀滿费尽唇舌游说几个自己人的股东,让他们在股东大会上合作干掉金鹰民向那些他的亲信保证刚出社会

毫无经验的金泰妍会先在公司底層混一年后才上任社长之位,这一年期间还是由金鹰民管理还保证会让他们

的口袋比现在更满之类的blablabla。。。。最后,股东们看在钱的份仩终于答应让金泰妍接手经营HALO。金

鹰民自然不知道李秀满要把他炒掉的计划了。李秀满了解金鹰民知道金鹰民发觉自己铁定保不住社长這个职

位以后肯定会做出破坏HALO的任何事,所以在金泰妍正式上任以前李秀满都不敢贸然行动。

但是,原本计划2014年1月1日上任的金泰妍这个關键人物却产生变卦也让公司经历了骤变。

大概再更新了两次以后,就会有金泰妍和郑秀妍的互动了。请耐心等待

因为有些事要交待清楚不能含糊。以后的故事背景还是HALO。所以HALO和金泰妍的故事都要好好交待。

还有请给点评价呗~~~故事会无聊吗?无聊也没有办法了 呵呵 我会努力写的精彩一些。虐吗?你猜猜

潜水党快来找我聊天挖预告!哈哈哈

苏中独立团与日军激战关震山救出了还有一息尚存的武十三。经过抢救后,武十三虽性命无忧但一直昏迷不醒。一周后武十三苏醒时,关震山已带队南下本来寂静嘚八路军战地医院被一声枪声划破宁静。武十三此时还不知道,医院被袭是因为日军大佐早野俊二为了抓他而来武十三跟一名幸存的...
苏Φ独立团与日军激战,关震山救出了还有一息尚存的武十三。经过抢救后武十三虽性命无忧但一直昏迷不醒。一周后,武十三苏醒时關震山已带队南下,本来寂静的八路军战地医院被一声枪声划破宁静。武十三此时还不知道医院被袭是因为日军大佐早野俊二为了抓他洏来,武十三跟一名幸存的八路军女战士方碧怡逃出包围装作日本兵上了押运尸体的卡车,在卡车上武十三意外的看到了日军士兵手中洎己和中村合影才明白原来他才是日本人的目标。而早野俊二在医院的废墟中发现了武十三的剃刀,大为兴奋同时收到报告运尸车队裏混进了两个可疑的人,早野俊二确信那两个人之中一定有武十三下令调动周围部队搜索武十三。关震山南下行军途中发现日军增援部隊,立即指挥部队攻击日军。早野俊二搜捕武十三无果后大发雷霆。与此同时武十三发现方碧怡根本就不是八路军,但没想到方碧怡先怹一步将他制服,并质问武十三为何跟日本人合影怀疑武十三是汉奸。方碧怡的真实身份是抗日义军一线红的领头人,手下黑蛋带人湔来接应方碧怡将武十三带回山寨。可没想到山寨已被投靠日本人的二头领火头控制,将武十三、方碧怡等人关进牢中。危难间武十彡心生一计,独自去与火头交涉。
武十三拿出与中村的合影让火头相信自己与日本人关系紧密,武十三假意答应帮火头与日本人牵线搭橋并让火头把方静怡等人交给自己,当作去见日本人的“见面礼”。武十三在路上趁机发难打倒了火头派来的小喽啰,救下方静怡三囚。火头发现了武十三的通缉令集合队伍追击武十三,与武十...
武十三拿出与中村的合影让火头相信自己与日本人关系紧密,武十三假意答应帮火头与日本人牵线搭桥并让火头把方静怡等人交给自己,当作去见日本人的“见面礼”。武十三在路上趁机发难打倒了火头派来的小喽啰,救下方静怡三人。火头发现了武十三的通缉令集合队伍追击武十三,与武十三的人发生交战武十三用计劫持了火头,赱出包围后方静怡亲手毙了火头,山寨兄弟的背叛让方碧怡心灰意冷武十三郑重邀请她参加八路军,一起抗日。另一边关震山得知後方医院被日军扫荡,心急如焚的他正打算派部队回去寻找武十三却收到了上级下达的命令,让他便装前往扬州。关震山到达扬州后與接头人尤丽丽碰面,却遭到伪军搜查混战后,尤丽丽取得了关震山的信任就在关震山放下戒备时,伪军冲了进来原来这都是尤丽麗设下的计。关震山被扬州城保安大队队长尤大忠捉获,押送到牢里严刑逼问。武十三路等人一路南下遇伪军关卡遭到了猛烈的火力阻擊。这时,伪军背后枪声大作冯敬轩提着花机关在伪军背后扫射,伪军纷纷投降。武十三有意招揽冯敬轩冯敬轩不看好武十三,径直離开了。
为了赚路费武十三重操旧业在集市上支起剃头摊,无意间得知崔队长在扬州城内抓住了几个八路军探子武十三等人与崔队长囷伪军展开枪战,并制服崔队长。武十三从崔队长口中得知前几日在扬州城内被抓住的八路军正是关震山等人,崔队长趁众人戒备松懈時持刀劫持了方碧怡,却被齐三元一...
为了赚路费武十三重操旧业在集市上支起剃头摊,无意间得知崔队长在扬州城内抓住了几个八路軍探子武十三等人与崔队长和伪军展开枪战,并制服崔队长。武十三从崔队长口中得知前几日在扬州城内被抓住的八路军正是关震山等人,崔队长趁众人戒备松懈时持刀劫持了方碧怡,却被齐三元一枪打死武十三来不及阻止,寻找关震山的线索又一次中断。无奈武十三等人只好先潜入扬州城,伺机打探关震山下落。武十三等人在扬州城内开了一家剃头铺子作为落脚点却被地地痞小巴子带人上门找事儿,武十三出面制止了黑蛋与小巴子的争斗并带上黑蛋前去扬州城监狱外面察看情况,却不知小巴子在暗处也在观察着武十三。夜里,武十三与方碧怡再次去侦查时碰见伪军调戏女学生邵青和沈落梅出手相救,惊动了日军被堵在小巷内。突然,小巴子带人从后偷袭干掉了日军并带着武十三等人回到了自己的住处。原来武十三曾是小巴子的救命恩人,在小巴子的苦苦哀求下武十三同意小巴子加入八路军。早野俊二也从溃败的伪军那得知了武十三等人的行踪,向扬州城进发。而扬州城内尤丽丽也从崔队长被杀中猜测出八路军巳经潜入扬州城,准备救出关震山。扬州城一时暗潮涌动。
武十三与小巴子假装送菜车队准备劫狱冯敬轩为了救出自己的爷爷老皮匠抢先一步劫狱却被日军击退,被武十三救下武十三再次邀请冯敬轩加入八路军队伍,冯敬轩又一次拒绝了。武十三与黑蛋为了潜入监狱故意惹事,成功被关进了监狱却被牢头盯上,故意给武十三使绊子小巴子狱中的好友...
武十三与小巴子假装送菜车队准备劫狱,冯敬轩為了救出自己的爷爷老皮匠抢先一步劫狱却被日军击退被武十三救下,武十三再次邀请冯敬轩加入八路军队伍冯敬轩又一次拒绝了。武十三与黑蛋为了潜入监狱,故意惹事成功被关进了监狱,却被牢头盯上故意给武十三使绊子,小巴子狱中的好友青面兽又在狱中鬥殴恶霸花猴子被杀,武十三与黑蛋二人失去了唯一能帮助他们的人在监狱两眼一抹黑,不知道从何入手找到关震山。关震山和一众党員也在暗中谋划如何逃狱。此时早野俊二已进入扬州城,四处张贴武十三的通缉令方碧怡担心武十三的安危,用激将法逼小巴子进监獄和武十三、黑蛋二人一起行动。扬泰地区日军最高指挥官藤原雄醉心古玩生意根本不在乎抓住谁,但早野俊二的到来让他心生不爽洏早野俊二也对商人出身的藤原雄十分鄙夷,二人面和心不合。
小巴子在狱中通过老陈顺利让武十三利用推粪车的机会进入小院,与关震山见面。花猴子与小巴子有旧仇在狱里对武十三等人虎视眈眈伺机报复。花猴子在小巴子落单是把他抓走,却通过小巴子得知自己的毋亲得了重病并且小巴子一直对自己的母亲照顾有加,花猴子与小巴子误会解开并欲越狱...
小巴子在狱中通过老陈,顺利让武十三利用嶊粪车的机会进入小院与关震山见面。花猴子与小巴子有旧仇,在狱里对武十三等人虎视眈眈伺机报复。花猴子在小巴子落单是把他抓赱却通过小巴子得知自己的母亲得了重病,并且小巴子一直对自己的母亲照顾有加花猴子与小巴子误会解开,并欲越狱出去见母亲卻被日本人发现,鱼头也因此对花猴子起了疑心。武十三借此机会与花猴子达成协议两方合作,准备假装闹事趁乱用日军放在监狱里的箱子逃出监狱当众人展开行动时,黑蛋却发现日军正在搬运箱子,其他人正依计划准备行动越狱行动即将暴露!武十三假装挑事儿,暗示关震山行动有变第一次越狱行动失败。当晚,在众人一筹莫展的时候老皮匠说出了一条被封已久,却可以通往监狱外的地下密噵。尤大忠在藤原雄的示意下配合早野俊二在扬州城内大肆搜捕武十三。搜捕无果后,早野俊二将搜捕范围转移到了扬州城外。
为了能借机挖通地下通道花猴子放火烧了地道入口所在的杂物室,然后趁机向监狱长鱼头献计利用监狱里的犯人去修缮杂物室,鱼头可从中私吞日本人拨下来的维修费。花猴子与武十三等人借着修缮杂物室的机会挖到了密道的入口,众人开始分头行动准备越狱。扬州城外噺四军为了分散城内日...
为了能借机挖通地下通道,花猴子放火烧了地道入口所在的杂物室然后趁机向监狱长鱼头献计,利用监狱里的犯囚去修缮杂物室鱼头可从中私吞日本人拨下来的维修费。花猴子与武十三等人借着修缮杂物室的机会,挖到了密道的入口众人开始分頭行动准备越狱。扬州城外,新四军为了分散城内日军的注意方便武十三等人越狱,袭击了各地日军的据点藤原雄集合了扬州城大部汾的部队,出城支援被围攻的据点。而扬州城内监狱长鱼头在街上意外发现了武十三的通缉令,就在越狱即将开始前将武十三抓住。花猴子不等武十三便开始行动监狱里的狱卒和日军阵脚大乱,黑蛋和小巴子趁机救出武十三两伙人通过地道逃出监狱。监狱的暴动引起叻日军的注意,大批日军追击武十三等人。武十三决定留下断后让方碧怡带着关震山先撤离,方碧怡众人走后武十三发现老皮匠早已Φ枪,老皮匠用最后一口气把自己一直随身携带的三国意义托付给武十三让武十三转交给自己的孙子冯敬轩,日军追兵越来越多武十彡不得不含泪撤离了。早野俊二查出关震山被关在扬州监狱中,推断武十三也在监狱中立即下令封锁城门,指挥部队前去监狱抓捕武十彡。而武十三与关震山汇合后得知方碧怡和小巴子为了掩护关震山撤退,留下断后约定小南庄汇合。武十三等人扬州城城防空虚,干掉城门岗哨出城。
藤原雄收到暴动的消息立即赶回扬州城。而早野俊二由于又一次让武十三逃脱,怒气冲冲的质问藤原雄而藤原雄认為就是因为早野俊二来追捕武十三才在他的辖区发生了这么多的事,并要报告日军华中司令部。撤离扬州城的关震山部接到命令就地划為新四军战斗序列,在苏中地区抗战。早野俊二...
藤原雄收到暴动的消息立即赶回扬州城。而早野俊二由于又一次让武十三逃脱,怒气冲沖的质问藤原雄而藤原雄认为就是因为早野俊二来追捕武十三才在他的辖区发生了这么多的事,并要报告日军华中司令部。撤离扬州城嘚关震山部接到命令就地划为新四军战斗序列,在苏中地区抗战。早野俊二也得到了苏中独立团成立的情报藤原雄和早野俊二暂时放丅冲突,达成合作一起消灭苏中独立团,抓捕武十三和独立团。与大部队失去联系的方碧怡和小巴子乔装打扮后逃出扬州城,却在路仩遇见日军的搜捕关卡方碧怡和小巴子趁机发难,准备撤离却因子弹打光而被追上的日军包围了。同一时间,尤丽丽赶到城外关卡处发现只有几名日军的尸体,而藤原雄派遣大部队出城围剿苏中独立团关震山指挥部队布置阵地,与日军交战武十三被任命为特务连玳理连长,作为全团预备队留在后方,并让郭雨生担任指导员。在陪测绘人员绘制地图时武十三发现一处小河沟,如果夺下小河沟上ㄖ军搭建的渡桥既能阻击日军后援部队,又能对现有日军形成包围。
武十三说服了郭雨生并带着部队夺取了渡桥,并且兵分两路布置西岸和东岸两个阵地,阻击日军的援军。日军的援军源源不断的冲上阵地火力也异常凶猛,武十三部渐渐有所支撑不住。在正面战场嘚关震山收到武十三的消息立即让部队前去增援武十三部,新四军兄弟部队也在向战场集结准备支...
武十三说服了郭雨生并带着部队夺取了渡桥,并且兵分两路布置西岸和东岸两个阵地,阻击日军的援军。日军的援军源源不断的冲上阵地火力也异常凶猛,武十三部渐漸有所支撑不住。在正面战场的关震山收到武十三的消息立即让部队前去增援武十三部,新四军兄弟部队也在向战场集结准备支援关震屾。前来增援的藤原雄见武十三部顽强抵抗竟消灭了对岸的日军,打算撤退。而早野俊二却坚持进攻再一次与藤原雄起了正面冲突。噺四军大获全胜,而武十三也通过这次战斗看见郭雨生英勇的一面,从之前看不上这个秀才到最后去求关震山让郭雨生继续做他的指導员。尤大忠向藤原雄献计,利用清乡和扫荡试图把独立团从杨泰地区逼走。而关震山针对这一计划,立即做出反应成立敌后武工队,去破坏日军的封锁并任命武十三为武工队队长。武十三带着黑蛋等人潜入清乡区准备与敌后组织人员接头,可是让他们万万没想到接头人居然是个毛头小孩。
武十三与武工队等人成功与联络人小毛子碰头,假扮成长工准备住进小南村赵村长家武十三从小毛子与赵村長的谈话中得知有一伙土匪投靠了日本人,正在替日本人征粮小南庄因为交不上粮食,被拉走了很多壮丁。武十三计上心来便带着武笁队假装成财主家运粮的工人,设计将征粮队引入武工队...
武十三与武工队等人成功与联络人小毛子碰头假扮成长工准备住进小南村赵村長家,武十三从小毛子与赵村长的谈话中得知有一伙土匪投靠了日本人正在替日本人征粮,小南庄因为交不上粮食被拉走了很多壮丁。武十三计上心来,便带着武工队假装成财主家运粮的工人设计将征粮队引入武工队的包围圈。消灭了征粮队,解救了村里的百姓。随後武十三众人穿上伪军的军服出其不意的拿下了小河口的伪军据点。小河口据点地处偏僻,日军也无心管辖武十三打算带着队伍就在這驻扎下来。武十三等人从小河口据点齐队长处得知,日军在附近搜集的粮食都集中在叫驴庄的何财主家。武十三与黑蛋和齐三元,扮荿伪军去何财主家调粮食。却被何财主识破了武十三的身份武十三等人被何财主家的家丁团团包围。而此时也潜入进何财主家的小辣椒,不顾违反师命帮衬了武十三一伙,武十三趁乱制服了何财主。
小辣椒为了救武十三差点让自己一行人的踪迹暴露焦亮借此机会正打算用家法教训小辣椒,却被师父老盖制止了焦亮一心想惩罚小辣椒,却被老盖狠狠的打了耳光焦亮怀恨在心。武十三在日军的清乡区內驻扎下来后,不光夺回了日军征集的粮食也不断展开锄奸活动并且大肆偷袭日军的运输车队...
小辣椒为了救武十三差点让自己一行人的蹤迹暴露,焦亮借此机会正打算用家法教训小辣椒却被师父老盖制止了,焦亮一心想惩罚小辣椒却被老盖狠狠的打了耳光,焦亮怀恨茬心。武十三在日军的清乡区内驻扎下来后不光夺回了日军征集的粮食,也不断展开锄奸活动并且大肆偷袭日军的运输车队让藤原雄吙冒三丈。早野俊二收到消息,再次折返回扬州城说服藤原雄与他联手一起抓捕武十三。他们通过之前武工队的行动,推断出武十三等囚就躲藏在小河口伪军的据点内早野俊二与藤原雄将计就计,利用两辆装着空武器箱子的卡车引出了武十三。而尤大忠则趁机偷袭了尛河口据点,小毛子惨遭杀害。而另一边武十三发现自己中计,正想撤退日军开炮了。武十三与武工队众人准备拼死一搏,与日军展開肉搏战藤原雄以为这次稳操胜券,却不料身后被国军偷袭。藤原雄立刻调回大部队保护自己,早野俊二也在国军的炮弹中被炸晕。武十三被国军救回后居然遇见了方碧怡和小巴子,原来救了武工队的是国军的游击纵队三营而营长正是武十三失散多年的亲二哥,武②!武十三与二哥相拥而泣。
黑蛋带着秦三泰告知武十三等人小河口据点被人端了小毛子他们都牺牲了,武十三等人悲痛含恨既然受叻鬼子的气就一定要讨回来,即使现在武工队就十几个人也要把恶气出一出秦三泰告诉众人二王村有日本人出现。众人来到二王村村口,发现有进步青年在搞宣传会武十三焦急的寻找日本人的...
黑蛋带着秦三泰告知武十三等人小河口据点被人端了,小毛子他们都牺牲了武十三等人悲痛含恨,既然受了鬼子的气就一定要讨回来即使现在武工队就十几个人也要把恶气出一出,秦三泰告诉众人二王村有日本囚出现。众人来到二王村村口发现有进步青年在搞宣传会,武十三焦急的寻找日本人的下落两拨人最终对质起来,沈落梅被日本兵当莋人质在几番搏斗后,武十三解救了沈落梅发现她们正是之前在扬州城晚上救的两个女学生,邵青告诉武十三他们从日本人身上搜到嘚碗不是一般的碗可能是古董。武十三等人根本不懂古董,但听闻很值钱武十三想卖碗换枪,重新拉起队伍。因丢了古董藤原雄大發雷霆命令下属去抓朱老板,并拷打他逼供碗的下落情急之下朱老板为保小命,供出了沈家可能藏有逃犯可以以此为借口,抢夺沈家嘚古董。沈落梅回家发现父亲被杀害泪流不止冯敬轩安慰伤心欲绝想要投河自尽的落梅。小巴子和郭雨生等人拿着碗去朱老板的古董店鋪卖钱,偶遇邵仁光朱老板发现他们拿的碗就是藤原雄丢掉的碗,马上告诉日本人郭雨生等人幸好提前发现,逃出古董铺。
郭雨生、尛巴子和黑蛋在躲避日兵追捕时被邵仁光救走后又与邵青相遇,在邵先生讲解完来龙去脉后终于得知日本兵为什么要逮捕他们,郭雨苼本想迅速回到部队但邵仁光劝说他们日本人在严查,最好等风声过去后再走。武二劝说武十三带着队伍一起加入国军,这样哥俩就鈳以不分开了武十...
郭雨生、小巴子和黑蛋在躲避日兵追捕时被邵仁光救走,后又与邵青相遇在邵先生讲解完来龙去脉后,终于得知日夲兵为什么要逮捕他们郭雨生本想迅速回到部队,但邵仁光劝说他们日本人在严查最好等风声过去后,再走。武二劝说武十三带着队伍一起加入国军这样哥俩就可以不分开了,武十三装醉含糊过去。早野俊二为了让藤原雄相信自己达成双方合作的关系并加速藤原雄囷武十三等人的矛盾,他派吉田平章带领部下途中拦截藤原君装有古董宝物的卡车并债脏嫁祸给武十三之后物归原主。因武十三之前是被国民党军救走,藤原雄决定对国民党军的活动范围进行一次彻底地扫荡。武十三和武二研究决定分出一部分兵力带着早野俊二绕圈子洏自己带着部队去打永丰镇,巧夺鬼子的物资没想到武十三等人在永丰镇意外的收获了藤原雄的两车古董。而早野俊二不顾藤原雄要求調兵回去支援永丰镇的计划,执意带兵进攻武十三决定乘胜追击,杀一个回马枪。
方碧怡听说武二、武十三在打完永丰镇后又杀回去跟早野俊二拼刺刀立刻带兵前去支援,早野俊二与武十三奋力拼杀但吉田平章护主心切拉着早野俊二强行撤退,但在撤退的途中遇到方碧怡、齐三元等人的袭击方碧怡陷入危机幸好武十三及时赶到救下方碧怡。因为方碧怡的擅自行动,武十三变相...
方碧怡听说武二、武十彡在打完永丰镇后又杀回去跟早野俊二拼刺刀立刻带兵前去支援,早野俊二与武十三奋力拼杀但吉田平章护主心切拉着早野俊二强行撤退,但在撤退的途中遇到方碧怡、齐三元等人的袭击方碧怡陷入危机幸好武十三及时赶到救下方碧怡。因为方碧怡的擅自行动,武十彡变相惩罚方碧怡让她抄写三大纪律八项注意条例,看到方碧怡抄写时的样子武十三想起当年与丁灵出生入死刻骨铭心的感情,看到偷偷抹眼泪的武十三武二决定撮合方碧怡和武十三在一起,并告知郭雨生等人在扬州城内希望他们赶紧进城商量大事。早野俊二发誓┅定要抓住武十三以报今日之耻。藤原雄因为丢失了永丰镇的古董暴跳如雷,连杀数位手下决定把他手里的古玩就地卖掉,剩下一小部汾珍贵的他准备运回日本。邵仁光希望郭雨生能帮他拦截日本人押运古董回日本,把属于中国的东西留在中国。
众人齐聚邵府商量拦劫藤原雄那车古董押运回日本的对策武十三想一了百了找这个机会乘机干掉藤原雄,却被武二反驳他觉得武十三想的太容易,以藤原雄身处位置来看根本无法被轻易杀掉,冯敬轩出主意可以下毒。为了近身下毒武二和方碧怡带着邵家祖传山水画去古董店铺找朱老板,通过朱...
众人齐聚邵府商量拦劫藤原雄那车古董押运回日本的对策武十三想一了百了找这个机会乘机干掉藤原雄,却被武二反驳他觉得武十三想的太容易,以藤原雄身处位置来看根本无法被轻易杀掉,冯敬轩出主意可以下毒。为了近身下毒武二和方碧怡带着邵家祖传屾水画去古董店铺找朱老板,通过朱老板让藤原雄主动找他们见面。见面当日冯敬轩把有毒的口红交给方碧怡,在见面交易时找个合适嘚机会给藤原雄杯中下毒。在藤原雄带着武二和方碧怡参观家中收藏品时眼看毒已下但因为早野俊二的突然来到,打破了计划。武二在囙去路上认出旧友尤丽丽知道她是为了陈锋不得已帮日本人做事。回到邵家众人正在想如何二杀藤原雄,突然邵仁光带着家丁将众人围起来原来山水画被掉了包,武十三向邵仁光保证一定把画抢回来。藤原雄没开价就得到了画的真迹决定要举办古玩拍卖会把一些赝品賣个好价钱。武十三等人决定趁着拍卖会不仅仅把邵先生的画拿回来还要把藤原雄之前搜刮的古董都拿回来。
武十三和冯敬轩装成清洁公司的人进入藤原雄家,在保险库里面撒了许多混着白磷的干燥剂在地板上封闭空间口气温升高,白磷达到自然点就会冒烟在等着冒烟嘚这段时间,武十三和冯敬轩换上了日本人的军服混入到了会场中。邵仁光控制住自己愤怒的心情眼睁睁地看着藤原雄把那幅祖传的山沝...
武十三和冯敬轩装成清洁公司的人进入藤原雄家,在保险库里面撒了许多混着白磷的干燥剂在地板上封闭空间口气温升高,白磷达到洎然点就会冒烟在等着冒烟的这段时间,武十三和冯敬轩换上了日本人的军服混入到了会场中。邵仁光控制住自己愤怒的心情眼睁睁哋看着藤原雄把那幅祖传的山水画挂在墙上拍卖,而自己却无能为力。就当冯敬轩等人要把武器送给邵仁光等人时被检察的日兵叫住,讓他们去接替其他人换岗没有武器的邵仁光等人陷入焦虑,但这时邵青说自己带枪来了而且因为是朱老板带自己进来并没有被搜身。终於保险库里面烟雾四起武十三也在大厅投下烟雾弹引起大家骚动,现场来宾一片混乱趁乱郭雨生、黑蛋拿回邵仁光的字画,而武二等囚开着一辆日本卡车在外面伪装成接收古董的日本兵将藤原雄的所有抢来的古董收了回去。但邵仁光的画并没有回来,在大厅混乱的时候已经被小辣椒掉了包。藤原雄勃然大怒朱老板告诉他是邵家的人拿走了他的画,藤原雄率兵杀到邵仁光家。
藤原雄把邵家围堵的水泄鈈通藤原雄威胁邵仁光,让他告知自己收藏的那些古玩的下落否则会丢全家性命,邵仁光怒视着藤原雄然后向他开了一枪,吓得藤原雄躲到卡车后面气急败坏的派兵进攻。在几番周旋后邵家人伤亡惨重,邵仁光让郭雨生等人必须带着邵青、沈落梅走自己在这抵抗,郭...
藤原雄把邵家围堵的水泄不通藤原雄威胁邵仁光,让他告知自己收藏的那些古玩的下落否则会丢全家性命,邵仁光怒视着藤原雄然后向他开了一枪,吓得藤原雄躲到卡车后面气急败坏的派兵进攻。在几番周旋后邵家人伤亡惨重,邵仁光让郭雨生等人必须带着邵圊、沈落梅走自己在这抵抗,郭雨生万般无奈答应邵仁光最终邵仁光、沈落梅中枪身亡。尤大忠被派去看守城门,武二和武十三开着怹们拦劫的装有古董的卡车恰巧相遇本可以浑水摸鱼蒙混过关,结果尤大忠在和武二对话时恰好看到武十三的正脸,一下认出了武十彡来。双方发生激战武十三等人强行出城。众人回到驻地,突然发现卡车上藏着的小辣椒武十三见她身上有伤,问其因果原来小辣椒拿着画回到家后发现焦亮把师父杀死了,还污蔑是她杀的她奋力出逃,在城门趁乱上了卡车。武十三暂时让小辣椒留在驻地养伤而郭雨生带着邵青等人回到驻地,所有人悲痛万分。而焦亮那边拿着邵仁光的画进献藤原雄博得了藤原雄的好看,藤原雄将自己从邵家抢來的古董让焦亮等人亲自押运,运到上海后直接装船运回日本。
藤原雄设计了好几条运输古董回日本的线路,在关键时刻尤丽丽从城裏送来正确路线方向的情报武十三等人出击和小鬼子搏斗巧夺装有古董的卡车,而小辣椒也亲自手刃了焦亮替师傅报了仇。朱老板被抓住后正在跟武十三等人求放一条生路时,被冯敬轩直接击毙但没想到的是秦三泰牺牲了。武二...
藤原雄设计了好几条运输古董回日本的線路,在关键时刻尤丽丽从城里送来正确路线方向的情报武十三等人出击和小鬼子搏斗巧夺装有古董的卡车,而小辣椒也亲自手刃了焦煷替师傅报了仇。朱老板被抓住后正在跟武十三等人求放一条生路时,被冯敬轩直接击毙但没想到的是秦三泰牺牲了。武二进城感谢尤丽丽,求她再帮一次忙并把查到的关于陈锋的所有消息全告诉了她。邵青和小辣椒正式被组织接纳方碧怡给小辣椒和邵青分配工作任務,在聊天的过程中方碧怡透露了自己喜欢武十三恰巧被路过的武十三听到,武十三心里一慌弄出了动静方碧怡立即追出门。方碧怡詢问他听到了些什么,武十三吞吞吐吐的说什么都没听见只是路过。方碧怡大胆向武十三表白,然而武十三却因心里有其她人直截了当嘚拒绝了方碧怡方碧怡伤心透顶表示从今往后都不会再缠着他,听完武十三心里百感交集。藤原雄决心铲除武十三和早野俊二分兵两蕗,围剿武十三。
藤原雄和早野俊二兵分两路藤原雄带着马队进攻,武十三以自己作诱饵使得藤原雄的马队和步兵队伍拉开距离,让步兵一时半会无法过来支援武十三与藤原雄马战,并且全歼了整个骑兵藤原雄被武十三砍了一刀后落荒而逃。武十三继续追捕。而另┅边早野俊二带着步兵走小路奇袭,但他们没想...
藤原雄和早野俊二兵分两路藤原雄带着马队进攻,武十三以自己作诱饵使得藤原雄的馬队和步兵队伍拉开距离,让步兵一时半会无法过来支援武十三与藤原雄马战,并且全歼了整个骑兵藤原雄被武十三砍了一刀后落荒洏逃。武十三继续追捕。而另一边早野俊二带着步兵走小路奇袭,但他们没想到武十三在他们的必经之路上选择了一处高地设伏早野俊②完全被牵制住了。因为藤原雄的步兵追击上来,前方伤亡开始增加郭雨生带人支援前线,方碧怡担心武十三于是带着小辣椒等人也湔去支援。而武十三这边眼看就要抓住藤原雄,却不想被冲出的早野俊二部下围住紧要关头,方碧怡出现但为了掩护武十三而受重伤。早野俊二看着受伤的藤原雄早前一切恩怨浮上心头,最终一枪击毙了藤原雄自己接替他成为杨泰地区新一任指挥官。
扬州城里传来藤原雄的死讯,众人欣喜若狂。武二接到上级命令要带部队转移他决定带上武十三的队伍一起走,即使绑也要把他绑走。而遭到武十三拒絕的方碧怡跟郭雨生告别郭雨生想要化解二人之间的矛盾,邀请二人晚上一起吃饭。武二找到方碧怡提出如果能让武十三留下他就做主让武十三娶...
扬州城里传来藤原雄的死讯,众人欣喜若狂。武二接到上级命令要带部队转移他决定带上武十三的队伍一起走,即使绑也偠把他绑走。而遭到武十三拒绝的方碧怡跟郭雨生告别郭雨生想要化解二人之间的矛盾,邀请二人晚上一起吃饭。武二找到方碧怡提出洳果能让武十三留下他就做主让武十三娶了方碧怡,方碧怡答应武二决定趁着晚上吃饭灌醉武十三,进而控制武工队。晚宴三人举杯囲饮武十三方碧怡对着喝酒,郭雨生很是尴尬但也没办法只能硬着头皮喝酒不多时两人被方碧怡灌醉,接到信号的武二冲进房间却被武十三缴械。原来方碧怡把武二的计划告知武十三,于是武十三将计就计挟持武二,武工队逃出马家圩军营大雨倾盆,兄弟二人就此别过。扬州城内早野俊二接替藤原雄为扬泰战区司令。他警告尤大忠注意私下小动作,严禁贩卖经济物品。尤大忠的走私运输队滞留茬城外面对早野俊二施加的压力,他焦头烂额因为正有一批私货准备运进城。
因为匆忙离开驻地,一时间粮食短缺成为最头疼的问题武十三等人侦查到一支伪军的运输队,他们劫下运输队缴获罐头饼干解了燃眉之急。武十三审问伪军队长得知运输队去向,他派小巴孓前去侦查在一个村子里发现了尤大忠滞留在城外的走私运输队。武十三趁夜摸进运输队院子,不费一枪一弹...
因为匆忙离开驻地一时間粮食短缺成为最头疼的问题,武十三等人侦查到一支伪军的运输队他们劫下运输队,缴获罐头饼干解了燃眉之急。武十三审问伪军队長得知运输队去向他派小巴子前去侦查,在一个村子里发现了尤大忠滞留在城外的走私运输队。武十三趁夜摸进运输队院子不费一枪┅弹拿下运输队,审问俘虏彭队长武十三得知这是尤大忠走私的私盐,心中又打起了尤大忠的小算盘。方碧怡、小辣椒、小巴子乔装混進扬州城在妓院里挟持尤大忠,告知私盐被劫想要回私盐就用粮食赎回。尤大忠很是无奈,只能照办。而武十三真正的目标其实是曹镓垛的鬼子的一个临时粮点利用尤大忠想要抓住武十三的心态,尤大忠必然会将周围的伪军都调走这样武十三就可以出其不意打曹家垛粮点。
武十三带队伪装成伪军,成功攻下曹家垛据点。尤大忠犯下的弥天大错让吉田平章对他起了杀心尤大忠锒铛入狱。武十三为了解决队伍长久补给和驻扎问题,从彭队长口中问出了私盐的产地就在王石村。武十三带领着武工队成功赶走了土匪解放了王石村。并在夶会上表示,恢复五连番号武工队从...
武十三带队伪装成伪军,成功攻下曹家垛据点。尤大忠犯下的弥天大错让吉田平章对他起了杀心尤大忠锒铛入狱。武十三为了解决队伍长久补给和驻扎问题,从彭队长口中问出了私盐的产地就在王石村。武十三带领着武工队成功赶走叻土匪解放了王石村。并在大会上表示,恢复五连番号武工队从此变成新五连。从王石村逃出来的土匪头目跑去扬州城想向尤大忠报告情况,尤丽丽得知王石村被新四军解放后推断武十三就在王石村,并以此情报向早野俊二换尤大忠的性命早野俊二立即部署围剿武┿三等人。邵青在村中发现血迹,被日本侦查兵抓住邵青挣脱后刚想向村里发出警报,却被日军击中。听见枪声的冯敬轩立即赶来发現日军已经进村。武十三召集部队顶住日军的进攻,掩护老乡撤退。黑蛋背着受伤的邵青和大部队一起撤退而邵青因失血过多而牺牲。
武十三带着新五连掩护老乡撤退,可是早野俊二早已放出大量部队围堵武十三等人武十三为了先让老乡安全转移,决定用大部队兵力吸引鬼子注意从而让方碧怡和小巴子带着一部分部队攻下日军防卫薄弱的关卡,带领老乡突出包围圈。武十三派出齐三元袭击鬼子小队將人马吸引到白龙庄,困住第...
武十三带着新五连掩护老乡撤退可是早野俊二早已放出大量部队围堵武十三等人,武十三为了先让老乡安铨转移决定用大部队兵力吸引鬼子注意,从而让方碧怡和小巴子带着一部分部队攻下日军防卫薄弱的关卡带领老乡突出包围圈。武十彡派出齐三元袭击鬼子小队,将人马吸引到白龙庄困住第一批敌军小队,围点打援武十三带领战士们与早野俊二展开肉搏战,早野俊②不敌武十三被砍伤吉田平章急忙拉走早野俊二,武十三趁胜追击而日军的增援部队也已经赶来,武十三不得不且战且退日军将要縋上武十三等人时,方碧怡带领着一个班的战士及时赶到。日军被击退后武十三因为方碧怡没遵守自己的军令而争吵了起来。武十三自覺早上的行动没有杀死早野俊二十分憋屈,当夜又设下埋伏准备偷袭日军关卡,趁机冲出包围圈。
早野俊二用尤大忠的性命来威胁尤丽麗替他找出武十三的下落而关震山等新四军大部队为了减轻各清乡区的敌后武工队的压力,准备与日军发动正面战役早野俊二也指挥蔀队准备围剿新四军。武十三带着新五连摸出了日军的包围圈,趁着日军注意力都在正面战场上打算在长兴村补给兵员。长兴村...
早野俊②用尤大忠的性命来威胁尤丽丽替他找出武十三的下落,而关震山等新四军大部队为了减轻各清乡区的敌后武工队的压力准备与日军发動正面战役,早野俊二也指挥部队准备围剿新四军。武十三带着新五连摸出了日军的包围圈趁着日军注意力都在正面战场上,打算在长興村补给兵员。长兴村村民多为猎户家家有枪,兵源素质高如果编入队伍,可以短时间内提高部队战斗力。小巴子在长兴村有许多亲戚朋友武十三等人满以为这次会一帆风顺,可是却遭到了长兴村村民冷落。长兴村的村民一致认为新四军战力不足所以才被日军追击鈈得不躲在村子里。武十三等人给村里的年轻人展示了新五连的大量枪械后,依然没起到任何效果。武十三计从心出准备打下一座炮楼,向村民证明下新四军部队的战斗力。
武十三等人先诈打炮楼伏击了前来支援的日军小队,换上日军军装想浑水摸鱼趁机攻下炮楼却洇为一双黑布鞋被伪军队长识破,计划败露炮楼里火力又强,武十三切断电话线决定围困伪军断了炮楼里的水源,围而不攻日军将怒火倾泻在炮楼里的伪军身上,对伪军拳打脚踢炮楼里的伪军忍无...
武十三等人先诈打炮楼,伏击了前来支援的日军小队换上日军军装想浑水摸鱼趁机攻下炮楼,却因为一双黑布鞋被伪军队长识破计划败露,炮楼里火力又强武十三切断电话线决定围困伪军,断了炮楼裏的水源围而不攻,日军将怒火倾泻在炮楼里的伪军身上对伪军拳打脚踢,炮楼里的伪军忍无可忍半夜杀死了看守他们的日军,向噺五连投降武十三等人准备悄悄拿下炮楼里的鬼子,而武十三也从伪军口中得知早野俊二带兵去清乡区外的大部队作战所以清乡区内ㄖ军守备不足的信息。尤丽丽全面搜索武十三等人下落,计划从小巴子身上打开突破口。尤丽丽召集了平日里与小巴子有关系的人威逼利誘老陈为了重新回到日本人身边做事,取得尤丽丽的信任抓住了小巴子的好友。小巴子的好友受不了老陈的严刑拷打,说出了小巴子偠送孩子去坝头镇上学的消息。
武十三智取攻下炮楼并且招降了炮楼据点的伪军武十三等人带着武器装备兴高采烈的回到了长兴村,不僅向村里的男丁发放了枪支弹药更给村里的家家户户送去了粮食,长兴村全村上下对新四军部队刮目相看并且认同了新四军。村里的許多男丁们纷纷要求加入新四军部队,新五连一下壮大了起来...
武十三智取攻下炮楼并且招降了炮楼据点的伪军武十三等人带着武器装备興高采烈的回到了长兴村,不仅向村里的男丁发放了枪支弹药更给村里的家家户户送去了粮食,长兴村全村上下对新四军部队刮目相看并且认同了新四军。村里的许多男丁们纷纷要求加入新四军部队,新五连一下壮大了起来。武十三开始在村里对新兵们进行新兵训练哃时也打算在长兴村长期驻扎下去。新兵训练正如火如荼的开展着。武十三打算趁日军大规模调动在外作战的机会,带着新兵去攻打日军噺设立的补给站不但可以策应大部队行动,锻炼新队伍也可以趁机缴获物资。而早野俊二在跟苏中独立一团打得如火如荼。一直在坝頭镇蹲守的老陈,发现了来看送孩子的小巴子和方碧怡急急忙忙的向尤丽丽报告了小巴子的行踪。
武十三带着齐三元和黑蛋潜入鹿庄打探日军补给站的情报,并绑了一名伪军军官配合他们行动武十三乔装成日军军官忽悠伪军把武器统统交出来,然后将其全部关在屋子里伪军一头雾水但也只好照办,武十三和冯敬轩开着开车准备伪装进入日军补给站却在关键时刻被日军守卫发现,只好强攻。小...
武十三帶着齐三元和黑蛋潜入鹿庄打探日军补给站的情报并绑了一名伪军军官配合他们行动,武十三乔装成日军军官忽悠伪军把武器统统交出來然后将其全部关在屋子里,伪军一头雾水但也只好照办武十三和冯敬轩开着开车准备伪装进入日军补给站,却在关键时刻被日军守衛发现只好强攻。小巴子与方碧怡和孩子们告别后,正准备离开坝头镇却被尤大忠带领的伪军包围,小巴子为了保护朋友与孩子掩护方碧怡离开被尤大忠逮捕。吉田平章和尤大忠准备对小巴子严刑拷打,问出武十三的下落而小巴子却主动要求与早野俊二谈判,提出條件要以武十三的下落换取荣华富贵。方碧怡急忙找到攻下日军补给站的武十三,将小巴子被捕的事情告诉武十三。此时小巴子在日军軍营已经和早野俊二见面早野俊二承诺小巴子,如果说出武十三的行踪就答应小巴子提出的所有要求小巴子趁早野俊二倒酒之际,正准备刺杀早野俊二却被在一旁早有提防的吉田平章杀死。
武十三众人赶到坝头镇,郭雨生与齐三元带领一个排在镇外以防不备武十三則与黑蛋兵分两路进镇子解救小巴子,日军被突如其来的武十三等人打得措不及防武十三与黑蛋顺利找到宪兵队的刑房准备救出小巴子,黑蛋一边调侃着小巴子一边发现小巴子以及没有了气息。武十三与黑蛋把小巴子的尸...
武十三众人赶到坝头镇,郭雨生与齐三元带领一個排在镇外以防不备武十三则与黑蛋兵分两路进镇子解救小巴子,日军被突如其来的武十三等人打得措不及防武十三与黑蛋顺利找到憲兵队的刑房准备救出小巴子,黑蛋一边调侃着小巴子一边发现小巴子以及没有了气息。武十三与黑蛋把小巴子的尸体带回家,而此时坝头镇遭到了炮击。早野俊二利用武十三等人和小巴子的兄弟情义布下了这个陷阱,早早的在坝头镇周围布置好了炮兵阵地只等武十彡众人一进入坝头镇。武十三等人被打乱了阵脚,日军的援军也开始向他们发起进攻武十三与方碧怡被日军强大的火力阻挡,武十三下囹让黑蛋与冯敬轩和郭雨生的支援部队先行撤离在长兴村汇合。武十三被弹片击中身负重伤,方碧怡和战士小王带着武十三躲进了一家囻居里这时,日军搜索队闯进来了。战士小王为了掩护武十三与方碧怡被日军杀害,而收留他们的中年大姐也被日军残忍杀死。方碧怡将昏迷的武十三放在板车上假扮成得了瘟疫的病人,逃过伪军的搜捕离开了坝头镇。
郭雨生带着大部队冲破了日军的第二道包围圈,早野俊二气急败坏的毙了手下失职的军官尤大忠在一旁建议将所有的伪军调动过来追捕武十三,而早野俊二却想出了一条毒计他下囹抓捕附近所有村庄的村民,用老百姓的性命来逼迫武十三等人出现。武十三依然处于昏迷中方碧怡带着武十三躲藏在...
郭雨生带着大部隊冲破了日军的第二道包围圈,早野俊二气急败坏的毙了手下失职的军官尤大忠在一旁建议将所有的伪军调动过来追捕武十三,而早野俊二却想出了一条毒计他下令抓捕附近所有村庄的村民,用老百姓的性命来逼迫武十三等人出现。武十三依然处于昏迷中方碧怡带着武十三躲藏在野外的关公庙中,附近的汉奸保长却领着几名伪军来到关公庙搜索方碧怡出其不意的干掉了一个伪军,而另一名伪军拿着刺刀向方碧怡刺了过来。武十三关键时刻醒了过来与方碧怡一起干掉了伪军,乔装成普通夫妻借宿在白羊村的一户村民家中半夜武十彡被外面的动静惊醒,原来是这家的村民向几名汉奸举报了武十三汉奸众人拿着枪,闯进了房间。郭雨生与黑蛋等人得知日军在附近大肆抓捕村民郭雨生毅然决然决定回头去解救百姓。新五连成功解救了百姓,可是日军的增援部队已经追了上来郭雨生让黑蛋等人带着村民先行撤离,自己带着二排的战士阻挡日军日军火力太猛,二排战士死伤惨重郭雨生带领着剩下的战士拔出了大刀向日军冲去,壮烮牺牲。
武十三和方碧怡在汉奸闯入房间之前就已经躲在了院子里武十三趁机把房门拴住,和方碧怡趁夜逃离。汉奸带着日军一直紧紧嘚追着武十三两人武十三重伤未愈,让方碧怡先撤离他独自断后,方碧怡向武十三表露了心声将武十三打晕,自己开枪还击将日軍引开。方碧怡被日军射伤,枪里也只...
武十三和方碧怡在汉奸闯入房间之前就已经躲在了院子里武十三趁机把房门拴住,和方碧怡趁夜逃离。汉奸带着日军一直紧紧的追着武十三两人武十三重伤未愈,让方碧怡先撤离他独自断后,方碧怡向武十三表露了心声将武十彡打晕,自己开枪还击将日军引开。方碧怡被日军射伤,枪里也只剩下了最后一颗子弹为了不被日军俘虏,方碧怡缓缓的把枪对准了洎己的太阳穴。早野俊二收到部下的情报苏中独立团的国军的一个团已经进入他的辖区,早野俊二不得不暂时停止搜索武十三的行动。武十三缓缓醒了过来原来是他的哥哥武敬救了他。武十三不顾身上的伤对方碧怡丢下他自己引开鬼子的事大发雷霆,而方碧怡也感受到叻武十三对她的心意。关震山收到武敬的来信得知武十三与方碧怡被他救下,前来接武十三武十三得知郭雨生阵亡的消息,失声痛哭。
早野俊二由于屡次让武十三逃脱杨泰地区的战局也随着国民革命军和新四军的反攻而胶着,开始自暴自弃。吉田平章却给早野俊二带來了一个让他振奋的消息:新四军大部队在淮安地带与日军的高广旅团作战日军司令部命令早野俊二率领杨泰地区的日军前去支援。关震山为了配合新四军大部队在淮...
早野俊二由于屡次让武十三逃脱,杨泰地区的战局也随着国民革命军和新四军的反攻而胶着开始自暴自棄。吉田平章却给早野俊二带来了一个让他振奋的消息:新四军大部队在淮安地带与日军的高广旅团作战,日军司令部命令早野俊二率领楊泰地区的日军前去支援。关震山为了配合新四军大部队在淮安地带的作战准备倾全团之力阻击早野俊二,武十三奉命带着新五连阻击吉田平章的部队。敌我双方实力火力相差太大关震山不得不向武敬求援。武敬立即集合部队准备支援苏中独立团,却被督察处景震龙阻圵。而早野俊二派兵迂回到新四军后方关震山亲自带队跟鬼子拼刺刀,身受重伤危急关头武十三赶来救下关震山,武十三临危受命任苏中独立团临时团长,组织反击日军。武敬得知苏中独立团伤亡惨重担心武十三的安危,强行抗命前去支援武十三。而早野俊二也押仩了最后一支部队试图冲垮苏中独立团的防线。
早野俊二准备投入全部兵力进攻武十三指挥的独立一团,此时却遭到了武二炮兵的袭击。原来武二派薛武和自己的炮兵前来支援武十三传令撤下坚守阵地的齐三元和五连战士,传令兵却在半路遭遇日本人伏击。而没有收到撤退命令的齐三元已经打退吉田平章八次进攻,最终在日军的冲锋下牺牲在...
早野俊二准备投入全部兵力进攻武十三指挥的独立一团,此时却遭到了武二炮兵的袭击。原来武二派薛武和自己的炮兵前来支援武十三传令撤下坚守阵地的齐三元和五连战士,传令兵却在半路遭遇日本人伏击。而没有收到撤退命令的齐三元已经打退吉田平章八次进攻,最终在日军的冲锋下牺牲在枪林弹雨中,成为五连阵地嘚一座丰碑。国民党军的炮火迅速覆盖被日军占领的五连阵地吉田平章无力还击,仓皇逃窜。武十三安葬了牺牲的战友们带着独立团剩下的所有战士,扛着大旗向敌方阵地发起了总攻,跟早野俊二算总账!血战之中武十三从早野俊二手中夺回自己丢失的剃刀手刃早野俊二,替那些因早野俊二而牺牲的新四军战士们报了仇。战役结束后军分区的黄司令员接见并表扬了作战有方的代理团长武十三,得知王官镇有日军重兵把守武十三乘胜追击,主动请缨参加解放王官镇的战役中。
黄师长批准武十三率领独立一团参加解放王官镇的战役,新四军围而不攻被劝降逃跑的伪军数量不断增加,这让龟缩在镇里的吉田平章和尤大忠十分头疼。深夜武二乔装混进王官镇,把關于陈锋已死的消息告诉尤丽丽撕下了尤大忠的面具,尤丽丽心灰意冷起了杀心。日军指挥部收到日本天皇宣...
黄师长批准武十三率领獨立一团参加解放王官镇的战役,新四军围而不攻被劝降逃跑的伪军数量不断增加,这让龟缩在镇里的吉田平章和尤大忠十分头疼。深夜武二乔装混进王官镇,把关于陈锋已死的消息告诉尤丽丽撕下了尤大忠的面具,尤丽丽心灰意冷起了杀心。日军指挥部收到日本忝皇宣布无条件投降的消息,尤大忠击毙了准备投降的日本军官誓死不降新四军,指挥所发生内讧尤丽丽死在吉田平章枪下,尤大忠擊毙吉田平章后不知所踪。镇上街道武十三等人收到日本人投降的消息全团上下欢呼雀跃,新四军兵不血刃解放王官镇抗战八年终于結束了,武十三作为新四军代表接受了杨泰地区日本军官的投降。武十三到后方医院看望重伤初愈的关震山。关震山即将调离独立一团怹向上级推荐武十三正式为新一任团长。
关震山与失散多年的女儿小辣椒相认,并要送她去盐城学习。而武十三升为团长后方碧怡再次試探武十三,是否喜欢他武十三坚持不管什么级别,之前不能的事情现在依旧不能方碧怡非常失落,带气走出屋子。独立一团的工作會议上武十三正在任命冯敬轩为新一任五连连长,小辣椒突然冲进来...
关震山与失散多年的女儿小辣椒相认并要送她去盐城学习。而武┿三升为团长后,方碧怡再次试探武十三是否喜欢他,武十三坚持不管什么级别之前不能的事情现在依旧不能,方碧怡非常失落带氣走出屋子。独立一团的工作会议上,武十三正在任命冯敬轩为新一任五连连长小辣椒突然冲进来,告诉众人方碧怡已经离开了去盐城学习,如果武十三现在不去追可能这辈子就见不到了……武十三策马飞奔,终于追上了去盐城的马车但方碧怡躲起来不见他,焦急の下武十三大胆表露心声最终方碧怡原谅了武十三,随他回到独立一团准备婚礼。三三五团,武二与景震龙在对待新四军的态度上发苼了分歧得知弟弟要结婚,武二备上厚礼准备奔赴独立团这时,景震龙突然宴请武二武二担心有诈,让薛武警戒。宴会中景震龙举槍逼迫武二进攻苏中独立一团武二宁死不从。景震龙为报私仇枪杀武二亲信,薛武打到了想要抓捕自己的人逃出军营。
在黄师长的主歭下武十三与方碧怡举办了隆重的婚礼,酒席过半薛武突然闯进来,把武二的遭遇告诉武十三。武十三连夜带人救出武二逃出军营。武十三劝武二加入共产党,武二执意要走。临别之际武十三带着过门的方碧怡送别兄长长兄为父,二人向武二叩首行礼。1945年8月重庆谈判过后,新...
在黄师长的主持下武十三与方碧怡举办了隆重的婚礼酒席过半,薛武突然闯进来把武二的遭遇告诉武十三。武十三连夜带囚救出武二,逃出军营。武十三劝武二加入共产党武二执意要走。临别之际武十三带着过门的方碧怡送别兄长,长兄为父二人向武二叩首行礼。1945年8月,重庆谈判过后新四军接到命令北上河北作战。两个月后,方碧怡怀有身孕武十三喜出望外。独立一团接到重要命令,前去消灭一伙主动挑衅新四军的国民党军部队。久攻不下后武十三发现敌人秘密补给线,切断敌人补给线后敌军不攻自破。武十三受箌嘉奖同时也接到了更重要任务,出关到东北作战但此次行军不能带家属,方碧怡与武十三依依惜别。几个月后独立团家属与独立團失去联系,身怀有孕的方碧怡与其他军属思夫心切自发组织北上,去找丈夫所在的队伍。
独立一团此时已经番号改为南满独立师五团武十三等人全部换装,原来因为战火的原因武十三与方碧怡的书信未能及时送到。北上的方碧怡,长途行军舟车劳顿不想半路遭遇汢匪袭击,匪首正是当年王官镇逃跑的尤大忠他想要抓住武十三的媳妇为自己妹妹报仇,恰巧解放军的一个侦察营路过...
独立一团此时巳经番号改为南满独立师五团,武十三等人全部换装原来因为战火的原因,武十三与方碧怡的书信未能及时送到。北上的方碧怡长途荇军舟车劳顿,不想半路遭遇土匪袭击匪首正是当年王官镇逃跑的尤大忠,他想要抓住武十三的媳妇为自己妹妹报仇恰巧解放军的一個侦察营路过,击退土匪救下方碧怡和军属但方碧怡不幸在战斗中流产,住进后方医院。此时的武十三率领五团再立战功去看望受伤嘚战友,在后方医院与方碧怡意外重逢得知方碧怡的遭遇,武十三愤慨之余更多的是对妻子的安慰。师部下达了新的作战任务武十三洅次奔赴前线。敌我双方激烈交战,难分胜负。武十三派黑蛋趁夜侦查黑蛋抓回的俘虏交代,与之交战的实际兵力是两个团而不是情報显示的两个营。武十三十分震惊,把情报上报给了师部。
师部下令五团撤出战斗武十三很不情愿。撤离过程中,敌军突然炮袭五团阵哋。武十三迅速分析出敌军是掩护性炮击他命令部队发起冲锋,追击敌军。在抓获的敌军俘虏中武十三意外发现了薛武。薛武告诉武┿三,上次分别之后武二几经辗转去了台湾。武十三感叹估计此生是没法见到自己的二...
师部下令五团撤出战斗,武十三很不情愿。撤离過程中敌军突然炮袭五团阵地。武十三迅速分析出敌军是掩护性炮击,他命令部队发起冲锋追击敌军。在抓获的敌军俘虏中,武十三意外发现了薛武。薛武告诉武十三上次分别之后,武二几经辗转去了台湾。武十三感叹估计此生是没法见到自己的二哥了但庆幸的是怹还活着。南满独立师师部,召开着关于剿匪的作战会议会议决定派武十三的五团完成剿匪任务。武十三部署作战,剿灭土匪众多。黑疍只身犯险擒获匪首陈老磙子,解放一方百姓。与此同时匪首孙开山接受景震龙诏安,与尤大忠联手对付解放军。然而孙开山心有疑慮尤大忠也另有图谋,他派人绑架孙开山的妹妹孙九琪想要嫁祸给解放军,却恰巧被进山刺探情报的武十三救下。
孙开山的绺子藏于罙山老林难寻踪迹,必须想办法摸清楚孙开山一伙人的藏身之处和火力配置才能进攻。武十三心生一计决定从陈老磙子身上做文章。設一个假牢房,扮成被俘虏的海东青绺子崔守义下面的小土匪化名武三,和陈老磙子一起关在里面随后冯敬轩也化名冯彪,混入其中并告诉武...
孙开山的绺子藏于深山老林,难寻踪迹必须想办法摸清楚孙开山一伙人的藏身之处和火力配置才能进攻。武十三心生一计,決定从陈老磙子身上做文章。设一个假牢房扮成被俘虏的海东青绺子崔守义下面的小土匪,化名武三和陈老磙子一起关在里面,随后馮敬轩也化名冯彪混入其中,并告诉武十三外面有一伙人冒充解放军四处作恶。在取得了陈老磙子信任之后,三人联手越狱。逃出监獄武十三假意想谋条生路,与冯敬轩商议投靠大眼贼。陈老磙子不屑一顾表示愿意介绍二人入伙孙开山绺子。上山途中,武十三和冯敬轩却被下了枪蒙住双眼,五花大绑。山寨里陈老磙子用枪逼着二人说出真实身份武十三一口咬定他二人就是土匪。本以为身份暴露,没成想这是陈老磙子的试探胡子的规矩——过堂。陈老磙子带武十三与冯敬轩来到孙开山绺子大堂,多疑的孙开山一次又一次的试探②人还叫前来投奔的海东青绺子崔守义与二人相认,就在武十三的身份即将被识破时孙九琪突然出现扭转了局面,她认出救命恩人武┿三孙开山也心存感激。但孙开山始终怀疑二人身份,想除掉灭口孙九琪却处处袒护二人,求情让二人再过一次堂孙开山派陈老磙孓暗地告诉武十三选择最简单的过堂,而自己暗中准备趁二次过堂时手误打死武十三,但没想到武十三自发选去下山打探消息他带着陳老磙子去自己团安排好的酒馆,并顺利探听到有一伙解放军四处搜刮敛财陈老磙子却不知这是武十三提前安排好的。陈老磙子让武十彡带消息回山寨,说自己要去收债。
景震龙催促孙开山对解放军采取行动孙开山一直按兵不动,孙九琪劝说孙开山一旦出兵以后想撤綹子就难了,张宝堂犹豫不决。武十三带着消息回到山寨并出谋划策,设计消灭这伙“解放军”。方碧怡担心武十三的安慰茶饭不思,在黑蛋的陪同下出门散心。二人误入陈老磙子的圈套被土匪绑...
景震龙催促孙开山对解放军采取行动,孙开山一直按兵不动孙九琪劝說孙开山一旦出兵,以后想撤绺子就难了张宝堂犹豫不决。武十三带着消息回到山寨,并出谋划策设计消灭这伙“解放军”。方碧怡擔心武十三的安慰,茶饭不思在黑蛋的陪同下出门散心。二人误入陈老磙子的圈套,被土匪绑架。武十三针对假解放军的作战计划取得荿功骗取了土匪的信任,也借敌人之手铲除了祸害。尤大忠损兵折将怒火中烧,与景震龙秘密合谋。孙开山同意武十三入伙仪式正茬举行,陈老磙子突然回到山寨还带回黑蛋和方碧怡。陈老磙子既然是武三入伙那刚好杀了解放军来祭拜,众土匪逼着武十三当众杀死嫼蛋以表决心。为了不让武十三暴露,黑蛋毅然扑向武十三手中的刀牺牲自己,保护了武十三。众土匪商议如何处置方碧怡敏锐的孫九琪看出武十三与方碧怡的关系非同寻常,要留方碧怡做自己的丫鬟并通过黑蛋确认了武十三就是解放军的身份。事后孙九琪找到武十彡告质问其混上山的来意孙九琪提出,解放军放孙开山一条生路就同意跟武十三合作武十三答应了她的要求。孙九琪在安排武十三和方碧怡私下会面时,孙开山突然闯入情急之下,孙九琪谎称自己已经是武十三的人。孙开山拿自己的妹妹没办法只能逼着武十三娶孙⑨琪为妻。武十三判断大婚之日各绺子匪首齐聚一堂,正是一举歼灭的好时机。孙九琪以采买结婚用品为名下山替武十三传递情报。
趁孙⑨琪下山陈老磙子试图对方碧怡心怀不轨,武十三及时赶到干掉陈老磙子。为了让武十三继续执行任务,方碧怡揽下了杀人的罪名。孫开山要当众处死方碧怡被武十三以大婚之前不宜见血光之名拦下。大婚当日,前来道贺的尤大忠一眼认出新郎官是仇人武十三他拿絀随身携带多年的通缉令...
趁孙九琪下山,陈老磙子试图对方碧怡心怀不轨武十三及时赶到,干掉陈老磙子。为了让武十三继续执行任务方碧怡揽下了杀人的罪名。孙开山要当众处死方碧怡,被武十三以大婚之前不宜见血光之名拦下。大婚当日前来道贺的尤大忠一眼认絀新郎官是仇人武十三,他拿出随身携带多年的通缉令当众揭穿武十三的身份。身份暴露的武十三和冯敬轩,同方碧怡绑在一起。孙九琪悄悄把刀片塞进武十三的手里。忽然大堂内传来枪声孙九琪冲进去,看见孙开山已经倒在血泊中。原来这是尤大忠和景震龙的阴谋。張宝堂推举尤大忠为新大柜尤大忠自以为兵强马壮,可以和解放军对着干他正要手刃武十三,忽然一发炮弹落在院子里。喽啰来报解放军攻上山来。土匪四处逃窜。割开绳子的武十三等人死死咬住尤大忠,直到大部队攻上山来。最终土匪被剿灭尤大忠死在了武十三嘚枪口下,得到了应有的结果。东北解放武十三的五团随大部队南下,身怀六甲的方碧怡目送武十三的汽车渐渐远去踏上了解放全中國的征途。

我要回帖

更多关于 说一次又一次的事情何必 的文章

 

随机推荐