Key points to consider before choosing Data Storage technology

Sagar Dua
2 min readNov 24, 2020

Before one jumps on the bandwagon of RDBMS vs NoSQL vs NewSQL to use for the respective application or cloud service, it is important to list out the key factors which will help in taking such a decision.

Below are key decision factors to review when evaluating different data storage options for your application or cloud service. These are generic decision factors, and should be applicable for any domain or system being built.

  1. Multi-tenancy: Achieve multi-tenancy with database or application level.
  2. Consistency, Availability, and Partition Tolerance (CAP): Segregate use cases based on their needs.
  3. Scalability: Assuming service or all use cases will need to be highly scalable. If not, take decision accordingly.
  4. Performance: Assuming service or all use cases will need to be highly performant. If not, take decision accordingly. There might be use cases which can do with being less performant but will provide strong ACID.
  5. Horizontal Partitioning ability: If using Oracle Database, decide whether horizontal scalability is required. If yes, Oracle Sharding can be evaluated. If using MySQL, Vitess can be used to horizontally shard MySQL database. For most of the NoSQL databases, this is default option.
  6. In-database analytics and monitoring: If using Oracle Database, using EMCC one can get most of the database analytics and monitoring features.
  7. Operational and querying capabilities
  8. Storage management: Choosing flexible Cloud storage option.
  9. Database integrity and constraints
  10. Data model flexibility: Decide on level of schema flexibility required on per use cases basis. If using Oracle Database, can achieve mixed storage with Flex and Non-Flex data within same database table.
  11. Database security
  12. Database vendor/system funding, stability, community, and level of establishment
  13. Data Structure: Structured/Semi-Structured/Non-Structured.
  14. ACID vs BASE: Decide on per use case basis.
  15. Read vs Write: Decide on per use case or overall service basis. Service needs to be 50–50 on Read-Write operations.
  16. Fast look-ups vs Complex queries: Decide on per use cases basis.
  17. Business requirements perspective: These are requirements specifically coming from business, apart from general requirements.

--

--

Sagar Dua

Developer at Oracle. All Things Data. 5xOCI. Always Curious. Views my own.