Print

Print


Hi Matt,

It's very hard to provide a responsible recommendation without further
details, so this is just going to be a quick overview of *relational
database* options.  It might be that some of the other recommendations fit
your needs better.  For example, if your users aren't at ease with SQL,
Solr or ElasticSearch might be better..

Consider SQLite.  It's nearly everywhere (public domain, embedded in tons
of things).  There's a Firefox extension that will let you work with it
through the browser if you don't want to do things from the command line.
SQLite isn't a multi user server, it's more a file format.  The database is
a single file that you can ship around.  You can build a 'self contained'
web application on top of it, which can make deployment much easier.

As befits its nature, it's a bit loose with data types (e.g. you can insert
strings into numeric column types).  But there's a lot to be said in its
favour.

MySQL (or MariaDB) are reasonable choices,  It does a lot of things very
well, and it's very easy to get started with, and lots of documentation.
You will need to pay attention if your data is multilingual and/or
"non-Latin".

I will second the suggestion to look at PostgreSQL: it's almost as
available as MySQL, and tends to adhere closer to SQL standards than MySQL
(e.g. window functions), and it's fast, and its data storage model makes
for some nice features (e.g. you can update a table's structure while
others are querying it, which is great for availability).  It supports
"foreign data wrappers" which let you query other data sources in
PostgresSQL (https://wiki.postgresql.org/wiki/Foreign_data_wrappers)

It's worth mentioning that recent versions of PostgreSQL have a JSON column
type (and the most recent versions support functions that let you query
inside JSON-valued columns).  For some time, it has supported functional
indexes: http://www.postgresql.org/docs/9.1/static/indexes-expressional.html


These two features together mean you can index 'into' a JSON-valued column
to get fast searching over more loosely structured data, so these versions
of PostgreSQL also give you many of the advantages touted for NoSQL systems
while still giving you a standardized query language and traditional ACID
"guarantees."

HTH,

AC



On Fri, Apr 15, 2016 at 2:18 PM, Matt Sherman <[log in to unmask]>
wrote:

> Hi all,
>
> I am looking to pick the group brain as to what might be the most useful
> database software for a digital project I am collaborating on.  We are
> working on converting an annotated bibliography to a searchable database.
> While I have the data in a few structured formats, we need to figure out
> now what to actually put it in so that it can be queried.  My default line
> of thinking is to try a MySQL since it is free and used ubiquitously
> online, but I wanted to see if there were any other database or software
> systems that we should also consider before investing a lot of time in one
> approach.  Any advice and suggestions would be appreciated.
>
> Matt Sherman
>