1

I'm looking for simple but performant databases, e.g. PostgreSQL is performant but complex and full of feature, while lowdb is simple but not very performant.

So either a single list of DBs with good performance : simplicity ratio, or two lists, one with performant DBs ordered by simplicity, and one with simple DBs ordered by performance, or just a single DB recommendation.

4
  • SQLite is the obvious choice if you don't have heavy write concurrency.
    – Xiiryo
    Commented Sep 21, 2020 at 6:39
  • Otherwise property graph database are very simple by structure but can be slow. One exception is RedisGraph that is pretty lightweight and fast thanks to a new algorithme based on sparce adjacency matrixes.
    – Xiiryo
    Commented Sep 21, 2020 at 6:42
  • The most simple option nowadays is FireStore with a serverless architecture. It is a NoSQL document oriented database that is part of the firebase ecosystem at Google. It is proprietary locked in technology tough. Mongo DB is the nearest option available in the open source world. There again, you also have RedisJSON if you want something incredibly fast.
    – Xiiryo
    Commented Sep 21, 2020 at 6:45
  • But the most simple to use is by far JuliaDB. It is meant for data sciences more than websites so you shall review it according to your needs. It support parallel processes and is meant to treat extremely high amount of data very fast. The syntax is even simpler than Python's Panda or Excel. It makes it extremely intuitive to use. You need to code in Julia that is one of the most simple to write language available (easier than Python) and is one of the few languages alongside to C/C++ and Fortran that reached Pentaflop speed on supercalculators. You can then use Genie.jl to handle the API.
    – Xiiryo
    Commented Sep 21, 2020 at 6:54

1 Answer 1

2

I am happy with SQLite.

It is simple:

  • it stores the data in a file. There's no complex server configuration needed.
  • it has no user management
  • limited number of data types
  • typically you only need to provide 1 or 2 DLLs that you put into the same directory as your application.
  • It has support in various languages. My main usage is in C# where I use a Nuget package.

It's fast:

  • with WAL enabled, it can beat Postgres. See the light green column in the graphics below.

Benchmark results:

Y-axis is ns/operation. Lower is better.

Benchmark results

Source: 2018 benchmark of databases

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.