Cheat sheet on how to choose database

The effectiveness and scalability of your design depends greatly on the choice of database. It is possible to use multiple databases within a single system for different purposes.
 
DB cheet sheet (you can click on image to expand it)

Caching solutions such as Redis and Memcached are key-value storage systems that can be used to improve the performance of a system by temporarily storing frequently accessed data in memory. 

For storing large files such as images and videos, it is often useful to use a file storage service such as S3 or Google Cloud Storage. These are known as blob storage systems and can be used in conjunction with a content delivery network (CDN) to improve the performance and reliability of file access.

To support full text search you could to use Elastic search or Solar.

To support monitoring system InfluxDB or Prometheus may be good options to consider.

For analytics on extremely large datasets and where transactions are not a requirement, Hadoop may be a good option to consider.

For structured data, a relational database such as PostgreSQL or MySQL may be suitable. These types of databases support ACID (Atomicity, Consistency, Isolation, Durability) properties.

For non-structured data, such as store catalog data, a NoSQL database like MongoDB or CouchDB may be suitable. MongoDB is a document-oriented database that allows for eventual consistency.

For data that is constantly increasing in size, such as records of purchases from a company like Amazon and where the number of queries is finite but relatively simple, Cassandra or HBase may be good options to consider.

For representing relationships, such as friendships, Neo4J may be a good choice.

[Таблица БД (вы можете щелкнуть изображение, чтобы развернуть его)]
Таблица БД (вы можете нажать на изображение, чтобы развернуть его)

Comments

Popular posts from this blog

How to conduct code reviews?

Why I Decided to Open Source?

POP3 protocol summary