Specialized, Open Source Databases?
PyTHON71 asks: "I've been asked the head of the Wichita State University Anthropology department to help fix his growing biological anthropology collection database. It's currently in Access (insert boo's and hisses), but he is willing to have it developed in a reliable open source format. Now, there are a lot of university departments out there that need to have specialized work done on a small budget. They can't rely on just any developer, because the developer has to know biological anthropology (in this case) as well as MySQL, etc. And since it's not in the Hacker Code to duplicate work that's already been done, I was wondering what specialized database projects are out there & available for general use (not the data, just the structure)."
The problem is Access's data storage is in a flat file format. Which means it'll be slower than dookie after it gets to be a certain size and complexity. Especially when sharing the database with many users. I'd suggest SQL Server, with a vb frontend or even an Access frontend with the SQL Server tables linked into Access.
Unfortunately the question was pertaining to open source, probably because the owner of the data, doesn't want to drop a chunk of change on a major database. Yes Access comes with Windows, but the performance issue is too big.
Most of the time, whenever anyone posts about database, I like to point out Adaptive Server Anywhere (from Sybase). It's ....
.... really)
- inexpensive
- probably the easiest DB to administer
- fully SQL compliant, supports ESQL/C, ODBC, OLEDB, JDBC
- available in linux, windows, mac, aix, etc. versions
- available for free download (as an evaluation copy) off the sybase website
- advanced query optimizer (blows most open source engines out of the water
- fully ANSI transaction-oriented; stable in the event of disaster (which is really what you pay for when you buy a database)
- comes with all sorts of other goodies in the suite (lets you make forms like Access [via "Infomaker"], database/UML graphs, etc) -- mostly things i don't use, but probably some things that an Access user would like
- can run on anything from mainframes to palm pilots (ASA has technology that lets it generate specialized database engines that run on handhelds in as little as 80kB)
start your first step here:
http://www.sybase.com
I am not sure about the data storage of access. It was my understanding it was NOT a flat file -- but it is very limitted.
/. -- but I think it is probably the most sane answer. :)
I recommend you use the "upsize" wizard (which will automatically relink to your existing forms) and goto MS SQL 2000.
This does a few things for you. #1. Huge number of people familar with Access. (Better chance of finding a "biological anthropology" major with experience [I should note, I find this requirement a bit silly, have a guy from the CS department set it up, and you use it]). #2. The app appears to work exactly like it did -- only without the preformance hangups.
Once you get thru that basic change -- and you have de-coupled the interface (access) from the backend (sql server 2000) -- you can slowly but surely start fixing the design of the database without interupting the USAGE of the system too much. The forms will be consistant, and you just have to ensure that you keep them up to date with the database changes you make.
I hate to be putting forth an MS solution on