Steve R. wrote:MySQL would be overkill for my project...[although]...I am planning to use this database as a platform to learn PHP and access the database through a browser (Firefox) on the home network.
That's largely my point. Once you've exhausted the
scalability and natural realm of of a full-
featured desktop/LAN engine like HSQLDB 2.x, you've
also left the typical/appropriate realm of Base as the front-end -- as a general rule. In other words, if you actually need a full-
scale engine, Base is no longer relevant for the project.
You don't need PHP or a browser for concurrent database access on a home network (LAN). A Base connection file (.odb) can be configured for local, LAN or Web database access. So you can access the database using Base as the client-application, while running the database in
server-mode from a shared folder on any networked (LAN) computer.
However, if you need both LAN and internet access to the database, then you'll need to run the RDBMS in web-server/
servlet mode using a
web application server. You can configure Base using a web protocol (http: or https:) as necessary. You can
run HSQLDB on a web-server using Tomcat, Jetty, etc. -- but that's generally the point at which I would move on to PostgreSQL or MySQL during the
initial planning phase. If you've already begun development with HSQLDB, then HSQLDB 2.x should suffice as a web-hosted database given the "
wide range of enterprise deployment options" designed for high-traffic concurrency.
It takes some know-how to setup both local LAN database access and remote web access to a database. But in either case, it's much easier to configure Base to serve as the front-end (GUI user-interface), than it would be to adopt an internet-browser as the front-end since that involves learning PHP and JavaScript (or HTML5). Certainly in the long-run, it will be advantageous to learn browser-based data-access (PHP/JavaScript or HTML5) and/or framework-based forms. But in the short-run, it might be satisfying to get these data-access options working with a
RAD tool like Base first.
So when creating a new relational database for use primarily within the scope of the AOO/LibO environment, HSQLDB 2.x is not only up to the task, but also the most practical choice for a variety of reasons including:
- ease of setup and daily use
database portability to include seamless cross-platform support
superior desktop performance
best-of-breed ANSI/ISO SQL support
all the functions you could imagine plus stored-procedures to create your own
second-to-none LOB support
remote authentication with role-based security and encryption
reasonable scalability
free with excellent licensing
...and perhaps more...