SequoiaDB:或为国内开源的商业NoSQL数据库
几年前,经历过NoSQL数据库革命的人也许还记得,web 2.0效应曾引发大批互联网企业竞相上线NoSQL,甚至有一部分企业彻底抛弃传统关系型数据库,将数据全部迁移至NoSQL。NoSQL以其易扩展、高性能、灵活的数据模型和高可用等产品特色,捕获了互联网企业的心。包括国内的淘宝、新浪、京东商城、360、搜狗等都已经在局部尝试NoSQL解决方案。
几年后的今天,大数据的热潮开始影响传统行业。随着企业信息化、社交化和移动化的水平不断提升,传统数据库的瓶颈日益显现。对于这些企业而言,他们开始从一个新的角度重新审视数据战略。
巨杉数据库SequoiaDB(简称SDB)是一家专注于新型NoSQL分布式数据库研发的创业公司,核心产品是SequoiaDB。巨杉数据库的创始团队成员多来自于IBM北美实验室,长期从事关系型数据库DB2的研发工作。SequoiaDB 1.3于2013年4月正式发布(新版本为1.6),主要面向政府、电信、金融、电力和互联网等拥有海量业务数据的行业提供大数据解决方案,其客户中包括家世界500强企业,如国内知名银行、电信及互联网企业等。
近日,记者采访到SequoiaDB巨杉软件公司CTO及总架构师王涛,他向我们分享了他的创业历程,并表示SequoiaDB将会在近期开源。
从DB2工程师转身NoSQL创业者
图:巨杉软件公司CTO 王涛
王涛曾经是DB2领域的专家,作为IBM DB2全球高技术专家小组的成员,参与了IBM下一代大数据平台的架构规划,精通数据库内核及体系结构。在IBM多伦多实验室工作了八年后,王涛选择了回国创业,目前担任巨杉软件公司CTO及总架构师,成功研发了自主产权的NoSQL数据库——SequoiaDB(巨杉数据库)。
谈到为何从DB2转至NoSQL,王涛认为主要有两个原因,一是关系型数据库的没落,二是新一代NoSQL数据库的潜力巨大。在很多程序员和DBA的眼中,关系型数据库才是王道。事实并非如此,在与全球财富500强的用户交流中王涛发现,传统数据库并非适合所有场景,也存在诸多技术局限性,如数据模型僵硬、可扩展性差、处理海量数据时存在性能瓶颈、缺乏处理半结构和非结构化数据的能力等。关系型数据库称霸市场的时代已经过去了。
另一方面,NoSQL经过这几年的发展已经日趋成熟,新一代的NoSQL数据库已经成为了很多互联网企业的标配,而这一趋势正在逐渐蔓延至传统企业。因此王涛认为,新一代分布式数据库拥有无可比拟的市场潜力,而NoSQL大数据将会是几十年来信息管理产业中重大的变革。
新一代数据库引领产业变革
近年来,众多企业都看到分布式数据计算已经成为信息管理业界的主流。而对于新一代的分布式数据库,主要存在两个不同的发展方向:NoSQL与NewSQL。
NewSQL数据库所选择的道路是,基于原有关系型数据库体系结构,通过弱化ACID,增强分布式的特性,来满足传统业务对于SQL查询的需要,同时提供一个良好的分布式存储执行环境。
而NoSQL则认为,变革需要从数据库的本质做起。因此NoSQL选择重新搭建一种新型的存储结构,而上层的SQL优化执行引擎则与存储模块分开,力争每个模块分别做到能够横向扩展,提供的分布式存储执行能力。
这两种选择各自的特点鲜明,但是记者认为,两个方向终需要解决的问题是同一个,而两者终所走向的目标也是相同的。那就是提供一个可以媲美传统关系型数据库功能,同时能够进行完美分布式存储数据的平台。
业界普遍认为,不管是NoSQL还是NewSQL,新一代的数据库需要至少满足以下三个特性:
1) 可扩展性:数据库必须能够动态灵活地进行横向扩张,并且必须兼容云计算平台和x86体系架构。
2) 灵活调整数据模型:互联网时代对IT提出了前所未有的挑战,业务部门的需求变化日新月异,数据库必须允许在不中断业务的前提下动态调整数据结构。数据结构必须时时紧跟业务的需求,而不像传统的做法,将业务向数据模型靠拢。
3) 深度参与数据计算:新一代的数据库必须提供良好的计算框架与体系,适应不同类型的应用接口,并提供丰富的分析计算、实时检索等能力。
SequoiaDB所选择的的道路是NoSQL数据库,并且是作为文档类数据库的一员,提供了近乎可以媲美关系型数据库的丰富的功能(例如支持聚集操作、存储过程、甚至事务操作)、非常的可扩展性以及基于JSON的灵活数据类型,完全满足新一代数据库的几大基本特性。
SequoiaDB在发展初期主要以传统行业为目标,力争首先解决传统行业在大数据领域的痛点。记者在和民生银行科技部袁春光沟通中了解到,作为国内银行业批涉足大数据技术的民生银行,在使用现有的NoSQL产品(如MongoDB)的过程中发现其缺乏很多企业级功能,例如缺乏事务和SQL支持、与Hadoop系统的整合不紧密等,尤其是MongoDB对重用现有体制并不友好,包括在开发人员技能的延续性、和现有的应用程序对接等方面。这些对于像民生银行这类传统企业来说,信息孤岛所带来的架构上的破坏是致命性的,其远远大于这个产品所带来的价值。
作为国内银行业批涉足大数据技术的民生银行,在使用现有的NoSQL产品(如mongoDB)的过程中发现其缺乏很多企业级功能。作为企业级NoSQL数据库产品的,SequoiaDB致力于将已经被广泛应用于互联网领域中的NoSQL推入企业级市场。SequoiaDB通过其技术优势,弥补了现有大部分NoSQL对企业级功能支持不足的缺陷,完全满足了民生银行银行对下一代大数据平台的技术需求。目前SequoiaDB已经在民生银行银行大数据平台得到广泛应用。
SequoiaDB即将开源
业界普遍认为,开源是未来企业级软件市场的发展方向。SequoiaDB也正在向着这个方向努力。SequoiaDB CTO王涛表示:“巨杉公司一向是开源软件的忠实拥护者,在很长一段时间以来,我们从社区得到了非常多的帮助。现在,我们也希望尽我们自己的力量回馈社区。我们将在近几个月开源我们的SequoiaDB数据库,联手国内外开源社区的贡献者们一起打造一个开放、领先的NoSQL数据库。”
据悉,SequoiaDB是国内个正式开源的商业NoSQL数据库。此举表示出SequoiaDB对自己产品强大的自信。“我们的数据库引擎内核完全自主研发,并且提供了比业界同类产品更好的性能与更强大的功能。我们这次的开源将自己的产品完全展示给社区,也希望能够从社区得到不同方面的反馈,与社区联手一起打造出一款伟大的产品。”,王涛表示。
SequoiaDB此举希望将公司在传统行业中所取得的成功复制到互联网行业。王涛认为:“尽管现在看来,互联网行业与传统行业之间的隔断很大,但我们相信,传统行业中很多对数据库亟需的特性也将会蔓延到互联网行业。在如今跨行业竞争如火如荼的今天,互联网与传统行业都应该学习彼此的优点,从而改进自身的问题。”
SequoiaDB将一个开发多年、拥有稳定行业客户的商业产品开源,表示出了SequoiaDB对互联网行业的重视。SequoiaDB希望借助开放的社区平台,进一步推动SequoiaDB的普及,并且联合所有的社区团队,共同打造一款我国自主研发的核心数据库产品。
NoSQL取代关系型数据库?
谈到新一代NoSQL数据库与传统数据库的关系,王涛表示,NoSQL不会取代关系型数据库,而会与关系型数据库长期并存。NoSQL相对于传统数据库的发展历程而言还很年轻,目前NoSQL主要用于对关系型数据库的补充,在其不适用的领域填补进去。
关系型数据库的核心是强一致性的关系模型,当初的设计理念是将ACID放在首位,其次考虑性能与可扩展性。而当人们发现并不是所有的数据都要求那么强的一致性,同时对于性能和数据量的需求越来越高,NoSQL应运而生。
NoSQL主要将可扩展性放在首位,而高可用或一致性则放到了第二位,这种设计与原本的关系模型产生了极大的差异。尤其在当今大数据时代影响下,NoSQL势头渐强。大数据领域强调的是分布式计算,而关系型数据库为了维持强一致性需要在实体间进行大量数据交互。因此分布式计算是关系模型的一个不能适用的领域。
对此,王涛总结到,企业在需要强一致性的场景时,好使用关系型数据库。在需要分布式计算和高性能存储的场景时,考虑使用NoSQL。其余的场景大多数人依然会选择关系型数据库,但有超过70%的现有关系型数据库场景其实是可以用NoSQL替代的。随着NoSQL的发展,从成本和易用性角度出发,相信越来越多的用户会开始使用NoSQL。
相关文章