Best Database to Store and Retrieve Word and Excel Documents

database-recommendation

My current project is to create a barcode system (for lack of a better word) that is linked to a database (was not given more information or directions). My task is to have a barcode scanner interpret a barcode, query a database that stores MS Word and Excel documents (.docx/.xlsx), then automatically retrieve and display the document. I have not received much direction other than when a barcode is scanned, to have the corresponding document to be retreived and displayed automatically. There is currently no database at our location and we store all of our information in Excel spreadsheets.

The process that I am attempting to automate is to remove the "human element" from opening the correct document(checklists and reports) as well as saving the document with the proper naming format and location (excel VBA script).

There is no reason why this should be impossible, but I am not sure which (R)DBMS to use. We are not looking to spend extreme money (no oracle 11g or 12c), but we are essentially starting from scratch and our spreadsheets are spread over the entire networked drive. I know there are options like IBM DB2 or MySQL or MS SQL Server or MongoDB…but I am not sure which one would be the best "bang for my buck" and give the least amount of headaches.

Best Answer

Personally since you don't have a relation beyond barcode --> document I don't think a relational database is the best fit.

If your requirements are really as simple as:

  1. Find a document
  2. Serve document to user

Then any Key/Value store should work. This wikipedia article talks about some of the theory for Document Databases as well as some pro/cons vs Relational Databases.

You will need to write some sort of interface/application to translate the barcode reader output into a query for the document in the database you choose. As such you might not even need to use a database at all. You could just have the application layer find the documents in the network drive...

Since I was pressed for a specific recommendation. I would look at MongoDB. It should be cheap to run, will fit you needs, and appears to have broad support. Here is a link to a blog article discussing storing files/binaries in MongoDB.

Fair warning: I don't have any direct experience with MongoDB, and only basic familiarity with document databases in general. As such my recommendation of MongoDB is based on hearsay, and general impressions.