铜仁市论坛

首页 » 分类 » 问答 » InterSystemsIRIS集事务
TUhjnbcbe - 2021/1/5 22:33:00
中国白癜风医院         http://pf.39.net/bdfyy/zjft/170416/5291113.html

从资本市场和支付领域,到保险和智慧能源行业,我们帮助全球行业巨擘解决其面临的商业挑战。

概要

如今,成功的金融服务公司必须能够同时处理大规模的事务型和分析型工作负载,在每天处理数十亿信息的同时,支持每秒来自数百个应用程序的数千个分析查询,而且不能发生任何意外事件。如果有交易被遗漏(或者出现系统故障等更糟糕的情况),会产生严重后果,给公司带来财务损失和声誉损害。

传统的操作型数据库往往速度太慢,无法满足高吞吐量和数据访问速率的需求。这些数据库以毫秒为单位插入和更新记录,不能提供所需的微秒级响应,并且未经优化,无法并行支持大规模的事务型和分析型工作负载。目前,整个金融服务行业都在使用内存数据库,主要原因是内存数据库能够支持高性能的数据插入操作和分析型工作负载处理。然而,事实证明,内存数据库本身并不理想,尤其是在事务量增加时处理混合型工作负载方面。

本白皮书将介绍对事务处理与分析平台的要求。这些平台必须在不发生性能或可靠性问题的前提下实现大规模地操作,即便在市场波动期间也是如此。本文将描述迄今为止所使用的各种技术的优劣势,同时介绍一个新的平台——InterSystemsIRIS数据平台——该平台针对多工作负载的大规模处理进行了优化,其性能可匹敌甚至优于内存技术,而且具有传统操作型数据库的数据持久化和可靠性。

以全球领先的某银行为例,与之前使用的内存数据库管理系统(DBMS)技术相比,该行使用InterSystems技术之后数据吞吐量提高了%,延迟降低了%,并且该平台自上线以来一直运行正常。

前言

交易量增加和市场高度波动给金融服务公司带来了重大的技术挑战。对处理极高交易量的卖方公司而言尤其如此,因为他们还需要将海量的输入订单划分为更多的子订单来执行。同时,他们必须支持大量的并发分析查询,从而为内外部客户提供订单状态、风险管理、监督以及其他信息。这就要求其具备大规模处理多工作负载的能力,同时具备高性能和可靠性,但从历史来看,这一要求一直难以得到满足。除了预期范围内的事务量大幅增加外,能够影响市场的全球意外事件带来的事务量激增更是为加剧了挑战难度。比如近期包括年的金融危机、年的“闪电崩盘”以及年的人民币贬值在内的意外事件。对卖方公司而言,其技术基础设施的关键组成部分是事务处理和分析平台。该平台必须极其可靠且高度可用——既能承受事务量的正常增加,也能承受市场波动期间的激增,同时不会发生任何意外事件。

事务处理和分析平台发生的任何故障(哪怕只是速度略降),都可能给公司带来严重的后果。例如,平台发生故障后,可能需要花费数个小时才能重建订单状态,恢复正常操作。公司处理额外交易、提供订单状态及其他关键信息的能力会受损,同时,财务损失也会增加。即便轻微的延迟或中断也可能导致重大的财务损失,并影响公司声誉。近期,一家大型银行报告称,系统宕机给其造成的损失平均每分钟达10万美元。

高性能的事务处理与分析平台

高性能的事务处理与分析平台必须记录来自客户和内部的所有订单,确保这些订单的正确发送和执行,维护订单状态的完整性(例如,订单是否只填写了一部分),记录并合理分配所有交易执行,以及在保存所有数据的同时并发处理有关交易数据的分析工作负载。

图1:数百个应用程序事务处理架构

为了成功处理事务量的增长与波动而不带来性能或可用性问题,平台必须兼顾事务型工作负载与大规模的下游应用程序并发分析需求。金融服务公司,尤其是卖方公司,必须能够每秒处理数百万条信息,同时并行支持来自数百个系统(这些系统必须在报告订单状态的同时执行其他查询)的数千条分析查询。

传统操作型数据库速度太慢,无法满足高吞吐量和数据访问速率的需求。这些数据库以毫秒为单位插入和更新记录,而非所需的微秒级响应,并且没有优化到足以支持大规模的事务型和分析型工作负载。

目前,整个金融服务行业都在使用内存数据库,主要原因是内存数据库能够支持高性能的数据插入操作和分析型工作负载处理。然而,内存数据库本身并不是理想的事务处理与分析平台,原因如下:

■并行处理大规模事务型和分析型工作负载的能力有限。内存数据库的设计无法支持大规模的多工作负载处理。因此,随着事务量的增加,事务处理与分析查询在某一时刻会变慢或停止。

■规模限制。由于内存数据库中的数据存储在主内存中,因此内存可用空间限制了工作数据集的大小。这在事务量飙升时会产生重大风险,一旦RAM可用空间存满,将影响处理新订单的能力,还会限制实时查询和分析的数据量。

■成本高。由于服务器具有内存限制,要想突破限制扩展内存数据库,需要购买和获取额外的节点,以便维持正常操作,并为意外波动提供动态余量,而这会增加成本。

■系统宕机。由于数据存储在内存中,如果数据库的服务器发生故障,驻留在该服务器内存中的数据将会丢失。有些内存数据库系统可通过镜像数据库、复制及其他方法来提供持久性存储。但这些方法会影响写入性能和成本,并增加维护的复杂性。对于将数据存储在文件和事务日志中的数据库,其恢复工作包括使用日志、checkpoint文件和其他备份数据重新构建数据库。这项工作非常耗时,在此期间,银行处理订单的能力将受到影响,从而导致收入损失和其他业务损失。

提供高性能的事务处理与分析

InterSystemsIRIS数据平台是一个混合事务分析处理(HTAP)数据库平台,兼具内存数据库的性能和传统操作型数据库的持久性和可靠性。不同于任何其他数据库,InterSystemsIRIS数据平台已被优化至可同时满足大规模的事务型工作负载和针对事务型数据的海量并发分析查询,而不会发生意外事件或性能下降,即便在市场高度波动期间也是如此。

以全球领先的某银行为例,使用InterSystems数据平台之后,该行应用程序的吞吐量提高了3-5倍,性能提高了10倍。与之前使用的基于内存数据库管理系统的技术相比,该行的操作成本降低了75%,并且InterSystems数据平台自上线后一直运行正常。

InterSystemsIRIS数据平台的核心是一个全面的多模型数据库管理系统,可提供快速的事务型和分析型性能,同时保证可扩展性、可靠性或安全性。该平台可在一个共用的永久性存储层中处理关系型、面向对象、文档、键值对和层次的数据对象。InterSystemsIRIS数据平台具有以下独特性能,因此对关键任务的高性能事务处理与分析应用程序具有很高的吸引力。

■高性能地管理事务型工作负载,并具有内置持久性

■高性能地处理分析型工作负载

■始终高性能、大规模地处理并发的事务型和分析型工作负载

■总体拥有成本较低

高性能地管理事务型工作负载

并具有内置持久性

InterSystemsIRIS数据平台包括一个高性能的数据库,该数据库可提供匹敌甚至优于内存数据库的事务处理性能,并具有大规模的内置持久性。它能够永久地存储数据,并且总是保持最新。在机器关闭时,数据也不会丢失,因此不需要进行任何数据库恢复或重建工作。

InterSystemsIRIS数据平台卓越的数据插入性能在一定程度上得益于其多维数据引擎,该引擎可以将数据高效紧凑地存储在一个富数据结构中。通过使用高效的多维数据模型和稀疏存储技术(而非二维表),能够以更快的速度访问和更新数据,并且减少所占用的资源和磁盘容量。除传统的TCP/IP访问API外,该平台还可提供内存和进程内API,进一步提升数据插入性能。

InterSystemsIRIS数据平台的数据插入性能通常比内存数据库快3-10倍。InterSystems的一家客户每天在双插槽IntelXeon计算机上处理亿个事务,平均插入速度为每秒45.5万个对象。

高性能处理分析型工作负载

InterSystemsIRIS平台提供广泛的分析功能,包括全面支持SQL,使金融机构能够利用其现有的基于SQL的应用程序,而几乎无需做任何更改。由于该数据库将数据存储在高效的多维结构中,因此相对于传统关系型数据库,SQL应用程序的性能更高。InterSystemsIRIS平台还可为其他数据范式(包括:对象、文档、键值数据和非结构化数据)提供本地支持。

InterSystemsIRIS平台高性能的分析型工作负载,也得益于其独特的实时索引方法——事务型位图索引。该方法大幅提高了对活动事务数据的复杂查询性能。大部分数据库使用的是传统索引,维护行或对象中的值的ID列表。相比之下,位图索引包含列或属性的每个可能值的单独位图。位图索引的优势在于可以通过执行布尔操作(Boolean)来处理复杂查询,而无须在整个数据库中进行搜索,从而将需要搜索大量数据的查询响应时间提高至少倍。

然而,在利用传统位图索引的情况下,更新该索引的速度可能缓慢。此外,此类索引也需要大量的存储,这限制了它们对数据库的使用,尤其是在需要分析实时事务型数据时。

InterSystemsIRIS数据平台采用独特的事务型位图索引,可利用多维数据结构来解决这两个问题。因此,位图的更新速度快,甚至高于传统索引的更新速度,而且先进的压缩存储技术也可大幅降低存储需求。超快位图可搜索大型数据集,并且支持分析查询,从而能够大规模、高性能地纳入“活动”数据。

最后,InterSystemsIRIS平台能够对大型数据集执行复杂的分析查询,包括以极高的性能执行连接(join)操作(这些连接可以访问分布在不同节点或分区的数据),而且无须多次复制数据。该功能使组织机构可以利用其分析查询功能访问更多订单数据。一些机构甚至从Hadoop数据湖和其他数据存储库中导入历史数据集,以便结合分析当前的事务数据。最终,组织可以在其分析中纳入更多数据,以支持下游应用和adhoc分析查询,从而近乎实时地从数据中获得更准确的新见解。

始终高性能、大规模地处理并发的事务型和分析型工作负载

InterSystemsIRIS平台可同时大规模、高性能地处理事务型和分析型工作负载,同时不降低任一工作负载的性能。由于订单量的不断增加,系统的事务型和分析型工作负载均有所增多,因此数据平台必须扩展至可处理此类工作负载而不发生性能或可用性问题,尤其是在市场波动期间。

InterSystemsIRIS平台的几个特性可支持这些需求:

企业缓存协议。为了实现这一卓越的多工作负载性能和可扩展性,InterSystems开发了一项独特技术——ECP(EnterpriseCacheProtocol,企业缓存协议)。

ECP的一个关键优势在于能够根据工作负载类型(即事务处理或分析查询)和负载独立扩展各类资源。ECP能够以最佳方式协调数据在多服务器环境间的流动,涵盖从数据插入到使用的整个过程。它全面支持SQL访问环境中的所有数据,而无须复制或广播数据。

ECP使分布式系统中的服务器既可作为应用程序服务器,又可作为数据服务器,并可动态访问远程数据库,就像访问本地数据库一样。数据的主要所有权只需由系统中的一小部分服务器持有。如果分析需求增加,可以立即添加更多应用程序服务器。如果磁盘吞吐量达到瓶颈,则可以添加更多数据服务器,并且将该数据库从逻辑上进行分库。

分布式系统的每个节点都可以对驻留在自身磁盘系统的数据或从其他数据服务器上通过ECP传递的数据进行操作。当客户端发出数据请求时,应用程序服务器将尝试从其本地缓存中满足该请求。如果所请求的数据没有在本地缓存,应用程序服务器将向远程的数据服务器发送请求,然后该数据将缓存到本地应用程序服务器中,并提供给该服务器上运行的所有应用程序。ECP自动管理整个网络中缓存的一致性和相关性。

ECP的使用透明,无需更改应用程序,也不需要专门的技术。各应用程序只需将整个数据库视为本地数据库即可。

图2:大多数数据库可以优化插入和更新数据,或处理查询。ECP是一种特有技术,可以优化处理单一场景中的两种工作负载。

复杂的内存管理技术。InterSystemsIRIS使用复杂的内存管理技术来确保高性能和可用性。大多数内存数据库依靠操作系统进行内存管理,因此在高工作负载期间可能会耗尽内存资源。InterSystemsIRIS在启动时会请求操作系统中的一片连续的内存块,然后独立于操作系统智能地管理和优化该内存。在高工作负载期间,所分配的内存有可能(预计)会完全耗尽。如果发生这种情况,InterSystemsIRIS平台将动态地释放最近最少使用的数据,从而释放内存,并继续无缝运行。如果所请求的部分数据不在内存中,只需从磁盘中检索即可。

缓存优化。大多数数据库会为计算机上运行的每个进程维护一个单独的缓存,而InterSystemsIRIS数据平台会为每台计算机维护一个单独的缓存,并允许在其自身内存地址空间中运行的各个进程访问这些数据。由于多个客户端能够共享一个单独的缓存,因此每台机器只需维护一份数据副本,这样就降低了存储需求,减少了网络I/O,并且具有卓越的可扩展性。例如,在由台机器(每台机器均为八核)组成的基于InterSystemsIRIS的系统中,为了维持缓存的一致性,只需个缓存互相通信即可。相比之下,那些需要为每个核维护一个单独缓存的系统则可能需要协调2,个缓存。

InterSystemsIRIS具有显著的性能和可扩展性优势,使组织机构可以使用具有最高性能和可靠性的单一平台,高效地同时处理事务型和分析型工作负载,而不降低任一工作负载的性能,即便在事务量激增期间也是如此。

图3:InterSystemsIRIS平台与内存数据库的对比

总体拥有成本较低

InterSystemsIRIS平台提供单一的统一架构,用于处理多种数据类型和事务型及分析型工作负载,因此无需学习或集成多种技术和方法。该平台还可提供一个高度直观的应用程序开发和维护环境,加快实现速度,简化应用程序的维护,并使机构使用更少的资源完成更多的工作,同时降低开发和维护成本。

该平台可高效地利用系统资源,减少所需的基础设施的数量(尤其是与内存数据库相比),大幅降低基础设施成本。以一家金融服务公司为例,使用InterSystems技术之后,该公司的操作成本比之前使用基于内存数据库系统的技术时降低了75%,同时吞吐量、性能及可靠性也大幅提升。

混合事务/分析处理(HTAP)数据库

曾经,联机事务处理(OLTP)和联机分析处理(OLAP)工作负载一直通过不同的数据库独立处理。然而,对不同数据库进行操作会产生复杂性和延迟,因为分析数据时必须将其从OLTP环境传输至OLAP环境。因此有必要开发一款新型的数据库。年,Gartner公司将这种新型数据库称为“混合事务/分析处理(HTAP)”,该数据库可以在单个场景中同时处理OLTP和OLAP工作负载,而无需在分析时复制事务型数据。

HTAP数据库能够帮助组织机构产生新的见解、创造新的收入机会,以及增强态势感知和整体业务敏捷性,因此被用于多个行业。

然而,并非所有HTAP数据库都是相同的。尽管内存技术是其中的关键组成部分,但那些完全或过分依赖内存架构的HTAP数据库面临着一些与内存数据库相同的挑战,包括无法调试以处理大规模并发的事务型和分析型工作负载、扩展成本高,以及在可扩展性方面受到内存可用容量的硬限制。

这些局限性可能影响组织机构的能力,无法在负载高峰期可靠地处理事务而不发生性能或可用性问题。尤其是在金融服务领域,这可能意味着机构在市场波动期间无法处理所有订单。

客户案例

高性能事务处理与分析

以一家全球领先的卖方投行为例,该行拥有5万名员工,资产管理规模超过1万亿美元,其事务处理和分析平台的需求曾出现冲突:必须在可靠地处理不断增加的交易订单量的同时,降低基础设施的成本。

该全球分布式系统必须能够处理数十亿的日常订单,并有足够的动态余量来处理市场波动期间的订单意外激增。与此同时,该系统必须处理来自整个机构的个应用程序的分析查询。

该行之前使用的是基于内存数据库管理系统的事务处理系统,但在负载高峰期遭遇了严重的性能和可用性问题。后来,转用了InterSystems技术之后,该行应用程序的吞吐量增加了3-5倍,性能提高了10倍,且操作成本减少了75%。此外,与之前使用基于内存的系统相比,该行目前可以分析查询更多的订单数据。

使用InterSystems技术的实现方案中没有任何单点故障。每个功能组件均可线性扩展,并且已经成功应对所有的交易日——从未发生性能或可靠性问题。

对历史数据和实时事务型数据进行大数据分析

以另一家拥有3.5万多名员工、资产管理规模超过8亿美元的卖方投行为例。该行需要对其事务型数据进行分析,并以毫秒为单位响应终端用户的查询。该行曾将70年的历史数据导入到Hadoop的数据湖中,但仅使用Hadoop的分析能力无法满足其需求:

■虽然ApacheHive数据仓库基础设施能够支持简单的SQL查询,但无法执行必要的SQL查询来关联数据(例如,join操作),以识别新的关系和洞察。

■许多查询超过了该行严格的性能服务水平约定(毫秒)。

■该行在将最新事务型数据纳入分析时遇到了不可接受的延迟。

该行使用InterSystems技术来补充Hadoop中的数据湖后,目前能够以更快的速度执行复杂的SQL查询,包括内连接、外连接、交叉连接,以及跨网络连接。目前,传统SQL查询的执行速度平均提高了5倍,并且所有查询的响应时间均少于毫秒。此外,该行可以将更多数据(包括实时事务型数据)纳入分析,以便从数据中发现新的、更准确的洞察。

总结

对于必须同时支持大规模的事务处理和分析查询的高性能事务处理与分析应用程序而言,InterSystemsIRIS是一个理想的平台,具有最高水平的可靠性和较低的总体拥有成本。

点击阅读原文

获取完整PDF文档

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: InterSystemsIRIS集事务