GigaOm 结构会议关注新兴的数据架构

  • Ron Bodkin
  • 侯伯薇

2010 年 7 月 14 日

话题:架构云计算DevOps语言 & 开发AI

在几周之前召开的GigaOM 结构会议上,人们对云计算相关的多个领域展开了讨论。 其中的关键主题之一就是新的数据架构的出现。 贯穿多个座谈、采访以及演讲,很多演讲者都指出,处理数据的方式将在不久之后发生显著地改变。

VMWare 的 CEOPaul Maritz 指出,操作系统的传统角色是管理系统资源以及提供服务,而在这两个方面它的角色都正在被取代。 他说,虚拟化技术已经不再限于 CPU 和内存,而是扩展到了存储和策略领域。 他还指出,像 Spring 或 Ruby(以及 Rails)之类的编程框架正在成为获取服务的主要方式。 Paul 提到,VMWare 正准备收购其他公司,以提供 Java 平台之外的框架。 他认为这些框架都极为重要,因为云服务是新的硬件——它是黑盒,你无法了解它的内部构造,因此框架层会为我们提供方便以及管理云的工具。 除了框架之外,他们还向队列和数据缓存技术投入了大量的资金——VMWare 认为整个“数据栈”(data stack)都处于变动之中。

在 VC 座谈会上,Accel Partners 的 Ping Li(他投资创建了 Cloudera)说,对于使用 NoSQL 的新数据堆栈,以及像 Cloudera 之类的公司提供的分析和 OLAP,他都发现了很多的机会。 假设我们已经拥有了 Hadoop,那么就会需要附加的分析服务,正如 web 2.0 公司需要新的数据层一样,新的云应用也有同样的需要。

会议上还有一些新创业公司召开了发布会。 其中与变更数据过程相关的公司有:

  • Datameer——它为分析师提供了一种工具,让他们可以进行海量数据分析,而不需要在电子数据表格中编码。
  • NorthScale ——他们发布了 MemBase 服务器的 beta 版本,它可以将 Memcached 扩展到永久性存储上。
  • Nephosity ——提供向导来配置 Hadoop 的 job,而不需要编码。
  • Riptano——为 Apache Cassandra(一种主要的 NoSQL key/value 数据库)提供企业级的支持和分发。

其中还有一场关于扩展云中的数据库的座谈会,10gen、Neo Technology、Pervasive Software、Clustrix、Terracotta 以及 Northscale 等公司都派代表参加。 这些公司达成了一项共识,传统的数据库在可扩展的云环境中无法有效工作。 Clustrix 的 Paul Mikesell 提出了这样的观点:分布式的数据库可以解决非可扩展的数据库的问题,那种数据库提供单独的管理结点,并且能够提供可替换的资源。 其他人认为,对开发者来说,关系型数据库更加难于使用,不同的数据存储机制能够为多变的数据格式和工作负载提供更好的支持。 Pervasive Software 公司的 Mike Hoskins 指出,关系型数据也已经不再紧抓住所有的数据问题不放,后关系型(post-relational)是比 NoSQL 更重要的一个概念。

关于 SQL 是否有用,在会上也有大量的讨论: 10gen 公司的 Roger Bodamer 认为 NoSQL 更适合于建模领域,而关系型模式由于涉及到太多的表和关系,所以需要最好的数据建模师才能使其有效发挥作用。 Neo Technology 公司的 Emil Eifrem 认为,SQL 总是让人头疼,开发者讨厌 SQL,并且使用工具来逃避它。 类似的,Terracotta 公司的 Amit Pandey 也指出,开发者通常会使用 Hibernate(有针对 Java 和.NET 的版本)作为抽象层,从而对数据库进行编程。 10gen 公司的 Roger Bodamer 认为,对于分析师来说,SQL 非常实用,而对于水平的读写可扩展性,其中你不需要很强的事务连贯性,NoSQL 是非常有用的,另外还有多种适合不同目的的数据库: 图形数据库,key/value 存储、文档数据库以及列数据库(column stores)。他指出 MongDB 是出于领先地位的基于文档的数据库,还说用户在将该项技术引入到正式环境中的时候会提出运维的问题: 例如,如何备份数据,最佳实践是怎样的? Paul Mikesell 同意在分析型数据库和 OLTP 数据库之间有不同的需求,后者需要统一性和更高的并发性,这使得我们有必要基于行的格式,这与基于列的分析型数据库存在较大的区别。

当被问及云会对数据库造成什么影响的时候,Paul Mikesell 以 sharding 为例,说明了在云环境和本地数据中心中使用单实例的数据库都会导致故障,他还指出 Hadoop 在数据分析方面做了大量工作,而 Clustrix 和其他公司的关注点则在于事务。 Amit Pandey 认为 25 年间累积的数据会让原有的传统数据库设计不堪重负。 Roger Bodamer 补充说,可扩展的数据库实现方式能够容忍一些故障,像丢失数据等等,这会让它们更适合云环境,并且能够节省新数据库的设计费用。 Mike Hoskins 指出关键的问题在于如何读写数据库,即便拥有丰富的用来载入数据、报告和管理数据的工具(像关系型数据库一样),在非传统数据库的实现过程中还有很多鸿沟需要跨越。他认为对于分析数据来说有更多的问题需要解决,而这些鸿沟比在事务处理过程中更容易管理。

会上还有关于海量数据的座谈会,出席此次会议的公司有 Cloudera、SQLStream、NEC 实验室、Yahoo 以及 Par Accel。 当被问及如何知道是否正在处理海量数据的时候,Cloudera 公司的 Amr Awadallah 说,当你总需要购买新的硬盘并使用磁带存档的时候,就是在处理海量数据。 SQLStream 公司的 Damian Black 说到,当你“消化不良”,并且无法跟上涌进来的数据的步伐时,就是在处理海量数据。 NEC 实验室的 Hagan Hacigumus 说到,当你现存的数据管理已经濒临崩溃,那么就说明你拥有“处理不了的海量数据”。 Yahoo 的 Todd Papaioannou 认为海量数据与数据的复合性有很大关系——它是“一大块一大块”的非结构化或者半结构化的数据,你需要在其中查找以发现有价值的内容。 Par Accel 的 Barry Zane 认为,在合理的时间范围内,如果有大量与你的问题的答案相关的信息,那么这就是让人恐惧的任务,比方说,针对点击流(clickstream)的分析,就需要你处理海量数据。

人们还请讨论小组提供现实应用的示例。 Amr Awadallah 说,eBay 现在拥有世界第三大的 Hadoop 群集,其中存储了几千兆的数据,并在会在它与传统的数据仓库之间移动数据。 eBay 的 Hadoop 群集的主要价值在于让人们可以运行复杂的算法,像为人们匹配商品、计算等级以及进行欺诈检测等等。 他还指出,Apollo 小组(Pheonix 母公司的大学)拥有大规模的 Hadoop 集群,他们将其用于分析学生如何与在线内容交互,从而对内容的发送进行优化。 Damian Black 说,澳大利亚政府正在进行一个项目,来监控高速公路上的所有汽车,从而动态地进行限速,这需要实时进行,从而避免导致交通堵塞的冲击波(compression waves)。 Barry Zane 指出,诚信国家信息服务(Fidelity National Information Services)已经与信用卡活动相关联,从而检测新的欺诈方法。 T0dd Papaioannou 指出,Yahoo 每天都会分析 450 亿个事件,以确定用户感兴趣的内容,从而执行有目标的广告、垃圾邮件过滤以及机器学习。

当被问及财富 1000 强中有多少家已经声称或者在三年内会出现海量数据的问题时,Hagan Hacigumus 说大约有 30% 的公司需要非传统的技术来解决数据问题。 Amr Awadallah 说他们都有问题,只不过还没有意识到而已。 例如,将数据存档意味着将数据移动到磁带“坟墓”中,除非政府要求你将它取回来。 并且非常有必要将数据统一,而不是使其分散在二三十个数据库中。 Todd Papaioannou 说他们都有问题,但是还没有确定要花费多少资金来解决。 Barry Zane 指出,他们的客户的思想上有问题,经常会被先入为主的想法所束缚: 他给出零售商的例子:评估查询性能的时候,执行市场分析会花费他们几天而不是几分钟的时间,那样才会发现用户对他们所有产品的喜好程度。

IBM 的 Erich Clementi 指出,卫生保健、政府、财务服务以及零售公司都对海量数据分析很感兴趣。 他指出 IBM 的内部销售数据来自于 300 个数据集市和 40-50 个应用程序。 他们剔除了应用程序,并将所有的数据集市统一为单一的千兆级的数据集市,每天都有超过 10 万人访问它。 他还说他们正在开发卫生保健服务程序,以提供与 HIPAA 兼容的云,它会把临床试验花费在移动数据上的成本降低 8-12%。 尽管中在某些数据集上会存在市场竞争的问题,Erich Clementi 更看到了共享数据所提供的重要机会,即便是在竞争对手之间共享也是一样。即使他们不会共享数据来提高销售量,也可以为药品的发明提供便利,或者允许财务服务共享数据以进行欺诈检测。 当然,组织像这样的多用户使用的云需要关注安全和隐私方面的需求。

在整个会议上,改变数据结构的主题都非常引人注目,很多不同的公司都提出了自己的观点,包括很多数据用户和厂商。 有人对针对轻量级数据存储的 NoSQL 引擎感兴趣,也有人关注于大型的数据分析解决方案,特别是使用 Hadoop 在使用 MapReduce 的分布式文件系统中分解数据存储。

查看英文原文:Emergent Data Architectures Highlights From GigaOm Structure Conference

架构云计算DevOps语言 & 开发AI