Database Selection Criteria

Database Selection Criteria

As business use-cases are changing very rapidly there are many data points which can be discussed before finalising any particular database technologies. With this post I am going to highlight few data point which will may help any technologist in selecting databases specific to there use-cases.

COST : Before selecting any technology for your use-cases it is better to consider cost factor upfront. Don’t ignore this thing initially as it will be become of the deciding factor when me move ahead. Below mentioned are some of the data-point which can be used to evaluate cost factor related to any databases:

  • Open source or licensed database technology is needed?
  • Maintenance cost of this database technology?
  • Cost to scale current database server?
  • Does it provide trial version to do initial POC?
  • Short-term costs like subscription fees, per-use charges, and “hidden” which are buried in the product offering?
  • Support fees related to this database technology?

SLA: Service level agreement defines the level of service we expect from any database vendor.We have to first decide on Recovery Point Objective(RPO) and Recovery Time Objective(RTO) based on our business requirement.Once RPO and RTO are decided we can use below mentioned queries which help us decide database which are better suited to our requirement:

  • Availability support should be at-least 99.9%?
  • Durability support should be at-least 99.99%?
  • Onsite support business hours and procedures for off-hours support?
  • Maximum time taken by database technology provider to acknowledge any support ticket raised by team?
  • Does it provide multi node cluster support?
  • Does it have any disaster recovery solution?
  • Time taken to restore any customer data from a backup?

Third Party Support:One important aspect before selecting any technology is its compatibility with respect to various third party which comes into picture like Operating Systems, Data Format and Cloud adaptability. Below mentioned data point will highlight some important third party questionnaire’s related to database technology.

  • Multi Operating Support with respect to Linux,Windows etc is required?
  • Should be supported by Key Cloud Vendors like AWS ,GOOGLE or Microsoft?
  • SQL language support is needed?
  • Supported programming languages will be java,C,C++,Python?
  • Support of XML,JSON,SPATIAL and unstructured data is needed?
  • Does it support any third party integration?

Data Model:This defines how logical structure of database is modeled. It is the one of the important aspect look by developer/architect before selecting any databases as per business requirement. Below mentioned data point will help in selecting desired database based on its data modeling capabilities:

  • Schema less design is required?
  • ACID support is needed?
  • Limited Query Pattern is needed?
  • No complex queries, stored procedures, or views are present?
  • Normalisation is required with respect to database?
  • Every table should include a Timestamp column in order to manage concurrent access by multiple users if optimistic locking is enabled?
  • Logical data independence support is required or not?
  • Physical data independence support is required or not?
  • Easy or hard is it to adapt or extend the underlying data model?
  • Level of functional dependency between different schema objects?
  • Single Huge table model is required?
  • Create read update and Delete operation support is needed?
  • Degree of the relationships between different entities?
  • Multi-table relational database is needed?

Performance:There may be many specific features present in different database technology which can improve performance of database which in turn convert to better user experience while accessing the application.Below mentioned are some of the parameter which should be taken into consideration while selecting desired databases:

  • Partitioning of data can be done?
  • Replication method to be used will be Master-Master or Master-Slave?
  • In Memory Capabilities is there or not?
  • OLTP, data warehousing (DW) or mixed (OLTP & DW) database workloads support is needed?
  • If Analytics, BI or Reporting is required?
  • Analysing large quantities of data in read mode only?
  • Requires distributed computing and storage?
  • Datatype to be inserted is supported by storing systems?
  • Complex dynamic queries requiring stored procedures, or view?

Security: One of the most important aspect of today’s technology world is security options provided by particular database vendor. Each business use case may require different security techniques to be adapted. Below mentioned data-points will help in selecting desired database technology:

  • Application requires secures client communication mechanism with respect to database via using SSL or Encryption Protocol?
  • Auditing Feature with respect to database is required?
  • Any sensitive data should be kept in encrypted form?
  • Access rights for users, groups and roles based on security policies?
  • Technologies that allow you control access and permissions at object/table-level, at feature-level, and at field-level?
  • Ensure your system will be safe and that only authenticated users will have access by using single-sign-on, two-factor-authentication features?

Usability: Even though we went through each key point which was mentioned above one thing which will definitely help use chooses particular technology is it’s usability factor. In simple terms how well we can adapt to this new technology be it through some technical session or practical training. Below mentioned key point will help you narrow down your option:

  • Implementation process is simple or required some level of expertise?
  • How strong and connected is the community of users and partners around the database technology?
  • How widely available is information that will help you troubleshoot or improve your implementation of the database technology?
  • How frequent is the patch released with respect to any bugs?
  • Does it have proper Backup and Recovery Solution?
  • Is there any feasible support site to raise tickets with respect to any bugs?

Overall I tried my best to narrow down points which may help any technologist to select any databases vendors based on there business requirement. Similar concepts can be applied while selecting different technology.

Do comments if something is to be added/updated.

Prashant Dixit

Database Solutions Architect - DB Systems (Oracle, PostgreSQL & Cassandra) | Love Databases | I am that FatDBA | Oracle ACE Pro ??? | Database Performance Freak | 25x Certified

1 年

Great post buddy!! ???? You have almost everything that one should consider while selecting the database solution. Areas like scalability, performance, availability, reliability cost, security, ease of maintenance, support, vendor lock-in, compatibility, integration with other systems, elasticity, geo support, features are some of the core criterion..

要查看或添加评论,请登录

Sunny Kichloo的更多文章

  • Revolutionizing Database Cloning with Nutanix NDB: Faster, Smarter, and More Efficient

    Revolutionizing Database Cloning with Nutanix NDB: Faster, Smarter, and More Efficient

    Being working in database field for many years there are some use cases which in real world takes time and are quite…

  • NOSQL DATABASE OVERVIEW

    NOSQL DATABASE OVERVIEW

    In this post we will discuss different type of data model which are available for NOSQL databases. NoSQL databases…

  • RDBMS/NOSQL USECASES

    RDBMS/NOSQL USECASES

    Conventional Relational databases are the result of years of research, best practices and decade of stress testing done…

  • ClickHouse Installation on Ubuntu/Linux Box

    ClickHouse Installation on Ubuntu/Linux Box

    ClickHouse is an open-source column-oriented database management system for online analytical processing (OLAP)…

社区洞察

其他会员也浏览了