Evaluating Database Management Software for your product

Pankaj kushwaha
3 min readJan 13, 2021

--

This article will certainly provide you with a good guide, whether you are an investor, CTO or architect, whether you need to pick a database product in a very core situation, or whether you want to invest in a database product or team.

The current database classification has been very detailed on dbranking:

  1. Complete ranking
  2. Relational DBMS
  3. Key-value stores
  4. Document stores
  5. Graph DBMS
  6. Time Series DBMS
  7. RDF stores
  8. Object oriented DBMS
  9. Search engines
  10. Multivalue DBMS
  11. Wide column stores
  12. Native XML DBMS
  13. Content stores
  14. Event Stores
  15. Navigational DBMS

This article mainly evaluates relational databases, which are divided into:

  • OLTP: online transaction processing
  • OLAP: Analytical database
  • HTAP: Hybrid database (both can support online transactions, but also support online analysis)

The following are the 18 eye-catching eyes for evaluating database products
1. SQL compatibility
SQL syntax (multidimensional analysis, window, subquery, CTE, DDL transaction, trigger, rule, event trigger)

Concurrency control ability

Transaction isolation level support

Supported data types

Supported operators

Supported indexes

Client language interface

Server programming interface

Partition table capability

Management GUI, management interface, management function, management view, etc.

2. Optimizer capabilities
Cost-based execution plan

Execution plan based on genetic algorithm

How many data access methods

Which SQL rewrite rules are supported

Which execution nodes are supported in parallel

Which JOIN algorithms are supported

Which sorting algorithms are supported

3. Expansion ability
Parallel capability (single machine parallel, multi-machine parallel)

Storage capacity (row storage, column storage, compression, heap storage, tree storage)

Scalability-scale up ability

Scalability-scale out ability

Data replication capability

4. Computing ability
Vector calculation

JIT

FPGA, GPU computing expansion capabilities

5. Kernel expansion capability
Kernel extension capability (custom UDF, IDX, OP, TYPE, window, aggregation, external data source, PL extension interface)

6. Reliability, availability, stability
Multi-copy capability

Backup capability

Recovery capabilities (point-in-time recovery, parallel backup and recovery capabilities, etc.)

Disaster tolerance

Cross-border regression capability

HA capability

Crash recovery capability

7. Security (authentication method, encryption type, transparent encryption type, transparent encryption storage)
8. Other features
(Stream computing, graph computing, GIS capabilities, recommended algorithms, time series, NOSQL, search, etc.)

Valuation

9. Kernel development language, model, platform compatibility, product weakness
C,

Thread model, process model,

Linux, unix, windows, …

What are the weaknesses in product design and architecture?

10. Code maturity and completion
11. roadmap
12. Main code contributors
13. Performance
tpc-b, tpc-h, tpc-ds, tpc-c, sysbench(oltp), TCO

14. Application scenarios and cases
15. Ecology
Business ecology: universities, database vendors, technical service vendors, cloud vendors, user groups, application developers, language ecology, investor ecology

Community status

Community activity

The ability to integrate with other ecosystems, hadoop, spark, ….

16. Future development potential
17. Cost
Learning cost

Development costs

Operation and maintenance cost

Management cost

18. Open source license
Open source licensing is very important!!!

Source reference Link
https://db-engines.com/en/ranking

https://www.postgresql.org/docs/12/static/index.html

I like to learn new and better ways of doing things when working on a scale, and feel free to ask questions and make suggestions.
Also, check out another story on this.
Thanks for reading this.

--

--

Pankaj kushwaha
Pankaj kushwaha

Written by Pankaj kushwaha

Database/System Administrator | DevOPS | Cloud Specialist | DevOPS

No responses yet