There is a goal to do a "live search" on some database of audio recordings. Everything is written in the nodeJS + nginx combination. The project has just started to do, has not yet decided on the choice of database (SQL, nosql, memory).

The database can contain several (tens, hundreds) thousands of records. Each entry can have fields: "name, autor, genre, style", etc. And some other parameters - popularity, popularity among friends, popularity according to interests. At the moment, I am at a deadlock with the choice of a database, where to actually store data about records and the main thing is how to do a super-fast search on them. The condition that the base should not be built into the project will be located on a separate server.

Tell me your thoughts on this, please?

  • I, as a person with an incurable disease called nosql of the brain, would use mongodb, by the way, he would keep the files in it. ##### mongoDB gridFS - Zowie
  • @AlexWindHope to store files in the database? Yes, you are definitely sick. People on the contrary try to cache, reduce access time. And you advise you to push them into the database, increasing the access time and the overall load on the system. For files, there is already a database - this is the file system. - lampa
  • @AlexWindHope gridFS clumsy solution, performance drops. But scalability should be organized by normal means, not crutches. - lampa
  • @lampa - for example? - Zowie
  • @AlexWindHope for example, I was on a jailbrother, they have a zookeeper in my mind - lampa

1 answer 1

For a real project, choose what you know best. To play you can choose something new.

But considering "Each record can have fields:" name, autor, genre, style ", etc. And some other parameters - popularity, popularity among friends, popularity by interests.", You should choose something from SQL.

In principle, and mysql fit .. you can and pgSQL