Database choice for the ace project
Criteria for choosing a database
- Performance: The database must be able to handle the requirements of the project efficiently.
- Flexibility: The database must be able to adapt to changing requirements of the project.
- Scalability: The database must be able to scale with the project as it grows.
- Open-source: The database should be open-source to reduce costs and increase flexibility.
Options for databases
Based on the criteria for performance, flexibility, and scalability, we have started with the list of most common databases. The list is based on the DB-Engines Ranking for May 2024.
1,1,1,Oracle,"Relational, Multi-model",1236.29,2.02,3.66
2,2,2,MySQL,"Relational, Multi-model",1083.74,-3.99,-88.72
3,3,3,Microsoft SQL Server,"Relational, Multi-model",824.29,-5.5,-95.8
4,4,4,PostgreSQL,"Relational, Multi-model",645.54,49.00%,27.64
5,5,5,MongoDB,"Document, Multi-model",421.65,-2.31,-14.96
6,6,6,Redis,"Key-value, Multi-model",157.8,136.00%,-10.33
7,7,8,Elasticsearch,"Search engine, Multi-model",135.35,0.57,-6.28
8,8,7,IBM Db2,"Relational, Multi-model",128.46,97.00%,-14.56
9,9,11,Snowflake,Relational,121.33,-1.87,9.61
10,10,9,SQLite,Relational,114.32,-1.69,-19.54
11,11,10,Microsoft Access,Relational,104.92,-0.49,-26.26
12,12,12,Cassandra,"Wide column, Multi-model",101.89,-1.97,-9.25
13,13,13,MariaDB,"Relational, Multi-model",93.21,-0.6,-3.66
14,14,14,Splunk,Search engine,86.45,-2.26,-0.19
15,17,18,Databricks,Multi-model,78.61,2.28,14.66
16,15,16,Microsoft Azure SQL Database,"Relational, Multi-model",77.99,-0.41,-1.21
17,16,15,Amazon DynamoDB,Multi-model,74.07,-3.5,-7.04
18,18,17,Hive,Relational,61.17,-1.41,-12.44
19,19,20,Google BigQuery,Relational,60.38,-1.52,5.51
20,20,21,FileMaker,Relational,48.2,-1.53,-3.8
Based on the list, we have shortlisted the following databases for further evaluation:
- PostgreSQL
- MongoDB
- Elasticsearch
- Cassandra
- MariaDB
- Hive
- Clickhouse?
Evaluation of databases
For now we have chosen to use PostgreSQL as the database for the ace project. PostgreSQL is a powerful, open-source relational database that is highly scalable and flexible. It has a large community of users and developers, which means that there are many libraries and tools available to help us develop the project efficiently. The team also has experience working with PostgreSQL, which makes it a good choice for the project.