SQL vs No-SQL: a database choice basic comparison

data model

  • schema flexibility: schema on read
  • locality. Documents/data is usually stored as continuous string, it could have performance advantage when application needs to access entire documents / large portion of it. When overwriting/updating, it’s suggested to do write that does not change the size of the documents, otherwise the entire documents needs to be rewritten.
  • data structure similar to application requirements
  • Storage is less of a concern compared with compute resource because of Moore’s law.
  • awkward for highly inter-connected data
  • schema on write. unavoidable downtime when doing schema change with ALTER/UPDATE query.
  • better support for join
  • ACID
  • many-to-one relationship and many-to-many relationship (it depends on the real requirement from the application logic)

some common tricks:

  • denormalization: reduce redundant data in database; when some data needs to be updated/altered, only 1 place needs to be updated, and other reference can get updated data during query time
  • JOIN operations will take a LOT of time
  • Very hard to horizontal scale
  • Unbounded query


fault tolerance

concurrency handling




engineer + vlogger

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

The Basics of Building Accessible Forms

Why HTML is a must for every website.

Leetcode 525. Contiguous Array

Basic automated security testing of web application

Details on How to Participate in THINKIUM developer Bounty Plan.

Rolls-Royce’s Black Badge Dawn: A Classic Vehicle With Timeless Quality

This strange algorithm

Getting started with CoppeliaSim

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


engineer + vlogger

More from Medium

CS373 Spring 2022: Tiago Grimaldi Rossi

Making Diagrams Fun And Maintainable

Kotlin Cheatseet — data clas

Data Normalization in Database Management