db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: Managing many databases
Date Tue, 15 Apr 2008 20:42:31 GMT
Six Fried Rice wrote:
> Rick:
> Thank you very much for your responses. I have a few followup 
> questions below:
> On Apr 15, 2008, at 1:03 PM, Rick Hillegas wrote:
>> Please take a look at the section titled "Accessing a read-only 
>> database in a zip/jar file" in the Derby Developer's Guide: 
>> http://db.apache.org/derby/docs/10.3/devguide/ The jars can live 
>> anywhere in the file system or on the classpath.
> Ok, super. I had read that information, but I wasn't sure if that 
> applied to embedded derby, or also to the derby network server. Can I 
> connect to a derby server and then target a jar file at an arbitrary 
> location? Also, does this perform reasonably well? My jars will be 
> between 5 and 50 MB. Of course I will do testing as well. Just 
> gathering info before I start writing the server-side code.
Hi Geoff,

Other than an extra prefix on the connection URL, the network server 
case shouldn't be any different from the embedded case. Just for 
reference, the network server itself is simply an application that 
embeds the Derby engine. Network or not, you should be able to connect 
to any database on the machine which is running the Derby engine. You 
may have difficulty connecting to databases that are on machines other 
than the engine's host. Please see the section titled "Conventions for 
specifying the database path" in the Derby Developer's Guide. I don't 
know what the performance comparison is between a read-only database 
inside a jar file and a read-only database unpacked on the local file 
>> Derby has no heuristic for knowing where to look for databases.  I 
>> think that database discovery has to be done by your application.  
>> Basically, you need to locate the database via a JDBC connection URL.
> I'm thinking about derby network server here again. My understanding 
> is that I launch the server with a DERBY_HOME and it knows about 
> databases as named directories inside this home. Is that correct? 
Right. If the connection URL does not specify an absolute path to the 
database, then the database spec is taken to be a path relative to 
DERBY_HOME. Please see the following section in the Derby Developer's 
Guide: "Database connection examples".
> Can you connect to a derby server and then connect to a database at 
> any filesystem path? 
Provided that the filespec is on a disk on the machine where the Derby 
engine runs.
> And if things do need to be in DERBY_HOME, can I just copy or symlink 
> a directory to this location at the file system level, then use JDBC 
> to connect to the database by name?
Yes, Derby will find your database even if you indirect through a symlink.

As Bryan said, please let us know what your experiments show. This 
information may be helpful to other Derby users.

Hope this helps,
> Thanks!
> Geoff

View raw message