利用数据网格(In Memory Data Grid) 技术将原有 传统框架改造成分布式 架构,系统资源可随着业务需求弹性扩展/缩减,屏除系统瓶颈,提高性能 20-50倍
在高流量,高并发,和高负载情况下,传统架构设计的系统无法“按需”快速提供系统资源,及时反应客户需求,直接导致系统崩溃,这是受限于物理机的运算能力或传统数据库的瓶颈。过去的解决方案就是不断的“垂直”升级到更大更昂贵的硬件来解决系统性能问题。
睿晖的快数据解决方案是以Pivotal Gemfire - 分布式内存计算数据网格 (In Memory Data Grid)为核心,打造可弹性扩展的高性能系统,提供快速反应时间,避免系统崩溃。
IMDG 快数据技术
-通过云计算平台虚拟化技术,将若干X86服务器的内存集中起来,形成内存资源池,将数据缓存到内存,进行内存计算,减少对传统关系型数据库的读写次数(减少I/O瓶颈)。
-最常用的功能是将数据切割(partition)缓存到不同的Gemfire数据节点,将关联性强的数据和业务逻辑放在同一个数据节点运行,提高计算性能,避免服务器之间频繁数据交换,和数据序列化等带来的延迟,并极大体现NoSQL和Share Nothing的理念。
-另外,Gemfire提供 Map-Reduce并行查询,同一查询命令可并行发送到每个数据节点(Map),结果集会自动在客户端汇合(Reduce)。
-GemFire在分布式集群中保存了多份数据,任何一台机器故障,其它机器上还有备份数据,不用担心数据丢失,而且有磁盘数据作为备份。GemFire支持把内存数据持久化到各种传统的关系数据库、Hadoop库和其它文件系统中。
使用Gemfire的优点是整个底层IT系统是由X86服务器为基础搭建的应用云平台可以随着客户业务增长或客户对系统性能要求, 动态增加服务器数量, 将数据重新分配(re-balance)到每个虚拟机,使系统性能随着服务器增加保持线性增长。
IMDG - Gemfire 功能特点
A.分布式数据存储
- 灵活的Cache部署策略:支持点对点(peer to peer);客户端/服务端(client server);和多集群(multiple clusters)的本地或远程数据同步,支持数据高性能的灾备和双活
- 灵活的Region分布式处理:根据内存存储策略,将数据切割(partition)放到不同的数据节点;同时也可根据系统性能策略,可将数据做实时再平衡(rebalance),就是加入新服务器到集群时,数据可以在不重启服务的情况下重新切割和平衡数据到新的服务器,从而达到真正的数据在线动态延展
- 具有持续性的数据高可用性和容错性:各个分散的 数据点可以配置一个或多个基于内存的热备数据点,当主数据点宕机的情况下,其中一个热备点就会提升称为主数据点,同时可以继续在空闲机器上创建备份点,从而达到数据的持续的可用性。同时数据可以通过配置同步或异步地持续化到本地硬盘,或者到指定的数据库或文件中。
B.在线数据备份
- 数据存储的内存策略:可以将数据全部存入内存,或者将频繁使用数据保存于内存,非频繁使用数据放在磁盘(LRU)将成本效益最大化
- 安全支持:基于用户和角色的数据访问,数据传输渠道加密(SSL)
C.数据存取
- 支持key-value存储和查询,也支持复杂数据对象和关系存储
- 丰富的OQL查询语言支持
- 支持数据单记录或批处理
- 本地或分布式事务处理
- Map-Reduce并行查询:同一查询命令可并行发送到各Cache点(Map),结果集自动在客户端汇合(Reduce)
D.服务和事件
- 关联数据与业务逻辑聚合:为了提高系统性能,可将关联数据与业务逻辑放到同一个节点来处理,避免网络传输和数据序列化带来的延迟,体现Share Nothing的理念
- 并行处理:数据各子集合和业务逻辑可分散在各点并行处理
- 事件监听处理:Gemfire节点可以根据数据的增、删、改和过期等事件来触发另外的业务逻辑处理。
- 消息队列处理:客户端可以注册其感兴趣数据在数据节点,当满足条件数据出现时,自动向客户端发布。
- 持续查询功能:客户端可定制复杂查询条件,当有满足条件的数据出现时,向客户端发送。
- Delta数据:数据的同步可以选择有变化的数据同步
快数据的主要适用范围:
1.高流量和高负载需要提供快速交易处理的业务
2.需要提供快速反应时间规避高风险的业务
3.在特定时间段必需完成结算的业务,避免正常营业日的业务处理
4.支付交易授权和反诈欺业务