Terracotta内存数据库使用案例分享

AltEgo LLC是一家美国的在线游戏开发公司,用户可以使用AltEgo的平台创建属于自己的3D玩偶形象,并用于各种各样的社交媒体或者游戏平台中,包括Facebook、Twitter等。由于业务增长速度非常快,AltEgo公司的IT系统也承受着非常大的压力,巨大的网络流量让公司的服务器遭遇了性能瓶颈。于是经过多方考虑,AltEgo决定使用内存数据库技术来为用户提供更加高效的服务。

根据AltEgo公司的架构师Dustin McCartney透露,他们最终选择了Terracotta的数据库产品,并成功完成部署并上线。McCartney表示:“我们使用MySQL数据库存储了所有的用户资料以及玩偶数据,在服务器负载方面承受了非常大的压力,并且性能瓶颈问题很严重。当同时在线访问的用户达到一定数量之后,我们的服务器就无法及时响应,这对于用户体验来说是一个非常大的损害。”

Terracotta提供的技术可以让AltEgo在内存中存储McCartney所提到的数据,并让数据尽可能地向公司的核心应用靠拢。对比之前的MySQL数据库,McCartney认为Terracotta内存数据库大大改善了业务延迟的情况,能够为用户提供更加可靠的服务。

McCartney 以及全公司对于Terracotta的产品线表示满意,但是他认为在一个关键领域,Terracotta还有很大的提升空间。他说:“Terracotta有一个搜索的功能,用户需要对数据集进行全面的搜索,并对缓存数据进行查询。相比于目前的主流技术,这个功能显得有一些原始。我们和Terracotta的团队也进行了沟通,希望他们能够改进数据搜索的功能。”

内存数据库缓存技术会将信息保留在RAM之中,这样应用就能够更加方便快捷地访问到这些数据。由于应用系统无需再从磁盘中读取数据,所以内存数据库技术能够很大程度上地提升性能并保障扩展性。

伴随着RAM等硬件设备价格的不断下降,内存技术的普及程度也在近几年中得到了进一步加深。业内厂商也看准了这一“新兴”领域,包括甲骨文、SAP在内的一些大型厂商也都推出了内存分析的产品。

深入了解Terracotta产品

去年六月份,德国软件厂商Software AG收购了Terracotta,Software公司的发言人表示,Terracotta技术能够对Software的云计算产品提供非常好的支持,并增加其BPM平台的扩展性。

在被收购之前,Terracotta所提供的开源分布式内存计算技术曾广泛应用在Java应用之中。据了解,Terracotta在全球范围内的企业用户超过50万之多。Terracotta主要提供三种产品,包括Enterprise Ehcache、BigMemory和Quartz Scheduler。

Enterprise Ehcache适用于Java开发的应用程序,将有效地提升系统的性能和扩展性。用户使用Enterprise Ehcache还可以更加轻松地利用分布式缓存技术来获取优势。BigMemory使得Java应用免去了GC问题(garbage collection)的约束,能够很大程度上提升性能。

“对一个指定的Java进程,只要向堆(Heap)内分配更多的内存,那么GC的过程就会越慢。这对于性能来说是一个很大的损耗,而BigMemory所做的,就是能够把它控制在一个很短的时间内。” McCartney解释道。

Quartz Scheduler基于开源的Quartz项目,是一个企业级产品,它能够运行在Java应用当中。据了解,Quartz Scheduler能够使用户在单节点或多节点配置上,进行任务执行计划的制定。

根据Terracotta公司的总经理Gary Nakamura的说法,Terracotta在2010年实现了里程碑式的突破,其产品能够在运行Java应用程序的虚拟机之外,将数据存储在RAM中,从而避免了重复的调优任务,这是一个非常重要的突破。

你可能感兴趣的:(java,数据库,quartz,服务器,扩展,产品)