yes you can use Smart contracts to store data, but they are not an alternative to classic DBs.
Keep in mind that EVERY time you update the state of a contract (i.e. storing data inside that contract) you are going to pay Gas because the Ethereum protocol works in that way. In that case storing many records as a DB does is very very costly and may not worth it.
I do this thinking when I want to write something on a PUBLIC Blockchain:
- Is this data sensitive? Because data on PUBLIC Blockchain is indeed public;
- Does this data need the features of Persistency and Immutability that the Blockchain protocol offers?
If the data I need don't require these property then a Blockchain is not worth it.
Then think about: Why do I need a PRIVATE Blockchain? Why isn't a private DB ok? What does a PRIVATE blockchain offer more? Because if in your private Blockchain there are only 1-2 miners then it cannot hold the properties of Immutability and Persistency because the network is too small.
Finally, here a Javascript framework to interact with Ethereum: Truffle. https://truffleframework.com/
It has a lot of tools to compile/migrate/test contracts. The framework is Javascript and thus you can add javascript utilities for your REST service. There are plenty of tutorials concerning Truffle.
Hope it helps