dwyl / github-backup

:octocat: :back: 🆙 Backup your GitHub Issues so you can still work when (they/you are) offline.
https://github-backup.herokuapp.com
GNU General Public License v2.0
32 stars 3 forks source link

Which Database? #3

Closed nelsonic closed 6 years ago

nelsonic commented 6 years ago

We need to carefully select a Database for this, because it's the single "critical success factor". The two that I am currently considering are:

Other options could include:

@SimonLab are you up for doing a "spike" to investigate cockroachdb ?

nelsonic commented 6 years ago

https://www.youtube.com/watch?v=p8aJuk7TJJA image

nelsonic commented 6 years ago

On the basis that: a) there is no support for CockroachDB on Travis-CI (yet...!): https://docs.travis-ci.com/user/database-setup/ image b) we already know PostgreSQL inside-out from our time using Phoenix and have the necessary tools on our localhost. c) we can "move fast" because there is nothing to learn/configure so we can ship an MVP in a week!

I suggest that we stick with a "standard" Phoenix setup for this app (i.e. use PostgreSQL).

Given the relative simplicity of the data we are storing I don't envisage us having too much "difficulty" migrating to CockroachDB once we have a reasonable "scale". See: https://www.cockroachlabs.com/docs/stable/frequently-asked-questions.html#can-a-postgresql-or-mysql-application-be-migrated-to-cockroachdb image

@SimonLab what are your thoughts on this?

Note: we will almost definately need to do the CockroachDB "Spike" in the near future ... if/when the the app is "successful". 🤞 meanwhile we can "wait and see" what happens with this issue: https://github.com/cockroachdb/cockroach/issues/5582 ("Elixir Connection Issues")

My suggested "architecture" is to:

nelsonic commented 6 years ago

Discussed this morning in standup. Collectively Decided: PostgreSQL for MVP.