Affordable in what sense precisely? There are open source and free options everywhere. Or do you mean "affordable with a certain level of traffic?" as in a hosted solution?
Efficient in what sense precisely? All databases are efficient but not magically so. You'll need to read the documentation and learn about indexing and the specific write/read characteristics of your choice.
With where it seems are you currently, I don't actually think those things matter. I'd say ease of use - sqlite has everything beat hands down, but I also wouldn't actually suggest it for a production system if you're hoping to have a bit of traffic.
* Postgres is good
* Mariadb is good
* Mongodb is good
Personally I'd choose Postgres, but I see the advantages of Mongodb when you don't know exactly what you're schema will be. It makes it really easy, almost too easy. Now that's a double-edged sword. I've seen people create major problems for themselves by having variously data-shaped records in their db as they're figuring out their data models but I've seen the same exact thing in Postgres as well (bad schema design).
From observation over the years, one that has supports/can use a gui interface that a newbie can use to build things (postgress, sqlite, libreoffice) without need to have coding/db coding knowledge. Ideally, one that has support for what's being used to build the web app (aka .net, python, ruby, etc), forms/reports, etc.
IMHO, pre-built/ready made content relation management tool (crm) would seem to match what's been stated.
For just straight up dumping contacts in a table without considering data/security issues:
a) https://www.postgresql.org/about/news/announcing-sqlpage-build-dynamic-web-applications-in-sql-2672/
b) https://execsql.readthedocs.io/en/latest/
c) https://www.gnu.org/software/recutils/manual/html_node/index.html
tutorial : https://gist.github.com/gmolveau/6be062d9b9005cf985cda98dabdf0baa
https://www.youtube.com/watch?app=desktop&v=A1whwi-Gc0Y
Other people will suggest SQLite and Postgres, so I'll go for something less conventional...
If you are using GCP or AWS, take a look at Firestore and Dynamo. They are fully managed (no maintenance for you), reliable, fast, cheap, scalable, and easy to use. Despite being designed for heavy-duty usage, they work perfectly as a simple key-value store.
I use Firestore for all my personal projects, and I only pay a couple dollars per month.
I think the article may actually convey the opposite of what many assume it conveys, namely that if you use a document oriented database as a tabular join oriented relational database instead of using it with intuutive object centric denormalization, you're going to struggle
Affordable in what sense precisely? There are open source and free options everywhere. Or do you mean "affordable with a certain level of traffic?" as in a hosted solution?
Efficient in what sense precisely? All databases are efficient but not magically so. You'll need to read the documentation and learn about indexing and the specific write/read characteristics of your choice.
With where it seems are you currently, I don't actually think those things matter. I'd say ease of use - sqlite has everything beat hands down, but I also wouldn't actually suggest it for a production system if you're hoping to have a bit of traffic.
* Postgres is good
* Mariadb is good
* Mongodb is good
Personally I'd choose Postgres, but I see the advantages of Mongodb when you don't know exactly what you're schema will be. It makes it really easy, almost too easy. Now that's a double-edged sword. I've seen people create major problems for themselves by having variously data-shaped records in their db as they're figuring out their data models but I've seen the same exact thing in Postgres as well (bad schema design).
Whatever you choose, good luck though!
reply