My current project uses HSQLDB in production mode.
Since I wanted to upload the files and pictures to the database as BLOB, I would like to know
what could be the maximum size of database under HSQLDB?
Also h开发者_如何学JAVAow the HSQLDB performs while handling BLOB data?
Regards,
Satya
HSQLDB 2.0 and later stores the BLOB (and CLOB) data is a separate file ending with .lobs. The theoretical capacity of this file is 2^31 units of 32KB (total 64TB). Internal tables store the directory information for the lobs. These tables are stored in memory by default and are therefore limited to a few hundereds of thousand individual lobs (100000 is a safe limit). If you plan to store millions of lobs, you can change the lob tables to CACHED tables in the latest versions.
http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#dec_lob_mem_use
Therefore it is practical to store several million lobs. With typical files and pictures, the lob access performance is related more to OS file access and caching than any other factors. Average access speeds of over 20MB per second are typical for multi-gigabyte lob databases.
I don't think that there is limit to how big your database can be, but accessing your data depends on how you structure it and how you query it, I've used hsqldb in several projects and it works fine with BLOB data, but my overall database size in those projects were not more than several gigabytes so maybe there is a limit to how efficient hsqldb can be depending on the database size
精彩评论