大数据已经渗透到各行各业之中,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。随着数据量的不断增大、以及对数据存储检索要求的不断提高,数据库技术也同大数据一样被推到风口浪尖。51CTO专访巨杉数据库CTO王涛为您解读大数据时代,数据处理和技术选型的方法。
记者:介绍一下您之前的工作经历,以及巨杉数据库的情况?
嘉宾:最初我在IBM做DB2关系型数据库,但是到了2011、2012年的时候,大数据行业不断兴起,我们发现IBMDB2的数据库不符合未来的趋势,于是我们就在北美做了一个数据库引擎,也就是NoSQL。后来,把它带到国内,将其产品化。在2012年巨杉数据库成立,2013年推出***个版本,很快就有了***个客户,后来我们的客户遍及政府、金融、电信等行业。到2014年我们完成了Pre-A轮和A轮两轮融资。
记者:刚才您也提到对政府、电信、金融等行业的支持,现在应用这个数据库自主研究数据库的效果和情况怎么样?
嘉宾:首先NoSQL是一个稳打类的数据库,我们不是世界上***家,在国外Hadoop跟我们比较相似,我们也在跟很多接口上跟Hadoop兼容。
MonggoDB在国外的市场份额非常大,之前有老外做了测评在功能、性能上Hadoop在某些场景下是非常有优势的。
Monggodb有一个特点就是功能非常多,但有很多不实用的东西存在,而我们有具有后发优势—看清楚市场需求,进而推出产品,然后更新。同时我们同mongdb的***不同是,SQL方面我们会更多的关注企业级的市场,
记者:刚才你也提到Hadoop这种存储方式,各种存储方式都有优缺点,对于处理大数据的处理以及与Hadoop Spark技术的结合关于这种技术选型,对开发者有什么建议?
嘉宾:现在Oracle的东西已经不在讨论的范畴之中,基本上都在说MySQL。虽然MySQL现在很多人都在用,但是这种MySQL对于应用的开发和运维是非常不友好的。第二就是在性能方面,当用户做一些大的关联的时候,极有可能会产生数据风暴,里面很多数据进行交换,这是非常可怕的,处理不好会出现非常严重的问题。
于是就有人提出用NoSQL这种新一代的数据结构。NoSQL现在用的比较多的三大分支是KV、宽表、文档。KV的用法很多,一般是用作缓存,Redismemcached等等。我想要说的是真正做数据化存储的两大类;一个是宽表类,另一个是文档类。
宽表类的优势体现在列存储上,但并不是传统意义上的列存储,有点像列簇,举个例子来说,比如有一万个字段,一条记录,把它集中十份,每份有一千个字段,这一千个字段所代表的是逻辑上比较相近的东西,我可以把每一千个字段独立的分布在机器上、当我需要查找的时候,只要拿出其中一部分就可以了,但是大家很少会用到这么多东西。
而文档类的数据库在我看来是最接近关系型数据库的一种,虽然Hadoop的功能做的很丰富、但是大家都默认它是文档类的工作。
现在很多文档有一个行存储,而且一般支持随机索引,例如我们可以在A字段做索引,过几天再做B字段的索引,这样沃恩可以在很多个字段上做随机查找,就不像宽表那样只能在键值段做索引。例如在电信的应用场景里,我查找主叫号码和被叫号码,我就可以使用文档型数据库建立索引查找。
记者:企业现在数据量越来越大,对数据库的扩容要求也很高,SQL在这个方面或者说巨杉数据库在这个方面优势在哪儿,或者说怎么处理这个扩容的问题?
嘉宾:如果说到扩容,那么传统的DB2是大家最熟悉的了。之前在IBM的时候有一个客户是256节点,需要增加64个,于是IBM派人做了一个月才做完
现在做非关系型数据库会使用到各种机制,当我需要插入新的功能节点的时候,我只需要去移动最少量的数据,而其他还是稳定的存储,这基本上就可以做到轻易扩容。
记者:刚才你也提到关系型数据库,SQL对于关系型数据库,相对传统一些的数据库,它俩会是什么关系,会是什么样的方式存在?是取代还是?
嘉宾:我认为两者的关系既不是并存也不是取代而是融合,毕竟SQL有它自身的价值和应用范围,SQL***性存储的能力还是非常好的。所以SQL不会被淘汰,而是一个强结构化的变化。在传统金融业务上没有道理需要用NoSQL取代SQL,因为SQL数据结构是非常严谨的。
反观这种严谨性所带来的应用开发延迟所导致的不够敏捷,在互联网业务上的弊端也就暴露无疑了,其实这也是NoSQL的地位所在。
这两者在将来会是有一个互相融合的趋势,NoSQL自身不会有接口。我认为所谓非结构化存储或者半结构化存储,相当于结构化存储里面的某一个部分。从某种意义上来讲,使用非结构化存储也可以满足很多结构化存储的需求。在上层完善的时,完全可以把SQL引入。我们也看到了在很多地方在尝试引用NoSQL的概念,,两者之间越来越像,可能某一天就融合了。
记者:现在这种对于大数据库Hadoop、spark,传统的那些数据库,对处理方式的支持上有什么弊端,遇到了什么问题?无论是Hadoop还是Spark,NoSQL对于它们的支持优势在哪?
嘉宾:Hadoop它讲究的是弹性扩张,水平扩张,传统的关系型数据库刚***的问题就是扩张不容易,甚至ORACLE这种完全是无法扩张的,这样的话就是你的上层扩张了一百台机器,底下很多东西东西,没有一个本质上的提升。所以不管上面怎么扩,底下还是那样一个瓶颈。 而最NoSQL本身是分布式的,Hadoop、spark也都是分布式的,我们做的conect这个接口可以让Hadoop用本地的方式访问本地的NoSQL的数据,这样的结合就很紧密。