When book megastores began DOMINATING the retail landscape, many small shops were forced to close their doors as Chapters and Amazon started flexing their big box and Internet presence.
But in 1996, a few small booksellers specializing in used and out-of-print books had an idea. What if they
combined their collective sales efforts online? The Advanced Book Exchange was born and in less than five years Abebooks.com has gone from listing five million books to 55 million on its site for 12,000 small independent booksellers in 42 countries, many specializing in rare and out of print books.
“”It was a low-tech business, but we’ve brought it into a high-tech world,”” says Marci Crossan, manager, marketing and communications with Abeboks. “”More and more we are discovering the Internet sales are helping keep book stores open.””
Abebooks.com started in Victoria, B.C. with four used booksellers who had small shops and wanted to list their books on the Internet, but didn’t know if anyone would come and buy or even look at their books.
If you do a search today for a Winnie the Pooh title you will get listings from booksellers ranging from Boisie, Idaho to Fiji.
“”We have 55 million stock units in our database,”” explains John Snider, manager of operations, systems group for Abebooks. “”Those are separate and distinct items for sale, as opposed to Amazon that may have five million. But for Amazon, 100 copies of Gone with the Wind shows up as one item in their database. For us, 100 copies of Gone with the Wind shows up as 100 distinct items. So we have to keep track of each individual book. And we see a turnover of one per cent of our database everyday.””
The site has grown significantly since it first launched, but with growth came the need for an always-available database infrastructure that could keep up with customer demand.
Whenever the company needed to upgrade, it would swap out an old server and move to a new one, which was an expensive undertaking.
The application created at the time the site launched was no longer serving customer demand.
“”It was a FoxPro application and database created for the four booksellers in Victoria; a few thousand books,”” says Snider.
As the company grew it reached a point where it had to consider something else and started looking at a clustered database implementation from Oracle.
“”They looked at what sort of database products and infrastructure programming languages would support the sort of growth we had experienced,”” says Snider.
They originally ran Oracle on NT and then as the customer base grew (customers here being both book buyers and sellers), Abebooks had to add hardware, introduce load balancing, local Web servers, application servers and redundant databases.
“”Every year we found we basically used up any excess capacity we had on our database server hardware,”” says Snider.
“”Each time we bought hardware we figured it would last two to three years before we’d have to replace it. But every year we would fill up capacity and whenever we did we found our site would slow down and our sales would suffer,”” he adds.
This past September, when students headed back to school, there was a large number of customers looking for textbooks on the Web site. Those students translated into 2,000 to 3,000 additional or unexpected orders per day, which saturated the company’s database server.
“”We have two primary database servers — one being the primary production server and one is our failover or disaster recovery server which we use to ensure business continuity. So if the production server crashes, we can run our site on our failover.””
Snider says the solution was to bring the failover database server into the production pool. That got them through the crisis, but forced the company to realize it was time to upgrade.
“”We reached the point in our growth that to replace the existing hardware would have been very expensive,”” says Snider
For example, to add two additional CPUs to the IBM server the company had been using in production would cost in the neighbourhood of $120,000.
“”That was when we thought there had to be a better way than continually swapping out these symmetric multiprocessing boxes with a faster SMP box. We had looked at Oracle real Application Clusters — we were a beta site for Oracle 9i and one of the things we wanted to do as part of the beta program was a trial of real application clusters,”” he says.
Clustering allows companies to better manage the hardware resources needed for database storage on a virtualized basis, says IDC software analyst Warren Shiau.
“”You can add them in, or take them out according to the need,”” says Shiau. “”It’s pretty self-managing and automated. A lot of the load is taken off the administrator and you have better utilization of your capacity. If you’re not doing it like this you could have inefficient usage of your hardware resources. It’s that ability to tap the resources you need in that virtualized manner that makes database clustering so efficient.””
Snider says the switch from Oracle on symmetric multi-processing to Oracle on RAC was simple and didn’t translate into any additional overhead for administration.
“”We’re quite proud we did the implementation in the space of a couple of weeks, which included the migration of a 300 MB database without the loss of a single transaction,”” he says.
But while the costs savings are significant, for Snider, the rationale for RAC is all about availability.
“”If anything, the reason we went to it was availability — we have to be up 24 hours a day, seven days a week or we have 12,000 booksellers calling us asking why their books aren’t available,”” says Snider.
Snider says in January one of the system boards failed on one of the nodes and five minutes later a second node was lost.
“”So we went from a three-node cluster to a one-node cluster and we were still able to run our site. With the ability to failover from one node to another, we have a more reliable environment,”” he says.
Organizations looking for high availability and scalability are turning to RAC says Linda Whelan, regional director for Oracle technology for eastern Canada.
“”Bank of Montreal uses it for their CRM system and they looked at it from a high availability perspective. CIBC in the wealth management area is also using it in their financial security system so to them it’s critical, it’s up and performing,”” says Whelan. “”If it goes down, their traders go down and what we’re finding is companies are looking to consolidate their environment into one data centre or one area to take advantage of it.””
Database clustering is for connecting servers using a shared storage system and provides redundancy and lets you use the excess capacity.
“”I think what people really like is it lowers your upfront costs,”” says Whelan. “”So you can do a pay as you go. So I think as John was eluding to, they kept using up excess capacity and we find we can go out and look at customers and say, ‘you have a plan in here but you’ve got all this excess capacity you’re not using. Let us RAC this together and give you a lower cost and better throughput.'””
It has also made staff at the company more efficient.
“”When we went to RAC we saw processes that once took days to run, finishing in hours. We had financial reports that had been taking hours that were now finishing in minutes,”” says Snider. “”We actually had people calling asking what the problem was — their job was finishing so quickly they figured something was wrong.””
To date the company has seen significant cost savings.
“”Instead of buying a new SMP box from IBM or Sun for $50,000 to $150,000, we spend $10,000 for an IBM x-series box or Intel based box and they’re one order of magnitude less in cost, so as we grow we will roll in another node into the cluster and hardware costs are going to be negligible compared to what they have been,”” says Snider.