AbeBooks.com, a Canada-based online bookstore, has turned to dynamically partitioned data in-memory across multiple
servers to handle the complex transactions such online marketplaces can entail. The company used Oracle Coherence, a component of Oracle Fusion Middleware.
The online bookstore, which manages a database of more than 110 million new, used, rare, and out-of-print books via Web services links to 13,500 booksellers, is using the Fusion component to increase scalability and performance.
Coherence is a distributed in-memory data grid designed for Extreme Transaction Processing (XTP) environments. It automatically partitions data in-memory across multiple servers, according to Oracle. It became part of the Oracle suite via Oracle's purchase of Java performance specialist Tangosol in 2007.
"We've implemented Oracle Coherence for the shopping basket in our online site," said Leith Painter, manager of development at AbeBooks.com. "We wanted to persist key information in memory for our buyers in purchasing books without having to read/write from the database."
The previous version of the shopping basket application relied on cookies and interacted directly with the Oracle databases that contain all the information regarding available books, he said.
The development manager reports a performance and scalability gain, although he has not yet done a statistical performance evaluation between the old and new technologies. While the implementation of Coherence provides improved performance for the customer ordering books through the Web browser interface, the main purpose is improved load balancing, Painter said.
Website applications run on Tomcat servers with servlets communicating with the Oracle Coherence API. Tomcat sessions aren't persisted, they are in fact stateless, he noted. "By pulling the information out through Coherence, we can manage the state through Coherence," he said.
Traffic among the servers is redirected for load balancing done automatically through a Cisco router.
"For example, a user could be pointing to one Tomcat server, walk away from their browser," Painter said, "then come back and add more items to their basket. They could be going to a different Tomcat server based on load balancing traffic, but Coherence manages the state."
The next step toward an SOA implementation is to put the Oracle Fusion component on its own tier so that it can be used by other applications support the online marketplace for books, he said.
"We're in the first stages of design and implementation of service-oriented architecture," Painter said of his future plans. "We're sponsoring it from an IT level. We've got some initial services we've developed in a design phase, and we're currently developing design principles.
AbeBooks is said to measure its transaction processing requirements in terms of orders processed per day, which now ranges up to 30,000, and which is growing. The number of daily near real-time inventory updates is measured in the millions. AbeBooks is in the midst of being acquired by Amazon.com, which has said it will maintain the Canadian bookseller as a separate entity, a spokesperson for AbeBooks said.