DBA > Job Interview Questions > DERBY Java Database FAQs

Deployment Options and Threading and Connection

More DBA job interview questions and answers at http://dba.fyicenter.com/Interview-Questions/

(Continued from previous question...)

Deployment Options and Threading and Connection Modes

A database can be available to multiple connections in the following situations:

* Multiple applications access a single database (possible only when Derby is running inside a server framework).
* A single application has more than one Connection to the same database.

The way you deploy Derby affects the ways applications can use multi-threading and connections, as shown in:

1. Multi-Threaded
From an application, using a single Connection to a Derby database and issuing requests against that connection in multiple threads.

Embedded
Supply a single Connection object to separate threads. Derby ensures that only one operation is applied at a time for consistency. Server frameworks automatically manage multi-threaded operations.

Server
Server frameworks can automatically multi-thread operations. Remote client applications can multi-thread if desired.


2. Multi-Connection
From an application, using multiple connections to a Derby database and issuing requests against those connections on multiple threads.
(You must have a multi-user license to have more than one connection to Derby.)

Embedded
Create individual connections within a single application and use the appropriate connection for each JDBC request. The connections can all be to the same database, or can be to different databases in the same Derby system.

Server
Remote client applications can establish the multiple connections desired.


3. Multi-User
Multiple applications (or JVMs) accessing the same Derby database. Each user application has its own connection or connections to the database.

Embedded
Not possible. Only one application can access a database at a time, and only one application can access a specific system at a time. When using a pre-1.4 JVM, Derby might not prevent multiple applications from concurrently accessing the same Derby system, but do not allow this because such access can corrupt the databases involved.

Server
Only one server should access a database at a time. Multiple remote client applications can access the same server, and thus can access the same database at the same time through that server.

(Continued on next question...)

Other Job Interview Questions