This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
What are the major advantages and disadvantages of embedded databases like apache derby? Can embedded databases be used for data driven web applications? Do they have limitation on capacity of data storage? And in what cases would an embedded database be preferred over the traditional databases?
first you should look what an embedded database means, it means that database will run on the same JVM that you application run. so , it will use shared resources.... usually we use embedded database for cases like : 1-providing application that works standalone with no need to setup another databas 2-we do not need full featured database server , features like recovery , transaction isolation ,clustering , .... also for Demo-ing an application you can use an embeded database for storing some temp data during you application work, ....
using an embedded database for a web application could bring some problems because , Database will start/stop with your application so if the container crashed it is possible that you lose some data , also using embedde database will limit your application scalablity because you are in one jvm with you database.
you can safely use derby as embeded database with you web application if , it is not high load , your data are not too much important , you do not need high availablity ....
ps , derby is an exception between embedded databases. it support both recovery and transaction, isolation... with an small footprint.
list of almost all Open source java database which some of them could be used in embedded mode