WRITELOOP

ANOTATIONS ON DATA INTENSIVE APPLICATIONS

2020 September 9
  • GraphQL as a “data contract”

  • GraphQL has the added benefit to allow changing the storage backend (e.g. from Mongo to Elastic) when needed, so that we can keep the same APIs on web/mobile frontend. This can be useful when you are at the prototying stage of an app, when you are experiment with different backend.

  • columnar data (e.g. cassandra/pandas) vs record data (e.g. relational databases): use columnar databases or libraries when you have too many aggregations, and they are more important than a single record.

  • Use JSON-oriented databases when you have a no-defined schema and many information related to a single resource (e.g. LinkedIn profile: person, schools, experiences). But if you have many links between that information, than use a relational database.

  • Graph databases are ideal when you have many-to-many relationships

NOTE: The original content(s) that inspired this one can be found at:
https://softwareengineeringdaily.com/2020/06/23/data-intensive-applications-with-martin-kleppman-summer-break-repeat/
All copyright and intellectual property of each one belongs to its' original author.