您的位置  > 互联网

SAPHANA在内存数据库的应用与应用软件的创新

是一家知名的传统数据库厂商。 尽管在其领域仍然无人能敌,但整个传统数据库行业都受到NoSQL的严重挑战。 在云计算和大数据时代,NoSQL不仅蓬勃发展,产品丰富,而且能够更好地匹配不同的数据处理场景,以开放、开源的趋势向世人诠释她的魅力。

逆境面前,和其他传统IT厂商一样,寻求突破和转型,云计算战略也在跟进。 然而,传统制造商受到的主要批评之一是他们有一些历史包袱,这体现在老客户、老产品和老市场上。 ; 这让他们不敢做出大动作、不敢进行大创新。 也算是一次比较符合时代发展的收购。 虽然各行各业都有成功案例,但其规模和辐射效果却远远没有达到人们的预期。

因此,我个人认为,基于自身优势,两者的结合能够擦出更明亮的火花,没有必要为了短期盈利而调整和提高AWS和Azure平台用户的授权费用; 在软件定义时代,商业模式的创新也少不了。 它也是一个内存数据库,SAP HANA做得非常好。

说起内存数据库,我们第一个想到的就是SAP哈哈。 事实上,HANA 在 SAP 应用程序中使用得太广泛了。 SAP还推出了HANA一体机和联合解决方案,包括HANA单节点、集群和TDI开放解决方案。 但HANA内存数据库主要绑定SAP自家软件,如ERP、CRM、SCM和PLM等,对通用应用软件的支持并不是其强项。 今天我们讨论另一种内存数据库,它的名字叫——内存数据库。

起源于HP实验室,当时的主要用途是电信网络应用。 1996年发布第一个商业版本(.0),后来在产品中加入了Cache组件,产品可以无缝集成。 收购了一家领先的内存数据库软件提供商。 数据库与数据库的结合为端到端数据管理提供了独特的单一供应商解决方案。

支持许多本机接口标准,例如通过 JDBC 或 ODBC 接口发出 SQL 命令的应用程序。 用于定义数据存储和复制配置的语句也遵循 SQL 语法约定。 使用 SNMP 发出标准化系统管理警报。 此外,还提供具有标准JMS接口的开放事务日志API(XLA)来读取事务日志。 XLA 是一个轻量级“触发器”,用于创建响应数据库更新的应用程序。 它还用于构建到其他数据库系统的自定义数据复制。

内存数据库架构

从架构上来说,它由共享库、内存数据结构、系统进程(守护进程、子守护进程、代理)管理程序以及磁盘上的检查点和日志文件组成。

共享库包含用于 SQL 操作的例程和相关函数,开发人员将它们链接到应用程序并作为应用程序进程的一部分执行。 通过共享库(与常规 RDBMS 库不同)和名为“.

内存数据库维护在操作系统的共享内存段中,包含所有用户数据、索引、系统目录、日志缓冲区、锁表和临时空间。

检查点和日志文件定期将对数据存储和事务日志的更改写入磁盘。 检查点和日志文件使用普通的磁盘文件系统。 可以配置为执行无盘操作。

通常,如果应用程序要求更改不能丢失,则日志记录将在事务提交期间保存到磁盘。 否则,日志记录可能不会频繁写入磁盘,而是与每个已提交的事务异步写入。 日志记录有两个目的。 首先,日志记录可以在系统发生故障后从持久数据存储中恢复事务。 其次,当在共享访问模式下使用时,日志记录使数据管理器能够检测并消除死锁。

与 RDBMS 相比,内存数据库技术节省了 CPU 资源,并避免了用于管理内存缓冲区和处理多个数据位置的磁盘和内存操作的开销。

产品成分

实时数据管理软件由三种产品组成,一种产品和两种功能选项,基于内存数据库、数据复制和缓存技术。

它是专门针对物理内存设计和优化的数据库。 它作为应用层的嵌入式数据库部署,利用标准 SQL 接口对完全位于物理内存中的数据存储进行操作。

它是产品的基础技术。 关系数据库运行时,数据位于内存中。 与完全缓存的 RDBMS 相比,IMDB 技术避免了管理内存缓冲区以及处理多个磁盘和内存中数据的开销。 对于内存数据库来说,磁盘用于持久化和恢复,而不是作为主要的数据库存储位置。

In-支持服务器之间实时数据复制的选项,以实现高可用性和负载共享。 数据复制配置可以是双机热备份(-)或负载均衡(-),可以采用异步或同步传输。 对于同一个表有多个主服务器的情况,它可以包括冲突检测和冲突解决以及故障服务器恢复后的冲突检测和冲突解决。 自动重新同步。 数据复制与“缓存到”选项完全兼容。

支持异步和同步复制。 同步复制基于事务数据的同步传输。 在将控制权返回给应用程序之前,提交的事务可以确保它被传输到远程节点。 同步复制可以由应用系统在事务级别控制和“开启”。 或“关闭”。

异步复制基于事务数据的异步传输,具有非常快的应用响应时间。 适用于需要高性能、低延迟的应用场景。 异步复制流程大致如下。

发送方提交事务后,事务日志会记录到日志缓冲区或同步写入磁盘日志文件,具体取决于应用系统设置。 当日志缓冲区“满”时,事务日志将被写入磁盘上的日志文件。 然后复制代理将这批事务信息发送给接收者。

接收代理在数据存储上执行这批事务,强制写入磁盘事务日志文件。 最后,接收代理向发送方发送确认响应,发送代理更新日志文件。

此外,它还支持许多丰富的功能来优化数据复制,例如压缩传输、压缩复制信息、支持WAN传输等。 主节点自动恢复。 交易由主节点发起但未成功执行。 主节点恢复后,远程节点可以在主节点上重新执行失败的交易; 基于时间戳的冲突检测和消除机制。

In- 一个选项,用于创建位于应用程序层的实时、可更新的数据缓存。 它消除了后端系统的计算负担,并支持响应灵敏且可扩展的实时应用程序。

Cache to可以将一部分数据(可以选择要加载的表或者指定表的某些列)加载到Cache to中,并且无需任何编码即可实现双向数据同步和更新,从而实现与缓存到。

数据库中需要缓存到数据存储中的数据集合称为缓存组。 数据库更改可以自动刷新到缓存组。 它基于“快照”复制。 Cache代理执行自动刷新,对应用系统完全透明。

可更新的缓存组支持以下功能,应用程序可以对缓存组执行读写操作,可以自动或手动刷新缓存组(将数据库数据放置在缓存组中),可以自动或手动清理缓存组(将缓存更新传播到表); 可以自动跟踪对表或缓存组的更改。

缓存可以双向传播更新,并在发生故障后自动重新同步数据; 此外,它与 to 选项完全兼容。

兼容性

支持广泛的OS平台和CPU,支持HP-UX、IBM AIX、SUN和Suse等操作系统,支持PA-RISC、IA等RISC指令架构CPU和X86 CISC复杂指令架构CPU,具有很强的兼容性 。

它部署在指挥控制系统和证券交易系统的生产环境中,在时间关键型行业和实时企业中表现出色。 全球数百家公司在生产应用中使用,包括 、Avaya、Cisco、JP、Nokia 等。

提供多种模式的异地数据容灾复制技术,指定表级别或数据存储级别的复制。 复制可以是单向或双向的,支持简单的热备用配置或负载平衡配置。

内存数据库通过将其嵌入到应用程序中来消除上下文切换和不必要的网络操作。 它管理内存中的数据,优化数据结构和访问算法,并为位于应用程序层的数据创建实时、可更新的缓存。 。 它消除了后端系统的计算负担,并支持响应灵敏且可扩展的实时应用程序。

关注“架构师技术联盟”微信公众号,直接回复“”关键词,获取更多架构分析资讯。

温馨提示: