S i l v e r T i n
  • H O M E
  • S W I T C H C R M
  • C L O U D S E R V I C E S
  • C 2 D
  • O R A C L E
  • B L O G
  • C O N T A C T
MySQL vs. Oracle : Choosing a Database for transactional Web Applications 11/11/2011
2 Comments
 
Picture
_When we started on our journey of designing our SwitchCRM application that offered a fantastically intuitive user interface, delivered by a robust and resilient technical architecture, we eventually arrived at the technology crossroads of choosing a database.

Having spent 14 years working in an environment surrounded by Oracle technology, the natural inclination was to pick Oracle as a tried, tested and familiar option.  We defined in detail our database requirements and embarked on our research to establish whether there were other options out there.  To our great delight and surprise it was clear that MySQL was emerging as a very strong contender.

_Think Oracle database and you automatically associate the following:
  • Capable of handling large data volumes
  • Scalable
  • Resilient features - RAC/failover
  • Advanced stored procedure features
  • Hot backups
  • Reliable recovery
So how did MySQL stack up against the mighty Oracle?  Here are some of our findings:
  • MySQL is extremely quick to install and setup. We were able to instantiate a new Linux VM, install the latest version of MySQL and set it up ready for the development environment.  Time taken = 2 hours.  Incredible.  Even some of the advanced configuration was easy.
  • Fast Read Cycles. The application being developed (SwitchCRM) was showing sub-second retrieval of records from tables with 3 million+ records.
  • Fast Insert/Updates.  Mission accomplished with a bit of smart design for tables, indexing, and foreign keys
  • Replication was easy to setup. This gave us great horizontal scalability and failover capability.
  • InnoDB Hot Backup wasn't too painful and provides SwitchCRM with 24 hour availability.
  • We were very impressed with the MySQL Enterprise management portal which comes as standard.
The above experiences ticked all the boxes for MySQL.  For me, the 3 factors that really clinched it were:

1.     This may seem trivial but coming from an Oracle background it was an absolute delight to discover that the data retrieval in MySQL was case insensitive. This meant gone were the days of users having to try various combinations of %Jo%, %jo% for retrieving John. This can be achieved by Oracle pragmatically but we were pleased to see this as an inherent feature (accidental design?) in MySQL.

2.     Oracle pricing.  Has anyone seen the recent price list for Oracle products? It seems to have jumped at least 5 times in 5 years. Every feature seems to come with an expensive price tag.  And just when you think you are covered because you shrewdly purchased Oracle Database Enterprise Edition they throw a curve ball by pointing out that Partitioning is an additional extra. Don't get me started on licensing...

3.     Industry standard support for Enterprise Edition MySQL from Oracle is very re-assuring.  Support costs for MySQL Enterprise Edition are far more sensible then their Oracle equivalent.

In the end the decision was simple.  MySQL was the clear winner based on ease of installation and maintenance, performance, resilience and many development friendly features.   Oh yes and there’s the small matter of cost. 
 


Comments

Dave Malcolm
16/11/2011 11:34

That's an interesting analysis. Did you find that MySQL scaled well with larger data volumes (I'm assuming that you used the commercial version rather than the community one)

Also, did you include postgresql in your database testing - if so, how did it do?

And I don't think anyone will argue about Oracle pricing!

Thanks, Dave

Reply
Subhash Agarwalla link
16/11/2011 12:08

Thanks for your comments Dave.
MySQL did scale extremely well and this is true for both community and commercial edition (The basic database engine is same for both the versions). One has to be careful with the table & indexes design but once the key columns are indexed then the read cycles were extremely quick.
We didn't include postgresql in our comparison because we could not find Enterprise support for it and that Enterprise support is provided by the big Red - Oracle for MySQL.

Reply

Your comment will be posted after it is approved.


Leave a Reply

    A R C H I V E S

    November 2011
    October 2011
    September 2011

    C A T E G O R I E S

    All
    Apps
    Cloud Computing
    It
    Sme
    Start Ups
    Technical Architecture


    RSS Feed


© Copyright SilverTin 2011. All Rights Reserved