arc90 / current

Service which aggregates personal content streams into a single stream/page
1 stars 0 forks source link

Decide what DBMS Current will use #2

Closed aviflax closed 8 years ago

aviflax commented 11 years ago

Some options I’d like to consider, off the top of my head:

@closacco @jimniels please chime in if you have any suggestions. Otherwise I’ll just use this issue to think out loud.

I’m personally most familiar with CouchDB, but I’m interested in learning something new for this project. PostgreSQL is attractive because it’s very mature and yet improving steadily and impressively, and it supports a hybrid relational/document model. RethinkDB is attractive because it’s a new up-and-coming document DB with an interesting mix of features.

I think #1 is relevant here because if we go with Heroku, then PostgreSQL becomes the no-brainer option — that’s the only DBMS they provide. (It’s possible to use other DBMS’s via Heroku “add-ons” but I’m deeply suspicious of that scenario — it seems quite possible that those add-ons are hosted in a different datacenter from the app servers, which just seems like a non-starter to me.)

aviflax commented 11 years ago

I just posted this to #2:

I’ve spoken with two Heroku staffers and they’ve convinced me that their add-ons are viable. So the first Heroku con is lessened. So it would be viable to choose a DB other than PostgreSQL, such as CouchDB or RethinkDB.

aviflax commented 11 years ago

Since in #2 I decided we’re going to use Heroku for hosting, it’s relevant to note that the RethinkDB add-on for Heroku is currently in beta, and currently only offers a very small free plan, limited to 10MB memory and 10MB disk. However I’ve been corresponding with RethinkDB (the company) and they are offering to grant us a larger free plan, just because I’m a little uncomfortable with those limits — they’re just way small, they don’t afford comfortable headroom. I’ll follow-up here with how that correspondence plays out.

aviflax commented 11 years ago

I think my next step in thinking this through will be to model the data to see what kind of database would be the best fit for the shape of the data for this particular project.