随着人工智能技术的进步,对高性能、经济高效且易于部署的解决方案的需求达到了前所未有的水平。 EclipseStore 是 MicroStream 的突破性数据存储平台,正在彻底改变尖端软件应用程序的开发。 国际商业机器公司® 与 MicroStream 合作集成 IBM WebSphere® EclipseStore 中的 Liberty InstantOn 功能。 这种组合使开发人员能够构建高度可扩展的 Java 应用程序,从而提供无与伦比的性能,同时大大减少基础设施开支。
先进机器人技术、现实世界游戏、神经元接口技术和人工智能等令人兴奋的新创新需要三个基本要素:
- 高性能解决方案。 Java 比当今的数据库系统快 1000 倍。 虽然 Java 等编程语言提供微秒级的处理速度,但过去 40 年来用于数据处理的外部数据库服务器的处理速度却比毫秒级慢 1000 倍。
- 实施简单,可加快上市时间。 通常,编程语言和数据库系统是不兼容的。 阻抗失配会造成严重问题,并产生深远的影响。 Java 等编程语言的对象模型与当今数据库特定的数据结构和格式不兼容。 因此,将对象映射到特定于数据库的模型、转换数据并为每个查询生成对象会导致高达 100 毫秒或更长的昂贵延迟,即使从缓存检索数据也是如此。
- 基础设施成本低。 基础设施成本飞涨。 用户依靠分布式缓存、内存数据网格和搜索服务器等性能增强解决方案来减少延迟。 然而,由于数据处理效率低下以及需要消耗资源的集群解决方案,这导致云成本飙升。 因此,传统数据库落后并阻碍现代软件应用。
毫无疑问,数据库服务器概念已经经过数十年的验证。 然而,与比传统数据库快 1000 倍的 Java 相比,就像在宇宙飞船中使用蒸汽机一样,仅仅因为它是一项经过验证的技术。
EclipseStore实现高性能并节省96%的数据存储成本
EclipseStore 旨在通过引入革命性的数据存储概念来消除这个问题,该概念专为尖端软件解决方案量身定制,但也可以增强经典的企业应用程序。
EclipseStore 通过将任何大小和复杂程度的任何 Java 对象图与任何二进制数据存储(例如 AWS S3 或 IBM Cloud® Object Storage)无缝同步来实现数据存储。 有了 EclipseStore 的架构,传统的数据库系统就变得多余了。 与所有数据库系统不同,EclipseStore 确实按原样 1:1 存储本机 Java 对象模型。 这将为用户带来令人兴奋的好处:
- 高性能:数据在内存中缓存和处理。 查询的执行速度比同类 SQL 查询快 1000 倍。 使用为 Semeru Runtime® JDK 提供支持的 Eclipse OpenJ9 JVM 可以实现最高的数据处理速度。 消除了昂贵的映射或数据转换以及由此产生的延迟。
- 方便且开发人员生产力高: 由于仅使用核心 Java 功能,实现、测试、部署和维护变得更加简单。
- 节省数据库成本:云对象存储(例如 IBM Object Storage)比云中的任何数据库便宜高达 96%,而 IBM 甚至还负责备份、高可用性和安全性。
EclipseStore 是 Eclipse Foundation 开发的开源项目,与 Spring Boot、MicroProfile 和 WebSphere Liberty/Open Liberty® 等现代 Java 运行时良好集成。
具有 WebSphere Liberty InstantOn 的弹性可扩展 EclipseStore 应用程序
为了开发分布式、水平高度可扩展的 EclipseStore 应用程序,MicroStream 提供了 EclipseStore 集群作为完全托管的云服务,使用户可以在更高的负载上完全自动化和横向扩展其应用程序和微服务,反之亦然,在负载降低时将其缩减至零。负载以节省基础设施成本。 只需点击几下鼠标即可设置、配置、运行和监控集群,这样用户就无需接触 Kubernetes 或其他复杂的云技术。 用户还可以从企业级安全性和支持中受益。
借助 EclipseStore、MicroStream Cluster 和 InstantOn,我们的客户(例如 Allianz)现在能够在云中构建和运行完全自动化的弹性可扩展 Java 应用程序和微服务。 通过使用该堆栈,我们的客户可以受益于超快的实时数据处理、微秒级响应和查询时间,并在云中节省高达 96% 的数据库成本。
Java 很棒,但是启动时间太慢了
创建一个可以按需处理任何工作负载的完全自动化、可扩展的应用程序听起来很诱人,但它带来了巨大的复杂性和挑战,尤其是使用 Java。 具有良好弹性和可扩展性的集群的一项关键要求是新集群节点的快速启动时间以避免延迟。 虽然容器可以在几毫秒内启动,但由于 JVM 的 JIT 编译器需要预热时间,Java 应用程序需要更长的时间。
这种潜在的挫折可能会阻碍整个 MicroStream Cluster 概念的发展。 为了解决这个问题,MicroStream 工程师探索并评估了三种不同的概念以及 Liberty InstantOn 的解决方案,该解决方案可实现新集群节点的快速启动,从而实现最佳性能并最大限度地减少延迟。 该技术解决方案解决了与 Java 启动时间相关的复杂性,从而允许在云中开发高度可扩展且高效的应用程序。
- 静态集群模型:静态集群模型是一种配置,其中集群内的节点数量保持固定,并且不会根据工作负载或需求动态调整。 在这种情况下,各个节点的启动时间是次要的。 采用这种方法将允许构建 EclipseStore 集群,将其标记为该项目的第一个里程碑。
- 主动扩展:主动扩展对于创建动态可扩展的集群非常有效,即使节点启动缓慢。 当预期负载增加时,可以提前启动新的集群节点,以减少 JVM 启动时间过长的情况。 然而,这种方法有缺点。 在突发和意外的负载峰值期间,如果资源已充分利用,预扩展的集群可能无法足够快地响应,从而导致性能下降。 准确预测负载峰值很复杂,并且这种方法可能会导致不必要的成本,因为资源可能会在不立即需要时被激活。 尽管如此,主动扩展比静态集群模型更具成本效益,并且适用于负载波动较小的系统,但可能不适合负载变化频繁且显着的系统。
- GraalVM 原生镜像:GraalVM 可以创建本机可执行文件,通过提前编译 Java 代码,在几毫秒内启动。 Oracle 承诺显着加快启动时间(高达 50 倍)和更小的内存占用(高达 5 倍),这令人印象深刻。 这使得使用本机映像创建动态可扩展的 Java 应用程序成为可能。 然而,原生镜像有几个缺点,包括构建时间较长、构建复杂性增加、与其他框架的兼容性有限、反射支持有限以及缺乏动态类加载。 虽然较大的本机映像大小可能是可以接受的,但 JIT 编译器运行时优化的完全丢失对于 EclipseStore 用户来说尤其成问题,因为这会减慢 Java 的整个内存中数据处理速度。
InstantOn:即插即用的快速启动解决方案
使用 Liberty InstantOn 开发弹性且可扩展的 EclipseStore 应用程序的好处非常显着。 借助 MicroStream 提供的 Liberty InstantOn,用户可以以完全自动化的方式轻松扩展其应用程序和微服务,无论是在较高负载还是较低负载期间,以节省基础设施成本。 设置、配置、运行和监控集群简单高效,无需 Kubernetes 等复杂的云技术。 此外,用户还可以享受企业级的安全性和支持。
通过利用该技术堆栈,Allianz 等客户可以在云中构建和运行完全自动化的弹性 Java 应用程序和微服务。 该堆栈提供超快的实时数据处理、微秒级响应和查询时间,并可节省高达 96% 的数据库成本。 虽然 Java 的启动时间可能很慢,但 Liberty InstantOn 提供了一种解决方案,可实现新集群节点的快速启动,从而确保最佳性能并最大限度地减少延迟。 借助 Liberty InstantOn,客户可以在云中构建高度可扩展的应用程序,而无需在启动时间和 Java 的动态功能和兼容性之间进行选择。
借助 EclipseStore 和 Liberty InstantOn,您可以释放云中超快速数据处理的潜力并显着节省成本。
了解 IBM WebSphere Liberty 可以做什么 立即探索 IBM Cloud Pak for Applications
本文是否有帮助?
是的不