在 SQL Server 2022 中使用外部表在 MinIO 上存储和查询数据
数据是一回事,洞察力是另一回事。有多种方法可以从信息中提取洞察力——这些方法都需要权衡取舍。如果您将其视为一个金字塔,那么您的 AI 位于顶部,ML 位于其下方,高级分析位于其下方,SQL 为基础。这是一张简化但具有代表性的企业分析图。

挑战在于 AI/ML 人才真的很难找。这不一定是新闻,但它在与负责为一些最大的财富 500 强公司运行分析的同事的谈话中得到了体现。虽然 AI 和 ML 有望提供对数据的一些最深刻洞察,但设置和利用这些 ML 管道需要高度复杂的数据科学能力。在许多情况下,这些都是长期项目,需要数月甚至数年才能完成,并且可能需要对现有员工进行再培训以学习这些新的数据科学范式。
另一方面,SQL 技能在组织中无处不在,是数据的通用语言。这就是世界与数据库对话的方式。这就是为什么 95% 的财富 500 强企业都在运行 Microsoft 的 SQL Server。企业中可能没有比这更普遍的数据技术了。
在Microsoft SQL Server 2022中,对象存储通过一种称为外部表的技术成为一等公民。有两部分。首先,S3 连接器。其次,增强 Polybase 数据虚拟化框架。
通过这一新增功能,企业现在可以使用 SQL Server 2022 查询海量对象存储——无论这些对象存储存在于何处。新功能解决了两个主要的客户挑战 - 访问数据的方式以及无需学习新语言的方法。
使用 MinIO,数据可以在任何地方——公共云基础设施、私有云、Kubernetes 分布、边缘。
让我们再深入一点。
使用 Minio 和 Microsoft SQL Server 2022 组合随时随地访问数据
Microsoft SQL Server 2022 具有 MinIO 用户可以利用的两个关键功能。
首先,它使数据库管理员能够使用 S3 API 将数据备份和恢复到任何云环境。其次,SQL Server 2022 扩展了最初在 SQL Server 2016 中引入的外部表功能。
外部表允许用户对未直接存储在 SQL Server 中的数据运行查询。这样一来,用户就可以在架构上灵活地在他们想要的地方运行 SQL Server,并在他们想要的地方以他们想要的方式存储他们的数据,同时保留在不移动数据的情况下查询数据的能力。新的外部表功能现在允许它访问所有通常支持的文件格式以及 Parquet 和 S3 面向对象的存储。
这将显着扩展 SQL Server 可以查询的数据量。
例如,EnterpriseCo 可以在 Azure 中运行 SQL Server。以前,他们将数据移动到 Azure/SQL 服务器中以进行查询。现在,EnterpriseCo 可以访问本地数据,而无需将数据移动到任何地方。这意味着这些查询可以针对 PB 大小的数据集运行。
建筑选择几乎变得无限。在本地运行 SQL Server 并访问云中的数据。在本地运行 SQL Server 并访问私有云中的数据。在云中运行 SQL Server 并在边缘访问数据。使用 MinIO 和 SQL Server 构建具有主动-主动、多云复制的容错分析系统。主要考虑因素是性能,这些由 SQL Server 和数据的相对位置决定。
诀窍是优化部署。所有对象存储都将受益于外部表功能,但 MinIO 受益不成比例。原因很简单,在企业数据分布在多个云中的世界中,一致性很重要。MinIO 可以作为公有云、私有云和边缘的数据存储。作为一致的数据层,安全性、访问管理、弹性和生命周期管理也是一致的。性能可以是一致的,也可以根据业务需求分层——而其他一切都保持不变。
在 SQL Server 2022 中执行此操作的机制是通过称为 Polybase 的数据虚拟化功能。
Polybase 允许用户使用 Transact-SQL 直接从 SQL Server 和大多数其他数据库安装(如 Oracle、Teradata、MongoDB 等)和现在的 S3 API 查询数据。MinIO 提供了访问所有超大规模云环境的独特能力。两者(SQL Server 2022 和 MinIO)的结合使企业能够访问数据并从数据孤岛中获得洞察力,这些孤岛迄今为止是分散的且难以结合。
PolyBase 的一个关键特性是能够让数据保持其原始位置和格式。可以像 SQL Server 中的任何其他表一样就地查询外部数据。此方案最大限度地减少了对数据移动和数据复制的需求。数据复制带来的最大问题之一是协调,企业每晚浪费数千工时和计算能力来协调数据。
SQL Server 2022 允许将数据连续复制到云中或从云中复制,从而实现灾难恢复功能。与 MinIO 的结合允许快速数据驻留在基于 NVMe 的快速数据引擎上,并将其分层到任意数量的较慢层。这些组件并行运行,使您能够使用 Transact-SQL 或 Spark 库读取、写入和处理大数据,使您能够轻松地将高价值关系数据与非关系大容量大数据结合起来并进行分析。
此外,SQL Server 2022 与 Active Directory 集成并包含基于角色的访问控制,以满足企业的安全性和合规性需求。
为什么这很重要
添加外部表的重要性怎么强调都不为过。
首先,进一步证明对象存储已经成为数据基础设施的主要存储。SAN/NAS 人群不喜欢这条消息,但每隔一周,另一个主要数据库或数据组件就会以一等公民的方式打开对象存储。坚持的人不多,而那些坚持的人现在看起来相当小众。
其次,这使得 SQL 查询能够针对比以往任何时候都大得多的数据集执行。反过来,这有可能从现有数据中产生更多价值,并从长尾或“暗”数据中产生新价值。SAN/NAS 存储库通常会在几 PB 时碰壁。想象一下对 10 或 100 个 PB 运行查询?现在已经摆在桌面上了。
第三,这进一步巩固了我们几年来看到的第二代分解故事。第一代是存储和计算分离。第二,并行生成,是分析应用程序层(SQL 或 Splunk 或 Vertica),将查询功能与存储功能分离。坦率地说,这无处不在,符合查询玩家、存储玩家和客户的最大利益。这意味着客户将构建同类最佳的定制堆栈以满足其用例特定需求。它将强调存储方面的性能、弹性、安全性、云原生性和可扩展性——这反过来又要求解决方案是软件定义的。
第四,这满足了客户在多云方面的需求。客户不想在一个地方运行 SQL Server 2022 - 他们希望在数据所在的任何地方运行它。外部表的添加(以及 MinIO 作为合作伙伴)满足了这一需求。本地。查看。天蓝色。查看。每个其他公共云和 Kubernetes 发行版。查看。
这是 SQL Server 和 MinIO 的分水岭时刻。由于上述所有原因,我们将成为首选对象存储,这将扩大我们在 F500 客户中已经深入的渗透。
客户用例示例
在这个阶段我们不能透露太多细节——但我们有几个客户一直在热切地等待抢先体验窗口在 11 月 GA 日期之前开始构建。
例如,与我们合作的财富 100 强银行之一在 S3 存储集群上存储了大量客户行为数据。为了运行简单的 SQL 查询以从这些数据中驱动基本智能,他们过去使用技术将部分数据提取到某些数据库中,然后对其运行查询。该客户正在注册 Microsoft 早期访问计划,这样他们就可以对其数据运行查询,而无需将其复制到新的数据库实例中。这将为他们节省大量时间,并避免大多数银行需要处理的数据核对难题。此外,如果该银行决定采用机器学习技术从这些数据中获得更复杂的见解,
在另一个示例中,我们有一个大型零售客户需要将信息从分布式销售点系统导入到一个集中式数据存储中,该数据存储使用 MinIO 作为所有夜间活动的对象存储平台。这些文件可能是 parquet 或 csv 格式,并被传输到存储桶中。过去,业务分析团队需要将这些数据导入到他们的 SQL Server 环境中才能对这些数据进行批量分析。但是,随着 SQL Server 2022 的推出,像这样的客户端将能够直接对 MinIO 上 S3 存储桶中的数据运行分析。这不仅会节省他们的时间,还会节省与数据复制和协调相关的费用。同样重要的是,零售商(就此而言,任何企业)将能够利用 AI/ML 管道直接从这些数据中获得更深入的见解。就 Microsoft 而言,该零售商已提供与 Azure Synapse 的集成以驱动深度 ML 管道。推动这种洞察力的其他方法可能会利用 TensorFlow、Kubeflow 和 Pytorch,它们都与 MinIO 进行了一流的集成。
期待什么
随着今天的公告,抢先体验窗口已经打开。此版本中没有一些内容(例如灾难恢复),但这些内容很快就会准备就绪。
预计在 11 月全面发布,但我们鼓励所有企业客户现在就开始。它将有助于调整大小以满足特定工作负载的要求。一些客户会变大,而另一些客户会将其保持在数百 TB。关键是配置得当,两者都会走的很快。
下一步是什么
我们将于 7 月 12 日在 DevOps.com 上与 Hugo Queiroz 一起举办网络研讨会。这将提供联合价值主张的概述,并提供一个亲身实践的机会,看看如何配置 SQL Server 2022 以与外部大规模竞争表。注册将很快开放。在此期间,如有任何问题,请随时通过sales@minio.org.cn
联系我们或加入我们的 Slack 频道。