在当今的数字化时代,企业平均需要管理高达47.81TB的数据量。无论是小型企业还是市值万亿美元的巨头,数据都是决策的关键。随着数据生态系统变得越来越复杂,拥有合适的工具变得至关重要。
Presto
是一个现代的数据管理工具,能够帮助管理来自各种数据源的任意规模的数据。Presto已经成为许多大型科技公司,如Netflix和Lyft的核心技术。但Presto的应用并不局限于大型科技公司,新兴技术使得Presto在各种规模的公司中流行起来。
Presto是一个开源的分布式SQL查询引擎,能够对从GB到PB规模的数据源进行交互式分析查询。与传统的SQL引擎不同,Presto能够覆盖多个数据库。具体来说,Presto允许直接在数据所在的位置进行查询,包括Hive、Cassandra、关系型数据库甚至专有数据存储。Presto帮助在数据存储和数据库之间进行数据联接,这意味着不需要集中所有数据就能执行即席查询。
Presto的优势在于其平台的中立性。无论是在云端还是本地部署,这项技术都具有通用性,被Netflix和Lyft等大公司使用,同时也受到小型公司和初创企业的青睐。这些公司选择使用Presto,是因为它能够轻松创建一个自助式BI层,不仅限于数据工程师访问。数据能够跨数据源进行查询,使得Presto能够为数据消费者提供更灵活的数据访问。但这仅仅是Presto为用户提供的众多优势之一。在大数据中管理和查询TB级别的数据是常态,这导致查询速度变慢。这是一个问题,分析师希望他们的查询能够更快。
Presto通过利用已知和新的分布式查询处理技术来提供快速查询。这些技术包括内存中的并行处理、跨集群节点的链式执行、多线程执行模型以保持所有CPU核心忙碌,以及高效的平面内存数据结构。
尽管Presto有许多优点,但它作为一个简单的SQL引擎被开发出来,这意味着需要自己管理扩展、安全性、监控,并创建新的连接。这意味着如果只有他来管理数据,团队将无法轻松锁定数据。这常常使得Presto难以管理,因此像Starburst Data这样的公司介入并围绕Presto构建了基础设施。
Starburst Data使得Presto的实施变得简单。Starburst Data提供了Presto的所有优势,比如减少分析师访问几乎任何数据源所需的时间。此外,Starburst Data帮助开发了多项安全功能,如全局安全性以实现细粒度的访问控制、数据加密、数据掩码和查询审计。
Starburst Data还简化了Presto扩展计算的管理。如果试图自己管理Presto,将不得不开发自己的软件来管理Presto如何随着查询量的增加而扩展。在内部开发这些功能既昂贵又需要一个完整的额外团队。
以下是一些公司已经在使用Presto的用例,以及团队如何使用Presto的一些一般示例。
Netflix的大数据分析平台Netflix是利用Presto作为其大数据平台的众多公司之一。Netflix的用例范围从分析A/B测试结果到分析用户流媒体到训练推荐算法的数据模型。使用标准的数据仓库工具对Netflix来说是不够的。
这就是为什么Netflix转向Presto。Presto帮助解决了公司的即席交互用例。他们需要一个能够管理所有不同用例的大规模数据存储系统。Presto成为了Netflix的存储系统。但Netflix并不是唯一一个使用Presto进行数据仓库计算部分的公司。
Lyft的数据湖和SQL引擎在2017年初,Lyft开始探索Presto的OLAP用例,并意识到这个惊人的查询工具的潜力。现在Lyft内部有成千上万的仪表板使用Presto及其管理大量用户的能力。在Presto之前,Lyft依赖于AWS-Redshift,并有相互连接的数据存储和计算。
多个计算和存储导致了许多性能问题。例如,如果系统需要维护、升级、停机或节点扩展,轮询会非常慢。他们需要一个数据和计算分离的系统,所以Presto非常适合用例。
由于这些改进,Lyft的后端现在管理着大约1.5千名每周活跃用户,他们每天在平台上运行数百万次查询。
自助式BI归根结底,获取正确的数据仍然是数据分析、机器学习和数据科学的瓶颈。数据工程师和数据架构师必须不断工作以集成、迁移和设计新的数据仓库表。随着来自各个方向的数据越来越多,对数据驱动决策的需求增加,Presto可以帮助增加对数据工程师和数据存储系统的压力。Presto使分析师能够结合来自不同数据源的数据。
这包括像Hadoop、S3和Cassandra这样的系统以及其他资源,如传统的关系数据库。有了Presto,终于可以停止仅仅为了查询而移动数据了!Starburst允许享受Presto的性能优势,以及使用为企业用途构建的Presto实例的好处。
讨论了Lyft示例中的数据湖。但想单独讨论它。Presto的好处在于它不仅限于查询结构化数据。Presto提供了相当多的字段和映射功能。这意味着团队可以处理不太结构化的数据,同时仍然使用SQL来分析信息。此外,特别是与Starburst Data合作,Presto可以访问几乎所有的数据存储系统,无论是Hadoop还是S3。能够在哪里查询数据使得Presto成为数据湖的良好计算层。