

原文发表于2018年12月10日:
https://www.nextplatform.com/2018/12/10/talking-databases-with-hadoop-creator-doug-cutting/
作者: Timothy Prickett Morgan
目前,市场上针对传统企业级关系型数据库的局限性而发明的技术非常多。虽然这些技术尚未成为现代企业核心,但他们逐渐占领了数据中心,与无数的数据库和数据存储并存,共同解决因性能或规模瓶颈造成的棘手问题。
Doug Cutting——Hadoop之父,得益于著名的Google文件系统和MapReduce数据分块系统启发,开发了Hadoop平台。Cutting在雅虎工作期间,为了解决性能和规模瓶颈,做了大量工作,解决了一些重大问题,并促成了一个新的行业。Cloudera是Hadoop平台最大商业发行版厂商,一旦完成对竞争对手Hortonworks 的收购后,会变得更大。作为Cloudera的首席架构师,Cutting很清楚Hadoop平台现在的使用状况以及未来可以扩展的方向。 Next Platform最近对Cutting进行了采访。

Timothy Prickett Morgan问:我很想知道Hadoop接下来会发生什么。各种平台层出不穷。Hadoop之后您在做什么?
一个好的平台应该具有足够的可塑性来吸收新技术,比如Hadoop最初是一个批处理引擎,随着Spark内存处理和流处理增加了机器学习,并支持传统的SQL数据库查询,支持不同的文件系统。各种各样的项目进进出出Hadoop平台。我甚至不知道是否可以还称之为Hadoop。有趣的是这些平台可能会融合,或分散,或就此不同路直到出现一个全新的东西,就像当初你发明的Hadoop。是否只是一个分析型平台呢,但看看数据库市场,每次出现所谓可以做所有事情的数据库时,新数据库就像蘑菇那样遍地都是。平台的统一真的很难。
Doug Cutting答:我的看法是,越来越多的功能被添加。我认为这是一个松散耦合的主要开源项目生态系统,随着新事物的出现,这些项目可以从互操作中受益。它们可与老项目互操作,当更好的项目出现时,一些老项目不再有意思。有些项目则一直保持它们的可用性。
人们获得了更多工具且速度更快,步伐更大,因为开源创新是直接由使用者推动的。许多新技术源于人们对可用工具的挫败感,他们看到了可以添加基于现有事物的新工具并满足他们的要求,不是非得厂商发起和推广的解决方案,我们可以获得这些快速生成的新工具。有人觉得工具很有用就创建它,他们把它放在那里,其他人可以尝试,看看还有谁发现它有用。当有很多人发现它有用时,像我们这样的开源厂商就开始对它进行技术支持,就像Spark和Kafka等等这样。至于Hadoop堆栈,我认为它不太可能从根本上被颠覆。我们已经形成了这种新型的生态系统,我认为这本身就是根本性的颠覆。简单地说,它不是围绕关系数据库管理系统构建的只由几个厂商严加控制的东西。


问:平台的增长会不会象寒武纪爆炸,多不可测? 因为人们可以用开源组件组成各种不同的平台。就像Cloudera堆栈本身就有很多组件。
答:原因很简单:问题不是单一的,需要解决许多不同的问题。我认为这是关系型数据库如此成熟以致被颠覆的原因之一。 前几天我还在和别人讨论关系型数据库没有非常有效地解决所有这些问题,我认为大多数这些开源项目真正满足了实在的需求。一些企业需要解决流数据的问题;一些需要解决批处理的问题;有些需要机器学习的东西;需要SQL或交互式全文搜索等等,这些都采用不同的技术解决方案,如果它们可以共享数据集就非常好了,合理地尽可能的共享。
但它们不会共享一切,因为它们根本是不同的任务。所以我认为将所有东西合并到一个平台会陷入失败之中,有人需要做的事情不适合那个平台,就必须拒绝并开始做一些不同的事情。按照我们看到的新问题出现和新类型的应用的速度,我认为我们不应该在单一平台上进行标准化。并且现在还为时过早。我们看到的是这种快速发展,拥有所有这些不同的选择确实提高了人们的生产力。虽说是有点乱,但我们正在迅速改变,尝试很多东西。


问:这很有道理。企业中关系型数据库的数量很大,但它们并不见得数据量特别大。对于大多数数据库,是在讲数百GB或数十TB,这并不是很大。大多数数据仓库数据量都不是特别大。是否存在一个关键交叉点,在这个点上,像Hadoop这样的平台上的SQL层(例如Cloudera发行版中的Impala层)足够好,它们可以完成事务处理工作,客户就可以不再用Oracle或DB2或SQL Server?
答:已经有人这样做了。几年前纽约证券交易所表示它已经撤掉了最后一个Netezza数据仓库,用Cloudera堆栈替换了所有东西。亚马逊也在说他们如何放弃Oracle逐渐使用自己的数据库。亚马逊没有用Hadoop,用的是类似的架构系统。 所以这种情况已经在发生了,但这并不容易。 纽交所说这很难,亚马逊也用了很长时间。
部分原因在于这首先是个文化,围绕着特定系统建立并管理它的组织;所有人都要有与平台相关的这些知识和流程,如果你切换技术平台,通常不是那么简单,不能悄悄的不告诉任何人,好像一切照旧。很多人会换工作,很多人的职责随着系统架构的变化而变化,也许是为了更好,更长远,但仍然很难。变化很难,即使您要将一堆不同的数据库整合到一个平台上,也可能无法在新系统上完全复制旧架构。您可能不希望完全复制谁有权访问管理等等这些事情。在实际过程中往往有很多这种细致的事情需要讨论。


问:这个问题甚至变得更加挠头,因为如果你看那些数据库厂商 - 我认为IBM和Oracle负主要责任 - 使用的存储过程和触发器,它们通常是嵌入应用程序的关键部分,由于没有触发器和存储过程的标准,因此数据库的迁移更加艰难。
如果在Cloudera你们真的可以解决Oracle或DB2或SQL Server这些问题,并提供合理的性能,那确实很有意义。那些数据库上的事务处理能占总工作量的10%?如果有一个地方我认为可以进行融合,那么它就需要跨越这些数据库,数据存储和数据仓库。我知道这是数据库中最棘手的事情,我想知道对于众多企业而言 – 不光是纽约证券交易所因为他们有很多技术人员来解决问题 – 而是为了数以千万的其他公司,对于大型企业,如果这个技术已经准备好了,他们也可以这么做。我不认为我们已经准备好了。如果我错了,请务必纠正我,但是我认为这些SQL层还没有达到像关系型数据库里事务处理的性能,对于分析型工作性能是好的。而且它们与这些关系数据库也不兼容。
答:我想你是对的。在事务处理中确实功能还不完善,但在分析中,已经很好了,但不是以100%兼容的方式。而问题是:人们是真的需要新的交易系统,还是需要新的分析系统? 客户告诉我们他们主要需要新的分析系统。而且,公司也希望节省这些关系型数据库的费用。


问:这也是我的观点。如果做得妥当,可以从Oracle许可和DB2许可和SQL Server许可中省出来的钱 – 想想DB2和CICS在大机上那么贵的成本 – 用这些省出来的钱来买全新的分析系统,同时也可以做事务处理工作负载。我认为这就是诀窍。
答:我倾向于不对这种事情的预测太过分或太远。Cloudera现在已有十年历史了,十年前,我们追寻的是那些少数大胆愿意冒险的客户,他们尝试用新方法来解决用别的方式不能解决的问题。随着时间的推移,我们添加了越来越多的功能来替换他们可以在旧平台上做的事情,这些功能可以更好地扩展和更好地互操作。如果客户为新工作负载用这些新的系统,那么对于客户和对我们来说,都是要容易得多,而不是兼容地提升和替换产品,那是一份吃力不讨好的工作。
这样的情况越来越多,然后就到了十字路口,关于事务处理。从某种意义上说,它是需求最少的事情,也不是数据系统增长占主导地位的地方。也许这是公司节省成本和简化的一种方式。 所以这是件好事。 我认为,随着时间的推移,这也是我们可以有所作为的地方。在过去一年左右我们才真正开始直接挑战传统数据仓库,现在可以完全取代现有的数据仓库技术。


问:现在有什么不同? 我们一直在谈论这种可能性很长一段时间了,Impala也有几年了。 那么去年的决定因素又是什么呢?
答:这需要一段时间。 它需要Impala的成熟,整个工具集的成熟,我们现在终于有了一套完整的功能来实现数据仓库,我们不会说只能迁移90% 数据仓库工作负载之类的。 我们可以支持所有这些功能。作为一个开源社区,我们认为与事务处理系统并没有到那个程度。我认为我们的系统可以取代某些类型的事务,但也有很多不可以。


问:当替换Teradata时,成本差异是多少?Mike Olson过去经常谈论存储上的成本差异都能买整个Hadoop堆栈了。那传统数据仓库上的成本节约是否会在此时促使企业采用新技术,还是有其它的原因? 有多少是节省成本的考虑,有多少是出于拥有更现代和可扩展的技术?
答:每种情况下都不同,但一般来说我认为可以节省大量成本。我们经常看到成本降低10倍。我跟一位客户谈过,他说它的价格便宜了100多倍,这真是太神奇了。所以这确实很重要。但也有可扩展性考虑,这其实也是成本的另一面。如果它便宜10倍,却可以存储5倍以上数据量,相当于成本也减半。比如,可以在数据仓库中放五年的数据,而不是一年,放五个月数据而不是一个月等等。这可以让你做更多事,分析更多。再比如,有新的产品线,新的数据来源,例如移动产品或一些新的物联网产品,你可以把这些数据倒到数据仓库,但如果你看看这会花多少钱,真是太过分了。现在,就可以在分析型平台中存储这些数据并利用它。因此,我认为随着业务的变化,变得越来越数字化,产生越来越多的数据,对数据仓库的需求更加密集,大家不希望IT成本中用于支付数据仓库的百分比继续上升吧,应该是下降。


问:为了保持成本曲线的下降,需要从行业中获得什么?是会有这样一个开源项目的聚宝盆,可以随时将新组件放到Hadoop平台上吗?取之不尽是好的方面,但您可能还需要在处理,内存,闪存,磁盘和互连方面进行修改。因此,就您而言,这个Hadoop平台在功能方面的扩展能力以及保持成本曲线下降的能力有哪些限制因素。我觉得摩尔定律正在枯竭。处理器将开始变得更昂贵,而不是更便宜。你知道内存和闪存已经比两年前更贵了,虽然价格目前略有下降。但我认为内存制造商喜欢获得高额利润而且我认为他们并不急于建造晶圆厂,因为会跟他们自己的市场冲突。那么,哪些事情完全不受您的控制,但是在您的愿望清单上?
答:这是一个很好的问题。 我们一直是硬件的消费者,充分利用硬件,工程系统必须利用这种规模经济。
我相信,即使从硬件和软件的角度一切都保持不变的话,大多数公司,并没有充分利用他们拥有的数据,没有充分利用当前的投资和当前的软件和硬件系统,来构建更好的软件,以推动其业务数十年。 当前的自动化程度不高,我们拥有软件工具和硬件可用性的速度远远超过了我们利用这些工具创建行业特定系统的能力。
你看很多行业中,还在使用几十年前制造的效率非常低的系统,而且他们并没有真正以优步,谷歌或特斯拉这样简捷的方式运营。 这些公司从一开始就把自己的数字系统建立在自己的核心位置,以最佳方式运行自己。 但大多数现有的财富500强公司,规模再小些的公司,都远不可比。你谈到大公司可能会有500或5,000个不同的数据库 – 这是非常可怕的低效。可能这些数据库自身执行的效率低下。我认为即使没有新的硬件进步,也有很多机会。我也认为摩尔定律已经死了,我们将继续看到硬件的进步。

更多资讯,请点击“阅读原文”





