Qual é o desempenho mais rápido? Criando uma API REST e fazendo com que seu aplicativo Web use a API REST para fazer todas as interações com o banco de dados OU consultando diretamente o banco de dados (por exemplo, usando qualquer objeto típico que sua linguagem utilize para consultar um banco de dados como o JDBC for Java)?
Do jeito que eu vejo isso com o REST:
- Você cria um objeto no seu código para chamar o método REST
- Chamar método http
- O código dentro da API REST consulta o banco de dados
- Banco de dados retorna alguns dados
- O código da API REST compacta os dados no Json e os envia ao seu cliente
- Cliente recebe resposta Json / XML
- Mapeie a resposta a um objeto no seu código
Por outro lado, consultando um banco de dados diretamente:
- Você cria um objeto com uma string de consulta para consultar o banco de dados
- Banco de dados retorna alguns dados
- Mapeie a resposta a um objeto no seu código
Portanto, isso não significa que o uso de uma API REST seria mais lento? Talvez isso dependa do tipo de banco de dados (SQL vs NoSQL)?