RDBMS Vs NoSql
Whenever we design a new software/application, often there is a doubt which DB should be used. If you also have same question, go through this blog and hope it will help you to make your decision with ease.
What is RDBMS?
Relational Database is an organised structured data stored in the form of tables. Data is searched based on the column value.
This database is very efficient for querying the data. Scalability is supported by vertical scaling.
Examples of RDBMS: MySql, Oracle DB, SqlServer etc
What is NoSql DB?
NoSql DB is non relational data base in which data is stored in means other other than tabular form. For e.g. Files, Graph etc
It is highly scalable and backed by horizontal scaling.
Examples of NoSql DB: Mongo DB, Hadoop, Neo4J, Cassandra etc
Comparison:
Simple Application: If there is a need of DB for a simple application which does not need many tables or complex relationships. RDBMS is a good option compare to NoSql DBs.
Volatility of Data: If it is expected to have lot of modification in the database structure due to application nature. NoSql DB provides lot of flexibility compare to RDBMS. It always costs more when there is a change in table structure in RDBMS.
Data Analytics: RDBMS are known very responsive when it comes to complex queries compare to NoSql DB. RDBMS are good option when it comes to reporting or data analytics.
Complex Relationship Among the tables: There are graphical databases in NoSql DBs which provides clean and efficient nesting relationships compare to RDBMS.
Apart from choosing one of the either option for database, trend is also for co-existence of both the databases depending on the need of the application. Specially with microservices, there is more flexibility of choosing the DB type based on the functionality what microservice is going to provide.