Is there any file-based db with concurrent per-file user access similar to MS Access but Open Source? [closed]
We don’t allow ques开发者_如何学运维tions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this questionMost time I build simple applications that share data through an MS Access DB through a network drive.
However, MS Access in damn slow, does not support common features of SQL, is a pain to automate and makes uses to "explore" my application's data directly.
I would like to migrate to an different db with a similar profile. It should be
- needing no installation, because they are not permitted through the IT departement
- be file-based (same as above)
- savely placeable on a network drive to give multi-user support
- open source
- (preferably have a pure java driver)
Do you know anything out there that matches at least some of my creterias?
I have reviewed sqlite, derby, hsqldb. They all seem to support all requirements except the shareability through an network drive.
But this is the most required feature.
I would appreciate any answers.
I'm pretty sure the requirement "needing no installation" is a show-stopper for you. The alternative is to learn to make better use of Access. With careful design, it will surprise you. In the olden days, when lawyers in the US were expected to design, build, and maintain their own litigation support databases, I used to demonstrate design and queries against a 2,000,000 row Access database. Response times were less than 250 msec. I know that sounds awfully slow nowadays, but back then--early 1990s--that was ripping fast.
Not kidding about the lawyers. The canonical reference for litigation support databases at the time was Wilmer, Cutler, and Pickering Manual on Litigation Support Databases. In my experience, most lawyers believe their expertise at the bar transfers to all other fields. Including database design.
Try HSQLDB.
From their homepage:
It offers a small, fast multithreaded and transactional database engine which offers in-memory and disk-based tables and supports embedded and server modes.
It's also used by JBoss AS as its internal database.
I have reviewed sqlite, derby, hsqldb. They all seem to support all requirements except the shareability through an network drive.
You might need to put a small server on the network, though :)
I have worked with Firebird Embedded with great results, the only problem: no multi-user access is posible.
- It provides you with full modern RDBMS features.
- No need for installation: just copy a dll.
- The database is a single file.
Here is some info: http://www.firebirdsql.org/manual/ufb-cs-embedded.html
精彩评论