what are the strengths and weakness of different databases?

Posted on 2009-04-16
Last Modified: 2013-12-12
what are the strengths and weakness of different databases? the differences between MySQL, Access, Oracle
Question by:Darkylove
    LVL 8

    Accepted Solution

    I don't think it would be fair to make a judgement based on my experiences however these are the basic categories and which goes where:

    general strength and weakness for all  - developer skillsets
    simple useage, over-the-counter - access
    versatile web database engine - mysql
    versatile desktop (win) database - Access
    massive scaleability - oracle
    costly - oracle
    limited user availability - access (must have program)
    limited supply of developers  - Oracle

    hope this helps.
    LVL 8

    Assisted Solution

    You can find comparison between MySql and Oracle here:

    Access can not be compared with the other two since its only indended for one or few users, and performance on this one is not comparable either.
    Its a nice db for small and personal projects though.
    LVL 92

    Assisted Solution

    by:Patrick Matthews
    Access is a fine and IMHO underrated development platform, but as noted above it is not intended for
    enterprise-scale implementations.  A well-designed Access app can support (in theory) up to 250 simultaneous
    users, and some developers here have created apps with over 100 users, but the general consensus in the
    Access zone is that if you know you will have >50 simultaneous users, it may be time to start looking at
    MySQL, SQL Server, Oracle, DB2, etc.

    Despite having multi-user capability, Access is **not** a database server!

    halejr1 said:
    >>limited user availability - access (must have program)

    Not necessarily--with the right version of Access you can create a freely distributable "runtime" version of
    your app, thus removing the requirement that users have Access installed.
    LVL 5

    Assisted Solution

    Like in all thing in life, it depends.

    Been in the business going on 25 years and used SQL Server, MQSQL, DB2, Oracle, Access and other ones.  From my experience I found it the following:

    1.  MySQL, DB2 and Oracle our top of the line.
    2.  Access is for beginners and if I was starting all over again, wouldnt mess with it.  SQL is quite like the real SQL so you if your building this for a company, you will find out quickly volume will drag this puppy to its needs, and then find ALL the time you waisted creating and make this will now have to be replicated into a real world database.
    3.  DB2 and Oracle our expensive due to licensing and providing support if needed.  If I was creating a banking or high availablity system, support would be a reall big issue for me.
    4.  MySQL is the poorman answer to DB2 and Oracle.  Support is pretty good but limited to user groups since its an open source and basic version is free.  You though now can buy licenses for support if needed.  For me, I have never had that issue.  

    Options 3 and 4 will need someone who knows databases pretty good since they have utilities and other things that should be ran to optimize your queries and tables.  Tools can be bought readily for all these packages which really make life easier, but not needed if you have the patience.

    Access has its own interface since and somewhat easy to use until you get into the complex joins needed.  Then you will be need some help or reading books to figure how to use their gui since it much different than regular packages.

    Hope this helps....
    LVL 28

    Assisted Solution

    difficult question without knowing the purpose, amount of users, platforms requirement, web i/f or not, size of the company, price of support/dev (thousands of php/mysql people versus expensive oracle engineers), media capability, off line users sync necessary?, etc...
    at least there is some choice, and once you write the questions, normally the answer is obvious almost or at least narrowed to 2 or 3 choices max.
    I would eliminate apps with no server as this is s nonsense in a any company.
    small groups: Filemaker, 4D, Mysql and co
    more serious things, connectivity to "toys": sybase ianywhere
    multi brands UI: Servoy (not a database but interfaces 10 different ones, so allows to make a common UI to several databases, + webclient or java client
    serious area, > 200 simultaneous users: oracle.
    access + db2: no thanks
    LVL 30

    Assisted Solution

    oracle fab but expensive
    mysql v.good and cheap

    both can be scaled excellently

    however as previously stated its more what your require, thats the determining factor  
    LVL 8

    Expert Comment

    I am laughing a little at some of the responses.. whatever you do, be it building a house, buying a boat, or choosing a database, don't let your needs assessment or evaluation get clouded with "BIASed" input from others. First and foremost -- define your need!!!! When defining you need, also define -- where will I go with this, and when I get there, am I willing to Forklift / Retrofit to a new environment / solution or do I want it to seamlessly scale, etc. etc. Plan - Plan - Plan. All solutions will work, if you apply them appropriately to the PLAN.

    One thing I will say is that all tools have a purpose ... it's up to you to determine what your requirements are and from that standpoint --- determine the best possible solution for your needs.

    What I should have pointed out in my original post, is that databases could be broken up into different "classes" for the purpose of this discussion. Some of the experts in this thread can elaborate a little better than me, but you could clearly define where an application would best be utilized in different scenarios. I'll take a stab at posting a few examples from my prospective -- Oh and one last note, I worked with a National Bank a few years back and they developed an ACCESS Database for the purpose of a paperless loan processing system. We turned over 130 applications a day, and generated over 50 home equity loans on a daily basis. The application was eventually replaced with a 1.2 million dollar application. The home grown application sustained us for over 12 months untile we completed the deployment of the "Enterprise" class database application. My point is that the lower realm application served it's purpose and effectively until we were prepared to move to the higher-end enterprise class application -- with a price tag of course.

    Desktop Class: (run on local machine.. share files, reports, etc. yes it's true, some people do this!)
    etc. etc.

    local / workgroup class : (single standalone servers)
    access (very limited capability)
    mysql (maybe? more web/enterprise class?)

    enterprise class : (large applications, not all web enabled, clustering, server farms)
    mysql (yes no? -- experts please?)
    Others' I am sure....

    Featured Post

    Why You Should Analyze Threat Actor TTPs

    After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

    Join & Write a Comment

    I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose. It turns out that Yaho…
    Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
    The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
    The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

    731 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now