Very good answer Taher thanks!

I plenty agree with you, just a 2 points inline

Le 10/07/2015 14:17, Taher Alkhateeb a écrit :
Hi Damon,

Okay, this makes your question bigger and harder to answer (to me at least) as 
lots of PHDs go into this topic. I won't make a recommendation but you should 
consider multiple factors in choosing your database. For example:

- Pure Java: I think most of the pure Java databases (Derby, H2, HSQL) are 
embedded into applications even though a server exists for Derby for example. 
This makes life easier for development and for shipping your application to 
end-users but connection pooling becomes a problem and you cannot access your 
database from outside your application while it is running.
- Size: embedded databases are usually very small so you can deploy them on 
small devices. Apache Derby has a footprint of about 3 MB.
- Setup: again embedded databases require zero setup. You just write code and 
go.
- Tool support: Apache Derby does not have GUI tools for example whereas MySQL 
and Postgres have many powerful GUI and web DBA tools.

The Derby project recommends
    http://db.apache.org/derby/integrate/SQuirreL_Derby.html
    http://squirrel-sql.sourceforge.net/
It's not as obvious to use as pgAdminIII (for Postgres for instance) but I 
found it pretty useful sometimes, mostly during development time

- Load Balancing: If you use a client-server DB like MySQL or Postgres then you 
can load balance your application more efficiently and deploy your database 
over the network.
- Features: I think the bigger systems like MySQL or Postgres support more 
advanced features like row level locking and all kinds of indexes (especially 
postgres)
- Speed & Scale: Lots of studies out there

Overall I usually choose Postgres out of concern for scale on enterprise 
systems. I know that postgres was deployed on massive production systems but 
cannot recall the same for Derby, H2 or HSQL and I don't want to make a bet on 
a production system. I could be wrong though and I'm not an expert in this 
area. I would love to hear the opinion of others.

Last time I used HSQL (long ago, years) it was not reliable as Derby is.

Jacques


HTH & Cheers

Taher Alkhateeb

----- Original Message -----

From: "damon henry" <[email protected]>
To: [email protected]
Sent: Friday, 10 July, 2015 2:51:19 AM
Subject: RE: Using Derby in Production?

Nothing to specific. I just realized that I had always been steered away from 
using Derby without any solid evidence or reasoning to back it up. So I thought 
I would ask the question.
As far as specific problems, I have had a few, but they were not at a point 
that made them particularly worth troubleshooting. I do remember having some 
problems using MS SQL Server so I struck that off the list. I have been 
planning on using Postgres as I read that it is likely the most compatible and 
what OFBiz was developed on, but then one of the Dev instances I have been 
playing with suddenly developed problems writing records. Again I have not 
taken the time to troubleshoot, because I am still at a stage where it is 
easier just to spin up a whole new instance and get back to work :)
I am starting to plan a production system, so I thought I would ask the 
question before committing to a standalone database.
thanksDamon

Date: Fri, 10 Jul 2015 01:16:20 +0300
From: [email protected]
To: [email protected]
Subject: Re: Using Derby in Production?

Hi Damon and everyone,

Is there a specific reason why you want Derby in production? Do you specifically need the 
"embedded" part? And what is it that is problematic for you with stand alone 
databases? Is it setup, administration, backup or what?

I think we can help you better if we understand your exact problem so answering 
the above would give us a clearer picture.

Cheers!

Taher Alkhateeb

----- Original Message -----

From: "Ron Wheeler" <[email protected]>
To: [email protected]
Sent: Friday, 10 July, 2015 12:04:08 AM
Subject: Re: Using Derby in Production?

Derby is used in production.

http://osdir.com/ml/derby-user-db-apache/2014-01/msg00053.html
http://www.carehart.org/resourcelists/derby_for_cfers/#notdevonly
http://wiki.apache.org/apachecon/Us2005OnlineSessionSlides?action=AttachFile&do=view&target=ApacheCon05usDerbyPerformance.pdf
10 year old comparison of Derby and MySQL
http://wiki.apache.org/db-derby/UsesOfDerby from the Derby wiki

Testing under your forecasted production transaction load might give you
a better sense of which database system will give you adequate performance.

Ron


On 09/07/2015 12:09 PM, Pierre Smits wrote:
Damon,

We advice against the use of Apache Derby as the underlying RDBMS for
production environments. However, you can read up on how the developers of
that product think about how to use it at http://db.apache.org/derby/ .

Best regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Thu, Jul 9, 2015 at 5:47 PM, damon henry <[email protected]> wrote:

Is there any rule of thumb or general wisdom about using the Derby
database engine in a production deployment? In previous enterprise systems
I have integrated, I have often used Derby during development, but then
migrated to a standalone database system before putting things in
production. I am working on my first OFBiz implementation and assumed I
would be going that route on this project as well, so tried a few different
standalone databases (mysql, postgres, MS SQL Server) with OFBiz, but to be
honest I am not seeing any clear advantage, and have in fact run into a few
issues with the stand alone databases. I also work for a much smaller
company now than I have in the past. This is not going to be a large
implementation, meaning it is not likely to host lots of simultaneous
connections, but once it gets put in place it may be in place for years and
accumulate lots of data over the lifetime. Is Derby up to the task? Has
anyone used Derby over a long period of time and found it to perform well.
thanksDamon Henry

--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102



Reply via email to