几年前,经历过NoSQL数据库革命的人也许还记得,web 2.0效应曾引起大批互联网企业竞相上线NoSQL,甚至有一部分企业完全抛弃传统关系型数据库,将数据所有迁移至NoSQL。NoSQL以其易扩展、高 性能、灵活的数据模型和高可用等产品特点,捕获了互联网企业的心。 程序员
几年后的今天,大数据的热潮开始影响传统行业。随着企业信息化、社交化和移动化的水平不断提高,传统数据库的瓶颈日益显现。对于这些企业而言,他们 开始从一个新的角度从新审视数据战略。近日,记者采访到SequoiaDB巨杉软件公司CTO及总架构师王涛,向咱们分享了他的创业历程,以及企业级 NoSQL的发展之路。 web
从DB2工程师转身NoSQL创业者 数据库
王涛曾经是DB2领域的专家,做为IBM DB2全球最高技术专家小组的成员,参与了IBM下一代大数据平台的架构规划,精通数据库内核及体系结构。在IBM多伦多实验室工做了八年后,王涛选择了 回国创业,目前担任巨杉软件公司CTO及总架构师,成功研发了自主产权的NoSQL数据库——SequoiaDB(巨杉数据库)。 架构
SequoiaDB巨杉软件公司CTO及总架构师 王涛 分布式
据了解,SequoiaDB是一款彻底自主研发的文档型NoSQL分布式数据库。SequoiaDB 1.0发布于2013年4月,主要向政府、电信、金融、电力和互联网等拥有海量业务数据的行业提供大数据解决方案,目前客户已包括国内知名银行、电信及互联网企业。 oop
谈到为什么从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。