InterSystems IRIS 数据平台是所有 InterSystems 应用程序以及医疗保健、金融服务、供应链和其他生态系统中数以千计的客户和合作伙伴应用程序的基础。它是一个融合平台,提供交易分析数据管理、集成互操作性和数据集成,以及集成分析和人工智能。它支持 InterSystems Smart Data Fabric 方法,用于管理多样化的分布式数据。
.png)
我们的架构核心是高性能、多模型、多语言数据处理的核心数据引擎,也称为通用数据平面(Common Data Plane)。围绕这个核心,是一个能够扩展极高数据量和极高交易率的出色设施,每秒可处理超过十亿次数据库操作。
接下来是两大子系统:一个专注于分析和人工智能(AI),另一个专注于互操作性和数据集成。这些子系统遵循我们的基本理念,即在数据附近运行所有操作,以提供高性能和最小占用空间。
最后,围绕这些子系统,我们建立了一个智能数据编织(smart data fabric),使客户能够通过单一堆栈解决复杂问题。下文将探讨这些层级及其交互方式,以便更好地了解 InterSystems IRIS 技术的独特之处。
.png)
InterSystems技术以其性能著称,其核心是一个高效的数据存储、索引和访问机制。与其他数据库提供商不同,我们不提供原生关系型或文档型数据库。我们使用一种称为globals的底层存储格式。它们以高度优化的多维数组样式格式建模,构建为B+树,并在每次操作时自动索引。在低于数据模型(如关系型、对象型或文档型)的层次上构建,单个存储格式被投影到不同的数据格式和模型中。这被称为通用数据平面(Common Data Plane)。
.png)
底层global具有很高的效率,可转换为多种不同的数据模型:
.png)
Globals(以上标"^"前缀表示)可以有多个下标,每个下标都可以是数字、字母数字或符号。Globals功能强大,以通用方式表示数据,只需一份数据副本就能同时支持多种数据范式。在这种方法中,关联数组和稀疏数组等情况很容易处理。我们还对存储格式本身进行了编码,使用的编码(以美元符号"$"为前缀)由于对磁盘和 I/O 进行了优化,因此占用空间小、延迟低。这些编码的格式在内存、磁盘或线上都是一样的。这最大限度地减少了数据摄取过程中的转换,并达到了内存数据库所能达到的惊人速度,同时还具有磁盘数据库所具有的持久性。
单个global如何支持多种数据模型的示例包括,当您使用SQL或BI工具并希望以关系格式(具有行和列的表)访问数据时。如果您正在进行面向对象的开发,我们会自动将这些对象投射到global中,然后再将这些数据投射到关系格式中。同样,我们也可以将 JSON 或其他文档格式投射到关系格式中。
这种功能意味着,我们不需要拥有多个数据存储,一个关系存储、另一个对象存储和另一个文档存储,也不需要将它们拼接在一起,我们只需将一个副本投射到所有这些不同的形式中,而无需重复、移动或映射。这也是写入模式和读取模式的便捷结合。就像数据湖一样,在插入数据并根据数据的当前用途为其找出最佳模式后,就可以依赖于数据链接等结构层次。这种全局结构既适用于结构化数据,也适用于文档、半结构化或非结构化数据。
为了高效地存储数据和索引,有几种编码设计得非常严密。
.png)
虽然列表是默认的存储编码,但 InterSystems IRIS 可以根据数据特性和/或开发人员的规格,用一种或多种编码来表示数据和索引。向量高效地存储大量相同数据类型的数据,可用于分析中的列式存储、向量搜索、时间序列和更特殊的情况。打包值数组(称为 $pva)是面向文档存储的理想选择。位图用于布尔数据和高效位图索引。
所有这些数据结构在每次操作时都会自动编制索引,并进行高度优化的更新。许多成功的客户利用内置索引执行低延迟、全事务性步骤,如前面提到的 "每秒十亿次数据库操作"。这种几乎即时执行的一致索引使我们能够一致、低延迟地访问任何格式的所有数据。由底层global格式实现的多模型功能几乎是即时的,因为只有一份数据需要更改,因此不需要时间或空间进行数据复制。这也带来了在摄入速度、可靠性和扩展性方面的主要优势。
系统可组合编码。由globals提供的多语言能力意味着您可以使用所选的编程语言,轻松访问所有所需格式。通过 JDBC 和 ODBC 等标准进行关系访问显然是如此,在 .NET 或 Java 中自动将对象与底层格式相匹配也是如此。从开发的角度来看,您不需要担心对象的关系映射,只需处理对象,我们会处理存储格式。
在核心数据引擎的周围,还有一个具有内置一致性保证的分布式缓存。该缓存使用我们的企业缓存协议(ECP),满足教科书中对分布式数据和故障下一致性的保证。 ECP内置了这些一致性规则,以在存在故障的情况下维护分布式系统的数据完整性,直接将它们封装在内。
.png)
换句话说,即使在大规模情况下,分布式数据的性能也保持高位。您可以扩展这些ECP节点以实现水平扩展,管理更高的吞吐量。您还可以扩展它们以实现数据分布,这意味着您可以在不局限于任何节点可用内存的情况下获得内存性能。
ECP 在云计算中的表现尤为出色,因为它具有扩展能力。我们已将其内置到InterSystems Kubernetes Operator(IKO)中,以提供自动扩展功能,而且我们可以使用 ECP 以透明方式向应用程序添加和移除节点。像这样的扩展基本上是线性的,您可以独立地扩展数据摄取、数据处理和数据存储,并针对您的工作负载进行优化。由于 ECP 对拓扑结构的变化具有鲁棒性,因此节点死亡不会影响事务处理。您可以随时添加节点,它们可以承担负载。这就提供了无缝的弹性,意味着您可以动态调整规模,并享受更低的净成本。ECP 对应用程序是透明的,无需更改即可扩展任何应用程序。客户还可以灵活地将特定工作负载与 InterSystems IRIS 集群中的特定注释集关联起来。例如,可将报告或分析工作负载分配到一个 pod,将事务繁重的工作负载分配到另一个 pod。
InterSystems IRIS 架构的下一层是内置的互操作性子系统。它可以跨消息、设备和不同的应用程序接口集成数据。它还能以 ETL 或 ELT(提取-转换-加载或提取-加载-转换)模式集成批量数据。InterSystems IRIS 互操作性将通用数据平面作为消息处理和数据集成所有要素的内置存储库。这得益于前两层的性能和可靠性以及多模型功能。 例如,批量结构数据往往是面向关系的,而许多消息传递协议往往是面向文档的。
默认情况下,互操作性是持久性的,这意味着数据信息和转换都存储在系统中,以便审计、重放和分析。与许多其他互操作性中间件产品不同的是,交付可以得到保证、跟踪和全面审计。您可以确认信息是否已送达,或查看谁向谁发送了什么信息,这些信息对于分析和取证都非常重要。InterSystems IRIS 互操作性的一般模式是面向对象的,这有助于创建和维护适配器:对象继承最大限度地减少了创建任何所需的自定义适配器(包括测试)所需的工作量。 它还有助于创建和维护数据转换。 如图 8 所示,使用通用对象可显著减少不同数据格式或协议之间所需的转换次数。与为每对数据建立和维护数据转换相比,将每种数据格式转换为一个通用对象的方法更为简单,更易于测试和维护。
在 InterSystems IRIS 互操作性子系统中,有多种跨消息、设备和应用程序接口的集成方案。
.png)
这种互操作性包括内置的全生命周期 API 管理、流媒体设施、物联网集成、与云服务的兼容性等。我们还提供多种语言的动态网关,可将现有应用程序以您选择的语言高性能地集成到这些数据流中。
InterSystems IRIS 互操作性与一系列内置分析和人工智能设施并存。
.png)
这些功能中的每一种都是 "贴近数据(close to the data)"运行的,也就是说,一般情况下,我们将处理过程带入数据中,而不是以相当高的成本和延迟将数据移至处理过程中。
InterSystems IRIS 内置了多种分析设施。其中一个是InterSystems IRIS BI,它是一种 MOLAP 类型、基于cube的商业智能(BI)架构,针对延迟进行了优化。由于这套子系统内置于 InterSystems IRIS 中,我们可以触发cube中的 SQL 和事件,从数据到仪表盘只需 10-20 毫秒。在事务和分析中使用单一数据副本有助于保持较低的延迟。由于 ECP 允许一组节点在与事务工作负载隔离的情况下对分析进行操作,因此分析不会对事务响应能力造成风险,同时也不需要超过一份的数据副本。
另一项功能是自适应分析(Adaptive Analytics),它与 InterSystems IRIS BI 不同,不使用预构建的cube。它在运行过程中动态优化和构建虚拟cube,使这些cube既可用于 BI,也可用于 Adaptive Analytics。Adaptive Analytics 是一种 ROLAP 类型的无头分析设施,包括与 Tableau、PowerBI、Qlik、Excel 等所有主流 BI 工具的无缝集成。
除分析设施外,还有一些 ML 和 AI 设施。
Integrated ML可让您使用 SQL 编写自动机器学习 (ML) 式模型。您只需编写一条 SQL 命令,然后创建、训练、验证和预测模型。结果可直接在 SQL 中使用。因此,熟悉 SQL 的开发人员可以在他们的应用程序中使用 ML 预测。
Python 直接位于数据平台的内核中,因此可以直接针对数据运行,并获得最高性能。您无需将构建模型的开发或实验室环境移植到运行这些模型的生产环境中。您可以在同一个集群中构建和运行模型,从而确保您构建的模型和运行的模型使用的是相同格式的数据,因此是一致的。数据科学项目简单快捷。
InterSystems IRIS 的嵌入式向量搜索功能可让您搜索非结构化和半结构化数据。数据被转换为向量(或嵌入),然后存储在InterSystems IRIS中并编制索引,用于语义搜索、检索增强生成(RAG)、文本分析、推荐引擎和其他用例。
这些层次——核心数据引擎、用于扩展互操作性的ECP层以及我们的分析设施——是我们能够支持智能数据编织(smart data fabric)架构的独特能力的一部分。Data fabric是一种架构模式,可对各种数据和数据源进行共同管理,其常见模式是从多个来源引入数据;对数据进行规范化、重复数据、交叉关联和改进;然后将其提供给各种不同的应用:
.png)
大多数data babric都具有多种功能,包括摄取、管道化、元数据等,使InterSystems方法变得智能的是在data babric中纳入了分析和AI:
.png)
InterSystems 技术的关键原则之一是 "连接或收集(connect or collect)"。InterSystems IRIS 中的一些设施,如外来表或联合表,可让您在数据所在的位置进行工作或 "连接 "数据。您也可以选择收集这些数据。
InterSystems IRIS 与云提供商无关,可在企业内部、您选择的云中、异构和混合场景中或多云环境中运行。我们业务中增长最快的部分是我们的云服务,可在多个云中使用。无论您想在哪里部署,都能灵活运行是关键所在。这使InterSystems IRIS有别于云供应商本身提供的设施或当前数据仓库的许多选择。您可以在任何地方运行 InterSystems IRIS 和用它构建的应用程序。当然,InterSystems IRIS 本身也提供云管理服务。
更多相关文章:







