= Welcome to Hydra Cache = == Challenge == In an ultra large enterprise application, such as an online e-commerce or online gaming site, you are dealing with millions of users and thousands of transactions every second. To handle this kind of traffic the number of servers, routers, databases, and storage hardware makes hardware or network failure a norm instead of an exception. Despite the constant hardware failure in your system, your customers will not tolerate the slightest down time; the more successful your system is, the more important it becomes to your client, and the less happy they will be when they experience an outage. == Solution == To solve this challenge we need a highly available, decentralized and highly performant data storage service that shields the application from this harsh reality and complexity. No exceptions will be thrown when hardware or network failures occur and the application code can always safely assume that the data storage service is available to write and read at any given point in time. This data storage service also needs to be evolutionarily scalable since down time is not acceptable, thus adding new nodes and storage capacity, should not require shutting down the entire system and it should only have limited impact on the service and it's client. A bonus side effect of this solution is that the distributed data storage can also act as a distributed cache system to reduce the hit to the persistent data storage such as a relational database. == What is Hydra Cache == Hydra Cache is an open source implementation of Amazon's Dynamo in Java. Since probably no one can explain Dynamo and its benefits better than Werner Vogels, we will just provide the link to his paper [http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html Amazon Dynamo] here if you are interested. In our own words, the ultimate goal of Hydra Cache is to build a distributed, decentralized and generic data storage/cache system that, in theory at least, can provide vast amount of high performance and reliable distributed memory for any enterprise application, big or small. Just as the Lernaean Hydra of Greek mythology was nearly impossible to kill, so will be the case for your application. == Wiki == * [wiki:UserWiki User Wiki] * [wiki:DeveloperWiki Developer Wiki] == Our Logo == Our logo was a courtesy designed by our friend Victor Wong which symbolizes a young Hydra with three colorful heads, and hopefully over time as our project matures the logo will also develop into a fully grown nine-head adult Hydra. Check out Victor's website [http://www.magicketchup.com/ Magic Ketchup] for his awesome work. Thanks Victor! == Resources == * [http://xircles.codehaus.org/projects/hydra-cache/ Codehaus.org Project Home Page] * [http://jira.codehaus.org/browse/HYDRACACHE Jira Home Page] * [http://hydra-cache.codehaus.org/ Maven Project Portal]