Terracotta

据Terracotta公司的首席执行官Amit Pandey声称,该软件通过绑定多JVM(Java虚拟机)来支撑基于Java的Web应用程序,形成一个大的群集。允许用户增加更多的应用服务器来,在应用程序的级别上向外扩展(向外扩展是指企业可以根据需求增加不同的服务器应用,依靠多部服务器协同运算,借负载平衡及容错等功能)。通过Java应用程序的所有事务产生的数据直接写入到磁盘,与数据库隔离,而在写入的过程中将所有的事务高速缓存。

    通过这种方式,在处理事务过程中的生成的数据能够很快地存储,如果某个应用程序发生故障,事务就会很快的回滚,不必将每个中间结果写回到数据库本身,减少了数据库的访问写入量。

    在处理事务过程中,这种方式是至关重要的,也是非常完美的,也就是说,数据在事务处理没有完成的情况下,就不需要写入到磁盘中。

    Pandey说Terracotta已经有大约50个付费客户,其中大部分是企业,付费用户使免费用户的2倍多。付费客户中的公司有:Adobe Systems、Comcast、JP Morgan、 和 MapQuest.

    客户中大部分将Terracotta和Oracle数据库一起使用。据Pandey声称,有一个公司是做在线测试的,通过使用Terracotta,增加了10个开源应用服务器,该公司能够服务的客户数量从10000增加到20000。该公司付给Terracotta和购买服务器的费用大约是 $300,000。如果增加更多的Oracle数据库的话,公司得到的报价是$210万。

    为什么Oracle不提供一个更便宜的解决方案呢?为什么不用Oracle TimesTen In-Memory 来作为Oracle数据库前端的高速缓存呢?

    据Pandey声称,使用TimesTen会有“一些中断,不像我们的解决方案,具有同样数据的连续性,因为我们是将数据并行写入到磁盘的。”另外,Terracotta是在Java环境下运行的,意味着将Java对象变化到关系数据格式不会有性能损失。

    Terracotta发布了2.6版本。新版本具备可视化、监视Java群集的活动、更好的性能,通过Apache 软件基金会(Apache Software Foundation),官方正式支持开源Tomcat 6.0应用服务器。

    具有讽刺意味的是,Terracotta使用的是SleepyCat数据库(私人控股公司,成立于1996年,其核心产品是开源数据库伯克利DB (Berkeley DB),而该数据库已被Oracle收购,作为其永久存储库。在永久存储库中的数据在用户方便的时候能够转储到另外一个数据库中,用于以后的商业智能类型的查询。

    从理论上说,Terracotta也能用于构建在Microsoft .net平台上的Web应用程序。因为我们没有看到这样的需求,所以对Microsoft .net平台上的Web应用程序支持还不够充分。Terracotta不能支持基于PHP的应用程序,但是PHP代码能够通过Quercus technology转换成Java代码。

    Pandey 说erracotta通过用户现有的网络和安全软件来保护数据。另外,本身就没有API,想从Terracotta取出数据是相当难的。
    那么你现在真的就可以用Terracotta来转储你的数据库吗?不是现在,根据Current Analysis的分析师Brad Shimmin说,无论什么时候,你都需要一个数据库来支持你的应用程序。但是,Terracotta只是扮演着与数据库同等地位的角色,这种组合(数据库和Terracotta服务器的组合)结果具备内存数据库的性能,但目前还不能用用Terracotta来转储你的数据库。

    Pandey还说公司或许有一天构建一个组件,或许是面向对象的数据库,这样最终就能取代用户的惯用的关系数据库了。

你可能感兴趣的:(oracle,PHP,应用服务器,网络应用,企业应用)