I’m about to start development on a project to build a new online book
store for a small retailer and publisher.
The system, feature-wise, is pretty much Amazon, and the data that’s
backing it is a catalog of more than 2½ million items.
To back the Amazon-like functionality (like “other users bought” etc.)
we’ll be tracking user behavior, offering customized news letters, etc.
So, the data is immense, and data handling is quite significant, too.
The system will be running on an IIS server with an MS SQL Server.
That’s just how it is, as this is the setup the business is using, and
they’re not interested in migrating.
We actually already decided on TYPO3 as our base system, after a longer
research into different CMS’es, CMF’s and eCommerce systems.
Then, by chance, I stumbled across Ruby on Rails. My brother told me
about it once, how students at his design school were using it to build
applications in no time. Considering the programming skills of
designers at his school, and the way he talked about it, I got the
impression that it was more a toy than a serious development tool, so I
never really considered it for this project.
I then grabbed a book on the subject and read a few pages. I was
intrigued. We spoke about it as a possible last-minute candidate, and
decided that I should give it a few days of scrutiny to determine its
viability for our project. I’m currently playing around with RoR
tutorials, and I’m extremely excited. This thing is so intuitive and
easy, it’s amazing.
But then, I see the performance comparisons at
shootout.alioth.debian.org, and compared to PHP (which would be the
alternative), it’s not exactly impressive. But, on the other hand, it’s
not like I’m going to be doing much of the stuff that these benchmarks
do, like create mandelbrots etc. Basically, we need to get and put
data, much like any other web site out there. Data processing in
scripts is probably minimal (?), as most of it can be handled by stored
procedures (or whatever it’s called in MSSQL terminology).
But still, I need to know about scalability. Can anyone with sufficient
insight help me out with this? Although this system should mimick
Amazon’s feature list, the userbase is significantly lower. In 2005,
there was an average of 760 visitors per day, so the odds of having
something like 100 hits at the same time are marginal. 2,5+ million
items plus all the candy, yes, but not an extreme amount of users.
So is RoR fast enough?
Someone mentioned problems with MSSQL with a lot of concurrent users
(amateur that I am, I forgot to bookmark it). Now, this guy may just
have made crappy code, his network was congested, his hardware crappy,
I don’t know… But are there any known problems with the MSSQL
“wrapper” in RoR? And how does it handle scaling in general?
So is RoR stable enough?
And how about eCommerce add-ons? A lot of other systems, like TYPO3 and
Drupal have eCommerce-functionality available as add-ons. Does
something like this exist for RoR?
Links to similar big sites, preferably eCommerce but any big site
really, would be great! So that I can show the big guys with the money
that RoR can do this, because subjectively speaking, it makes my belly
tinkle inside, it’s really really that sweet…
Thanks in advance for any help!
Daniel Buus, Denmark