I've been using Gremlin for crud ops in my apps. I recommend these two resources on Gremlin:
But yes, hosting solutions are terrible at supporting graph databases. Some do have a thin Graph DB layer (often using Gremlin as QL) over a Mongo-like database, but it's not the same thing.
It only makes sense if you're absolutely sure you'll never need to extend or change the interaction between front-end and back-end.
Think just about schema migrations on the database. If you change your schema, you have to change your front-end. Maybe that's okay for the time, but that can get out of hand pretty quickly.
On the other hand, with a service layer, you could completely decouple that dependency on the front-end, by providing the front-end an interface (the service layer / API). The migrations on the database layer don't affect the front-end whatsoever, because the front-end communicates with the interface. You can change the underlying implementation without changing the front-end's interaction with the interface.
http://best-practice-software-engineering.ifs.tuwien.ac.at/p...
With views you can maintain backwards compatibility despite migrations happening. No need to change your front-end.
Check this section of the PostgREST docs for more details:
http://postgrest.org/en/v7.0.0/schema_structure.html#schema-...
I like learning by doing something so I took an old side project and I'm making it on PostgreSQL with PostgREST in front of it. It is crazy all the things that the DB can do! Triggers after an actions happens, virtual columns, JWT Tokens, Unit Testing...
Or do similar using Hasura's Event system but with webhooks.
Learn by watching short videos and practicing: Mastery with SQL (paid course, $49) - https://www.masterywithsql.com/
It completely changed how I use SQL. Before reading it, I had about a decade of experience with SQL. I didn't really understand the theory underneath. I also didn't understand how to write SQL in a way that adheres to the theory.
You can think of this book as being the closest we have to "SQL: The Good Parts".
Consider getting a used Jeep in stock form, and get the shop manual. Methodically go through all of the maintenance items. Then start some easy mods, like a block heater. Good life skills.
However the more I work remotely the more I find that not to be the case.
- why is it such a bad tool, and if it is because of the tool and not the concept, it seems possible it will be fixed in the future
- why is it a bad habit; I consider the boilerplate CRUD code I write to be a bad habit that I should've automated years ago, and that's exactly what PostgREST does
- why can't you learn the basics of API services and databases with PostgREST
tl;dr: business logic can be done with views/sps on an isolated schema. More layers makes the overall OLTP system less performant and harder to scale.
I've been digging into postgreSQL and in quite a few applications it's possible to greatly reduce the complexity of the backend by receiving exactly the data you need from the DB. It is so much so that in cases you can even "get rid" of the backend completely (yes, no writing controllers and endpoint, etc.) by using a tool like postgREST (postgres to REST) or Hasura (postgres to graphQL)
Best of luck on your search!