Principles of System Design — Part 2

  1. You are still developing v1 of your software, and data access patterns are not yet evident. Relational schemas are always a decent initial option. All apps are basically bad (as a senior backend engineer at my office correctly informed me:)), and no one would judge you for beginning with relational data rather than sophisticated NoSQL or Graph DB.
  2. Strict schema on write constraints must be enforced.
  3. You want to keep data redundancy to a minimum. Normalization of schema in relational models shreds information into multiple tables.
  4. Many to one and many to many relationships exist in your data model. In other words, you know ahead of time which joins will be executed. One of the most important secrets of relational databases is the ability to join and query relational databases using a declarative language like SQL. A great deal of study and work has gone into making relational queries as quickly as possible. An application developer just has to indicate the query’s intended data pattern. To fetch/write data, the query engine will turn the SQL query into optimized code
"first name": "John," "last name": "Doe," and "conditions": "none."
["name": "T2DM", "onset": "December 12, 1990"]



intforce software is software service company and providing complete IT solution with fresh perspective.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store