<28 November 2010> FastFileDB 1.3 has been released. Download here
<28 September 2010> FastFileDB 1.2 has been released. FastFileDB is a very fast file based database. Currently, it does not support JOIN, FOREIGN KEY, and UNION SQL statements. It works as a standalone engine. However, it can handle concurrent connections to a database. It has a built-in pooling engine to handle this.
<07 July 2010> FastFileDB 1.1 has been released. A JDBC has been developed for FastFileDB engine, so that data can be retrieved like other database. However, FastFileDB is a very light-weight database with very limited SQL supported.
FastFileDB 1.3 has been improved on several aspects. It is applied as an embedded database for the project Handy Application Maker II .Use DbVisualizer http://www.dbvis.com (database tools) to create new connection. (Refer below for setting). The final JDBC setting has been confirmed as below:
JDBC Driver:
net.sf.fastfiledb.jdbc.Driver
/
net.sf.fastfiledb.sub.jdbc.Driver (light-weight)
JDBC URL: jdbc:fastfiledb:[database name];dir=[working directory];create;pool=1
User Name: adm
Password: adm
E.g. jdbc:fastfiledb:DefaultDB;dir=C:/data;create will create the database "DefaultDB" inside the folder "C:/data".
The light-weight driver provides faster startup time. It removes the database schema portion to gain speed.
The SQL statement parsing is developed by other open source project. Credit to:
FastFileDB 1.2 has been upgraded to alpha version (1.1 ver is a dev. ver), use DbVisualizer http://www.dbvis.com (tested tools) to create new connection. The JDBC URL has slightly changes:
JDBC Driver: net.sf.ffdb.jdbc.Driver
JDBC URL: jdbc:ffdb:[project name];dir=[working directory];create
User Name: adm
Password: adm
E.g. jdbc:ffdb:DefaultDB;dir=C:/data;create will create the database "DefaultDB" inside the folder "C:/data".
The SQL statement parsing is developed by other open source project. Credit to:
FastFileDB (FFDB) 1.1 has become a very light-weight database engine. It has its own custom-built JDBC. The GUI tool is still under developedment. Mean while the author recommends DbVisualizer (http://www.dbvis.com) - a database tools, as shown:
NOTE that FastFileDB 1.1 is still a development version (not yet reached alpha or beta).
JDBC Driver: net.sf.fastfiledb.JdbcDriver
JDBC URL: jdbc:ffdb:[project name]/[database name];createproject;createdatabase;encrypt;
User Name: adm
Password: adm
FastFileDB (FFDB) is a light-weight file database. It saves records on file basis. Besides pure text database, it supports data type, data format, is data empty check and default field data for each field. Furthermore, it allows developer to set primary key and unique keys.
All data will be loaded into memory when FFDB started. The data size supported is based on physical memory size and JVM memory allocated. It is recommended for data size that is less than 100mb per record set. In FFDB pure text mode (turn off all features: data type, data format, primary key, etc), the loading time of a 100mb file is about 10 seconds. Turning on more features will consume more loading time. If all features are turned on, the performance will degrade 10 times or more, which means it may take minutes to load the same file.
To simply create a table:
To enhance the table, by defining data type, data format, default value, and is column allows null value:
Primary key (optional):
Unique key (optional):
The text-only-mode is the fastest way to handle data. Uploading thousands of records within seconds and million of records wihin a minute. This mode treats all columns as text-based data. So input "abc" to an integer column is valid. No data type check.
The data type mode convert text data to specified data type. Every input will be validated before update. Invalid data type will not be updated, the original value is remained. The best thing is this mode does not hit the performance. It takes extra 1-10% of time compare to text-only-mode
Data format can slow the performance as every data will be formatted individually row-by-row, column-by-column. It consumes extra 10-80% of time depends on how large the data is and how many formatted column. Try to disabled this mode if you find your data loading is slow.
Primary key and unique key are same to data format besides it check for data duplication instead of formatting data. It needs 10-50% extra loading time.
All data is loaded into memory in object array form. So an extra 8/16Kb is needed for each row. This means that storing 150Mb physical size data will need 10 times of RAM size, which is 1.5Gb to store it. As a result, FastFileDB is recommended for file within 10Mb. It is originally designed to hold temporary data or lookup data.
Conclusion, when you find your table slow, try to minimise the number of formatted column and keys definition.
Last updated: July 07, 2010