Data Grid 8.3新特性解析:SQL缓存存储与跨站点复制增强

本文详细介绍了Red Hat Data Grid 8.3的新特性,包括增强的跨站点复制可观测性、两种新型SQL缓存存储(表缓存存储和查询缓存存储)、TLS 1.3支持、多安全域配置、Helm图表部署以及CLI改进等内容。

SQL缓存存储与Data Grid 8.3的更多特性

发布日期: 2022年2月24日
原文发布于: Red Hat Developers

Red Hat Data Grid是一种分布式、基于云的数据存储,作为内存数据库提供极快的响应时间。最新版本Data Grid 8.3具有增强可观测性的跨站点复制功能,以及两种新型SQL缓存存储,用于扩展具有大型数据集的应用程序。此版本还改进了安全性,支持Helm图表,并提供了更好的命令行界面(CLI)。

本文概述了Red Hat Data Grid最新版本中的新功能和增强。

具有更强可观测性的跨站点复制

通过最新的Data Grid版本,您可以跟踪每个备份位置及其缓存的跨站点复制操作,包括响应时间和交换的RELAY消息数量,如图1所示。

图1
图1. 跨站点复制涉及多个不同级别的消息。

我们还通过CLI、REST API和Java管理扩展(JMX)启用了数据访问,为集群操作员提供更好的用户体验。由于为路由跨站点复制请求提供了专用的、由操作员管理的Pod,跨站点复制也更加透明和可观测。

Data Grid操作员还可以配置跨站点复制的中继节点数量。这种灵活性增强了缓存在多个站点上的可扩展性和性能。

最后,安全性对于跨站点集群至关重要,因此我们为基于路由器的跨站点复制启用了TLS安全性。(更多关于安全性增强的内容请向下滚动查看后续部分。)

使用SQL缓存存储进行扩展

如果数据库中有大量数据,并希望将数据加载到缓存中,该怎么办?数据库模式可能很复杂,用户可能希望通过SELECT、INSERT等操作定义数据的查询方式。您可能还希望支持直写和回写操作。所有这些都构成了复杂的场景。

在此版本中,我们添加了两种类型的SQL缓存存储:

  • 表缓存存储: 从单个表加载所有数据。仅需要表名。
  • 查询缓存存储: 基于SQL查询加载数据。

使用新的SQL缓存存储可以完成的有用操作包括:

  • 从现有数据库预加载数据。
  • 通过用户定义的模式公开缓存数据。
  • 允许读写操作。
  • 将缓存存储配置为只读,并充当缓存加载器。
  • 配置缓存存储在启动时加载值。
  • 通过协议缓冲区(protobuf)模式将缓存存储与复合键和值一起使用。
  • 使用查询缓存存储,执行任意选择、选择所有、删除、删除所有和更新插入操作。

要设置缓存存储,只需将数据库驱动程序放入服务器,这可以通过Red Hat OpenShift上的Operator自定义资源(CR)完成。之后,用户应能够通过YAML、JSON或XML创建SQL缓存存储——这也是一个新的配置功能。GitHub上提供了一个使用Infinispan和Quarkus Java框架的示例。

更多安全性增强

Data Grid现在通过OpenSSL本机加速全面支持TLS版本1.3。我们还提高了Data Grid 8.3中安全性的灵活性和便利性。

多安全域

您可以将多个安全域合并为一个域。在验证用户时,Data Grid Server依次检查每个安全域,直到找到可以执行验证的域。

以下示例安全域包括一个LDAP域和一个属性域,以及分布式域元素:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<security-realms>
   <security-realm name="my-distributed-realm">
      <ldap-realm>
         <!-- LDAP域配置。 -->
      </ldap-realm>
      <properties-realm>
         <!-- 属性域配置。 -->
      </properties-realm>
      <distributed-realm/>
   </security-realm>
</security-realms>

多端点

用户现在还可以配置多个端点并为它们定义单独的安全域。此增强功能实现了更灵活和安全的用途。

以下示例包含两个不同的端点配置。一个端点绑定到公共套接字,使用应用程序安全域,并禁用管理功能。另一个端点绑定到私有套接字,使用管理安全域,并启用管理功能:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<endpoints>
  <endpoint socket-binding="public"
            security-realm="application"
            admin="false">
    <hotrod-connector/>
    <rest-connector/>
  </endpoint>
  <endpoint socket-binding="private"
            security-realm="management">
    <hotrod-connector/>
    <rest-connector/>
  </endpoint>
</endpoints>

PEM文件

用户现在可以直接将PEM文件添加到其Data Grid Server配置中,并在TLS服务器身份中将其用作信任存储和密钥存储。

注意: 有关Data Grid 8.3中新安全功能的更多信息,请参阅Data Grid安全指南分布式安全域

使用Helm图表部署Data Grid

使用Helm图表进行应用程序部署的开发人员现在可以使用这种便捷机制安装Data Grid。您可以使用图表部署Data Grid实例、配置集群、添加身份验证和授权、通过路由和节点端口添加网络访问、启用负载均衡器等,使用Data Grid门户(图2)或CLI。

图2
图2. 可以通过Data Grid图形界面调用Helm图表。

注意: 使用Helm图表适用于Data Grid Operator不可用且操作员必须手动配置、部署和管理集群的站点。

CLI改进

Data Grid 8.3为喜欢在命令行上工作的开发人员提供了一些更新。首先,您可以启用和禁用集群的重新平衡,跟踪和提取有关跨站点复制中继节点的更多详细信息,并管理缓存可用性。此外,如果您使用通用的oc OpenShift命令,现在还可以安装Infinispan扩展并将其与oc一起使用,如图3所示。

图3
图3. 您可以从命令行控制Data Grid集群。

可用性改进

我们在此版本中进行了更多改进,以提高Data Grid的可用性:

  • Data Grid 8.3全面支持Java 17,用于嵌入式和远程缓存。
  • 您可以在升级到Data Grid 8.3期间自动迁移任何文件存储配置。
  • 您现在可以使用Ickle编程语言删除条目:
1
query.create("DELETE FROM books WHERE page_count > 500").executeStatement();
  • 在版本之间升级服务器节点集群时,Hot Rod迁移更简单,并且透明地处理配置更改。

开始使用Data Grid 8.3

准备好深入了解并尝试Data Grid 8.3了吗?这些资源将帮助您入门:

  • 通过认证服务提供商(CSP)程序提供Zip分发版。
  • Red Hat容器目录中提供容器分发版和Operator。
  • Red Hat客户门户上提供产品文档,包括帮助您将现有Data Grid部署迁移到8.0的迁移指南。
  • 访问Red Hat Data Grid产品页面,了解更多关于此技术的信息。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计