如何使用分布式内存数据网格来扩展业务数据的存储和分析





0/5 (0投票)
使用内存数据网格可以提高应用程序的性能并提供快速的数据分析。
信息时代的标志是公司必须存储和分析的海量业务数据。有效地搜索数据以发现重要模式的能力可以提供至关重要的竞争优势。
例如,电子商务网站需要能够监控在线购物车,以了解哪些产品销售得很快。金融服务公司需要磨练其股票交易策略,以优化其对快速变化的市场条件的响应。面临此类挑战的企业已转向分布式内存数据网格(也称为分布式缓存),以扩展其管理快速变化数据的能力,并梳理数据以识别需要及时响应的模式和趋势。
分布式内存数据网格 (IMDG) 提供两个关键优势。首先,它们将数据存储在内存中而不是磁盘上,以实现快速访问;其次,它们可以无缝地跨服务器集群运行以扩展性能。但也许最好的是,它们提供了一个快速、易于使用的平台来对存储的数据运行“假设”分析。通过打破顺序瓶颈,它们可以将性能提升到独立数据库服务器无法企及的水平。
软件架构师和开发人员经常说:“好的,我看到了优势,但我该如何将分布式内存数据网格纳入我的数据存储架构,以及它如何帮助我分析我的数据?”
以下是使用分布式内存数据网格构建快速、可扩展的数据存储和分析解决方案的三个简单步骤。
1. 将快速变化的业务数据直接存储在分布式内存数据网格中,而不是数据库服务器中。
像ScaleOut StateServer 这样的分布式内存数据网格旨在直接集成到当今企业应用程序和服务的业务逻辑中。通过将数据存储为对象集合而不是关系数据库表,它们匹配了业务逻辑已经使用的内存数据视图。这使得使用简单的 API(适用于大多数现代语言,如 C#、Java 和 C++)将分布式数据网格轻松集成到现有应用程序中。
由于分布式 IMDG 在服务器集群上运行,它们可以通过添加更多网格服务器来扩展其存储容量和吞吐量。当托管在大型服务器集群或云中时,分布式内存数据网格存储和快速访问大量数据的能力可以远远超过独立数据库服务器。
2. 将分布式内存数据网格与数据库服务器集成,作为整体存储策略的一部分。
当然,分布式内存数据网格用于补充而不是替换数据库服务器,数据库服务器是事务数据和长期存储的权威存储库。例如,在电子商务网站中,分布式内存数据网格将保存购物车,以高效处理大量在线购物流量,而后端数据库服务器则存储已完成的交易、库存和客户记录。将分布式内存数据网格集成到企业应用程序的整体存储策略的关键在于,仔细分离用于业务逻辑的应用程序代码与其他用于数据访问的代码。
分布式 IMDG 自然地融入业务逻辑,业务逻辑通常以对象形式管理数据。这段代码也是需要快速访问数据的代码,而这正是分布式数据网格提供最大优势的地方。相比之下,数据访问层通常专注于将对象转换为关系形式(反之亦然)以存储在数据库服务器中。
有趣的是,分布式内存数据网格可以(可选地)与数据库服务器集成,以便在分布式数据网格中找不到数据时自动从数据库服务器访问数据。这对于某些类型的数据(如产品或客户信息)非常有用,这些数据保留在数据库服务器中,并且仅在应用程序需要时检索。然而,大多数类型的快速变化的业务逻辑数据可以仅保留在分布式内存数据网格中,而无需写入数据库服务器。
3. 使用简单的分析代码和“map/reduce”编程模式分析基于网格的数据。
一旦集合对象(如网站的购物车或金融公司的股票历史记录池)被托管在分布式内存数据网格中,能够扫描所有这些数据以发现重要模式和趋势就非常重要了。在过去的 25 年里,研究人员开发了一种强大的两步方法,现在通常称为“map/reduce”,用于并行分析大量数据。在第一步中,通过编写和运行一个只处理一个对象(一次一个)的简单算法来分析集合中的每个对象以发现重要的感兴趣的模式。此算法在所有对象上并行运行,以快速分析所有数据。接下来,合并运行此算法生成的结果以确定整体结果,这有望识别出重要的趋势。
例如,电子商务开发人员可以编写一个简单的代码,分析每个购物车以评估哪些产品类别最受欢迎。此代码可以在一天中的不同时间(或者在网站上的营销活动启动后)对所有购物车运行几次,以识别重要的购物趋势。
分布式内存数据网格为使用这种“map/reduce”编程模式分析数据提供了理想的平台。由于它们将数据存储为基于内存的对象,因此编写和调试分析代码非常容易,就像编写简单的“内存中”代码一样。程序员无需学习并行编程技术或理解网格的工作原理。此外,分布式内存数据网格提供了必要的基础设施,可以自动并行地在所有网格服务器上运行此分析代码,然后合并结果。最终结果是,通过使用分布式内存数据网格,应用程序开发人员可以轻松快速地利用网格的全部可扩展性,快速发现对公司成功至关重要的数据模式和趋势。ScaleOut StateServer Grid Computing Edition 中包含了一个内置的“map/reduce”(称为并行方法调用)示例。
随着公司越来越有压力来管理日益增长的数据量并快速响应不断变化的市场条件,它们正转向分布式内存数据网格以获得所需的“可扩展性”提升。随着云计算成为企业基础设施不可或缺的一部分,分布式内存数据网格应进一步证明其在利用可扩展计算能力以提供关键竞争优势方面的价值。