How to Design The Database

  • by

 

  • Relational (SQL-based) databases – such as MySQL, PostgreSQL, Oracle, and MS SQL Server – can be queried with SQL-like languages. They allow indexing and faster updating, but total querying time can be slow for large tables. 
  • Their simple structure matches most data types and they support atomic transactions but not OOP-based objects. They require vertical scaling (10-100TB), which requires downtime when adding resources to machines. 
  • NoSQL databases typically use JSON records with no common schema. There are four main types of NoSQL databases. 
  • Document-oriented databases make each document into a JSON and allow indexing by field (so all records must have that field); they support big data analytics using parallel computations (examples are MongoDB, CouchDB, and DocumentDB). 
  • Columnar databases store data by the column (querying by subsets of a column is fast), allowing better data compression. They are commonly used for data modeling and logging (an example is Cassandra). 
  • Key-value databases allow only key-based querying, which is fast, and each record has a ‘time to live’ (TTL) field deciding when it gets deleted. They are great for caching, but because of using RAM storage, are expensive (examples include Redis and Memcached). 



Leave a Reply

Your email address will not be published. Required fields are marked *