phil-ociraptor / sos-landing

Landing page for Summer of Shipping. (May evolve into much more than a landing page)
https://summerofshipping.com
12 stars 9 forks source link

Spiking MongoDB as our data store #24

Open justonsky opened 4 years ago

justonsky commented 4 years ago

Coming from the discussion in #21:

Objective

To explore the feasibility of using MongoDB as our data store.

MongoDB's a well-known, pretty popular solution for a database. It has issues (see recent news), but:

So, MongoDB is a huge contender in that like Airtable it can help us get our Showcase running quick, with the added benefit of no API rate limit when accessing our data.

Collaborators

This will be owned by the data team: @esu2020 @pandevim @justonsky.

Deliverable

An MongoDB prototype, information from mentors who've used MongoDB in the past, anything to develop our understanding of what it would take for us to use MongoDB as our data store.

pandevim commented 4 years ago

Mongodb is a fully fledged enterprise database solution, but do we really need that in the SoS showcase website? I think it will increase unnecessary complexity. The moment I write this comment we don't have plans for writes and only reads means the website belongs to "Staic Website" category. In retrospect we need a simple, easy to setup serverless db application which covers our minimum requirements. I explored these solutions in this issue: #26

justonsky commented 4 years ago

The moment I write this comment we don't have plans for writes and only reads means the website belongs to "Static Website" category

That's a really good point I didn't even pause to consider. For the time being we'll be the ones seeding our source with data, so you're right, it'll introduce unneeded complexity. From my own exploration of MongoDB, some pain points I've encountered were those that indeed back up your points:

With that in mind, I totally agree with you, simple is best.

phil-ociraptor commented 4 years ago

One other NoSQL option to consider is Firebase.

Personally, I think SQL is a great choice for us in the long run (depending on the needs of the project), but it's little bit more heavyweight to get started. Definitely the most involved of everything we've looked at.