Introduction

Dec 31, 2012

Example right-aligned image

FastFileDB is an open source database built with Oracle JDK. It caches data as "Primitive Type" for java primitive data type. Thus, it is fast and consume less memory..

The Vision of FastFileDB is to provide fast data management service with the minumum use of hardware memory storage.

The Mission of FastFileDB is to maintain/optimize the balance between speed and size (performance vs size of memory storage). It aims to keep itself simple and small to provide fast data handling services regardless of the data size.

Summary:

  1. It supports basic SQL syntax and works SQL commands like CREATE/DROP, INSERT/UPDATE/DELETE, and SELECT.
  2. It is a file-based database, per table directory. Each table has its own directory, locked by current position. The meta data and content is stored in file with ext.:*.TB.
  3. Table content is loaded only when necessary. And can be tuned to unload immediately after usage. It reduces the initial loading/start time. Hence, the start-up time is fast regardless the size of database.
  4. Current version has not yet supported indexing. However, due to it's nature of storing data as primitive (e.g. "int" rather than "Integer", "byte" rather than "Byte"), the data processing is very fast.

Mile Stone for Features [Ver.2.0]:

  1. Data caching [100%]
  2. No SQL Database [100%]
  3. SQL Database [100%] - NOTE: certain "GROUP BY" query result may not work expectedly, still under testing.
  4. SQL-99 Compliant Database [50%] -
  5. Fast I/O algorithm [90%]
  6. Work as TableModel, ListModel, List as temporary data storage [70%]
  7. Indexed Column [80%] - NOTE: Not yet applied in the current release.
  8. Full Text Search [50%] - NOTE: Not yet applied in the current release.
  9. Stored Procedure / Trigger [0%]
  10. Internal Function [0%] - NOTE: works only with SQL like SUM(), AVG(), MAX(), MIN(), COUNT(), etc.

 

Features of FastFileDB

Usage of FastFileDB

JDBC Setting:

Network JDBC Setting:

Disk Table and Memory Table:

Notice:

Limitation of Session and Transaction.

The database core library has been completed. Limitation:

  1. Authentication: Not yet activated. Each connection is opened implicitly or explicitly by user "adm" (admin)
  2. Session: Each java.sql.Connection holds one session
  3. Transaction: READ_UNCOMMITTED only.
  4. Query Processing: Only one Transaction at a time. It is not yet optimizing with thread processing. The "synchronized" method is applied to support concurrency.

The above issues will be improved in future verison.

The initiative of building FastFileDB

Simply put in formula = ( ( "Java Cache" + "Java Database" + NoSQL + "In-Mem Database" + SQL-layer ) - "Heavy-weight features" - "Unecessary classes" ) + "Simplicity" + "Light-weight" + "Customizable"

The are already this kind of product libraries however, the price tag is as well amazing!