SequoiaDB CTO:企业级NoSQL的发展之路
几年前,经历过NoSQL 数据库 革命的人也许还记得, web 2.0 效应曾引发大批 互联网 企业 竞相上线NoSQL,甚至有一部分企业彻底抛弃传统 关系型数据库 ,将数据全部迁移至NoSQL。NoSQL以其易扩展、高性能、灵活的数据模型和高可用等产品特色,捕获了互联网企业的心。
几年后的今天, 大数据 的热潮开始影响 传统行业 。随着企业 信息化 、社交化和移动化的水平不断提升,传统数据库的瓶颈日益显现。对于这些企业而言,他们开始从一个新的角度重新审视数据战略。近日,记者采访到SequoiaDB巨杉软件公司 CTO 及总架构师王涛,向我们分享了他的创业历程,以及企业级NoSQL的发展之路。
从DB2工程师转身NoSQL创业者
王涛曾经是DB2领域的专家,作为 IBM DB2全球最高技术专家小组的成员,参与了IBM下一代大数据平台的架构规划,精通数据库内核及体系结构。在IBM多伦多实验室工作了八年后,王涛选择了回国创业,目前担任巨杉软件公司CTO及总架构师,成功研发了自主产权的NoSQL数据库——SequoiaDB(巨杉数据库)。
SequoiaDB巨杉软件公司CTO及总架构师 王涛
据了解,SequoiaDB是一款完全自主研发的文档型NoSQL分布式数据库。SequoiaDB 1.0发布于2013年4月,主要向政府、电信、金融、电力和互联网等拥有海量业务数据的行业提供大数据解决 方案 ,目前客户已包括国内知名银行、电信及互联网企业。
谈到为何从DB2转至NoSQL,王涛认为主要有两个原因,一是关系型数据库的没落,二是企业级NoSQL潜力巨大。在很多程序员和DBA的眼中,关系型数据库才是王道。事实并非如此,在与全球财富500强的用户交流中王涛发现,传统数据库并非适合所有场景,也存在诸多技术局限性,如数据模型僵硬、可扩展性差、处理海量数据时存在性能瓶颈、缺乏处理半结构和非结构化数据的能力等。关系型数据库称霸市场的时代已经过去了。
另一方面,NoSQL经过这几年的发展已经日趋成熟,应用场景也已不再局限于互联网企业,而逐渐蔓延至传统企业。有预测称,NoSQL特别是文档型NoSQL在未来2-5年内将会规模进入传统企业。企业级NoSQL将成为未来数据库市场的发展趋势。
SequoiaDB——企业级NoSQL
预见到NoSQL在传统企业的发展潜力后,王涛开始了SequoiaDB的研发。与其他NoSQL不同,SequoiaDB主打企业级,即能够适应传统企业中的IT环境。他在与传统行业用户的交流中发现,现有的文档型NoSQL产品中忽略了很多企业级需求,如事务、SQL支持、与 Hadoop 系统的整合等。
于是在年初发布的SequoiaDB 1.0中加入了以上企业级功能,并将在下一个版本中(SequoiaDB 1.2预计在9月底发布)增加数据压缩功能,同时索引和数据可以在文件系统中分离以提高读写性能,还可以运行在IBM power机器上,这都是其他NoSQL所没有的独特优势。除了传统企业,企业级NoSQL在广大中小互联网企业中也有强烈需求。
另外,SequoiaDB还可以根据企业的需求进行定制化开发,这是国外NoSQL厂商无法比拟的优势。即使企业具有较强的研发实力,开源数据库引擎的定制化改动也只有厂商研发团队才能完全驾驭。这也是SequoiaDB为什么没有使用任何开源数据库引擎和代码的原因之一。
SequoiaDB是一款文档型NoSQL,被认为是最接近传统关系型数据库的NoSQL。文档数据库的核心是数据嵌套,将原本一些星形模式(Star Schema)的数据嵌套在同 一条 记录中以减少表之间关联的需求。这种设计可以从某种程度上大大简化传统数据库复杂的关联问题,同时由于摆脱了关系模型里面的强一致性的限制,文档型数据库还可以做到水平扩张与高可用。因此王涛认为,文档型NoSQL的应用范围要比其他NoSQL广泛许多。
NoSQL取代关系型数据库?
谈到NoSQL与传统数据库的关系,王涛表示,NoSQL不会取代关系型数据库,而会与关系型数据库长期并存。NoSQL相对于传统数据库的发展历程而言还很年轻,目前NoSQL主要用于对关系型数据库的补充,在其不适用的领域填补进去。
关系型数据库的核心是强一致性的关系模型,当初的设计理念是将ACID放在首位,其次考虑性能与可扩展性。而当人们发现并不是所有的数据都要求那么强的一致性,同时对于性能和数据量的需求越来越高时,NoSQL应用而生。
NoSQL主要将可扩展性放在首位,而高可用或一致性则放到了第二位,这种设计与原本的关系模型产生了极大的差异。尤其在当今 大数据时代 影响下,NoSQL势头渐强。大数据领域强调的是分布式计算,而关系型数据库为了维持强一致性需要在实体间进行大量数据交互。因此分布式计算是关系模型的一个不能适用的领域。
对此,王涛总结到,企业在需要强一致性的场景时,最好使用关系型数据库。在需要分布式计算和高性能 存储 的场景时,考虑使用NoSQL。其余的场景大多数人依然会选择关系型数据库,但有超过70%的现有关系型数据库场景其实是可以用NoSQL替代的。随着NoSQL的发展,从成本和易用性角度出发,相信越来越多的用户会开始使用NoSQL。
小结
SequoiaDB的出现将NoSQL从互联网推向企业级,弥补企业中关系型 数据库的应用 盲点,帮助企业从非结构化数据中获得价值。中国是天然的大数据摇篮,相信会有越来越多的创业企业关注大数据,关注NoSQL。