Why don't we take an API-driven approach for our databases as well?
computerweekly.com
computerweekly.com
We, as developers, love APIs because it means we can concentrate on business logic and hand over other services to others. For example, if the app needs payment processing support, why build my own when I can integrate Stripe through its API?
We need to bring the same API-driven approach to databases as well. But it is not just a matter of putting an API layer in front of every database we have. We need to consolidate the everyday database operations such as CRUD, Search and Event Streaming down to a single API layer. This can only be achieved through a cohesively built platform.
You're selling a technical product which many people don't understand the need for, leaving the details out puts you in a place where you make vague and unsupported statements, the real answer to that is going to be refining your messages over and over until they get good.
Developing back end systems that provide an API over a relational, object or graph db has been a big part of what I do for the last decade. I don't think the coding is particularly difficult but there is a lot of it. I count 135 tables on the system I am working on today and there are more views, foreign tables, and other objects in that database. If there is a special challenge it's that an API like that always has some cross cutting concerns such as authentication, authorization, logging, data integrity and such.
Because it is such a big job it would be rational to say a 20% improvement in development time would be impactful (save two months a year) but it's a tough sell because of the cost and risk of transitioning the system and/or trying something new.
On one level I'm enthusiastic about low/no code products that are ontology driven but most of us have the experience that, someday, a system like that will answer you "you can't get to there from here". So that's more work for you to overcome.
Examples and specific details are important. A business-driven example would be good to see, so would be a more technical example where your product vastly simplifies the code. I'd love to see testimonials by engineers or managers about the troubles they have with the status quo and how your product helps. (There is always the horror story of the API that was implemented w/o proper access controls.)
That's what we are looking to achieve with Tigris.
But when you are building an application you would not be writing raw SQL queries, instead, you would be using some kind of a mapping layer (ORM) that can help map the constructs you use during application development to SQL queries. Furthermore, if we look beyond simple CRUD operations and look at other data-related functionality that you might need in your application - search, pub/sub data to an event stream, SQL would most likely not be the interface that you choose because it would be cumbersome.
That's the point I am trying to make, that we need to look at the database technologies from an application developer's perspective and provide APIs that work well in their workflow, something that naturally fits within their code. SQL isn't that API.
It was a notorious failure because of problems with performance and security.