Having been an Oracle Apex developer I can't help but compare this to Apex. Does Omnigres have a UI editor?
Omnigres: Postgres as a Platform
71–77 of 77 posts
Re: Omnigres: Postgres as a Platform
#72Cool project! About a decade ago, I had a job that involved entering data into an Oracle-based equivalent of this. I wish I could remember what it was, called but perhaps it is better for such a monster to remain nothing more than a myth.
CouchDB also tries to do something similar (natively hosting webapps close to a DB good at replication between replicas). https://guide.couchdb.org/draft/standalone.html
Re: Omnigres: Postgres as a Platform
#73This is an interesting project, but I'd be unlikely to use it, for a couple of reasons: - In my experience the performance of the stateful DB server has been the biggest bottleneck when scaling - it's much easier to scale the stateless application servers which sit between end user requests and your DB in a traditional architecture. So usually I'm wanting to move as much work as possible away from the DB in order to…
These are good points, but I'd like to nuance some of them. Disclaimer: I work on an SQL web application builder [1] that shares a lot of the philosophy behind Omnigres. - about scaling: you have to get very far before saturating a single postgres server. A lot of applications certainly do get to that point, but most don't. And once you get there, scaling postgres is definitely more work than scaling a stateless serv…
Re: Omnigres: Postgres as a Platform
#74Couple of questions (with notes): Yes, I'd really like to write code next to the db with more suitable (for task) languages like Python. But at the moment SQL alone is supported..? Could one connect with Jupyter notebook somehow and have a REPL like experience with Omnigres instance? Also, this [1] seems intriguing. How do containers connect to the db? What would the performance differences to the "internal" approach…
You can use any language Postgres supports or will support to write your logic. We are adding first-class Python support right now. It's already possible to extrsct stored functions from decorated functions and their type hunts and we're working on providing standard Python APIs like DBAPI, WSGI support, etc. We have a branch on which we ran Flask applications inside Postgres. As it matures, it will be merged and doc…
Perhaps not same level as containers, but WASM runtime could be a powerful addition here. Or a container running said WASM code. I’m thinking more about untrusted client code for ad hoc data analysis and such.
One additional question: is Postgres foreign data wrappers going to be supported?
Re: Omnigres: Postgres as a Platform
#75Earlier quoted context omitted.
The language probably won't be perceived as "sexy" enough compared to, i.e., full-stack JavaScript. Most people don't really like SQL and aren't that good at it. Hence the continued popularity of ORMs that support the often-seen pattern of bulk-loading everything into the application server for processing instead of using a simple UPDATE statement.
We're actually first-classing a number of languages and ecosystem support precisely so that people can use their languages of choice and not just SQL or Pl/pgSQL.
Re: Omnigres: Postgres as a Platform
#76Earlier quoted context omitted.
We're actually first-classing a number of languages and ecosystem support precisely so that people can use their languages of choice and not just SQL or Pl/pgSQL.
Sievert could use help getting quickjs working away from PLv8
Re: Omnigres: Postgres as a Platform
#77Earlier quoted context omitted.
It's not currently spelled out in the readme, but our approach does lend for straightforward shipping of complete systems (data + code) to the edge because it's effectively just a replication of the database. We're working on further primitives that facilitate such an operational model. We believe that a practical edge [backend] requires the presence of data next to the code, which is precisely what Omnigres promotes…
Does this mean omnigres could be used offline on mobile devices? Similar to an sqlite instance?
We'll see what the future will bring, as the real edge of computing is in user's hands.
There's a keen interest to get there for Omnigres applications, but the shape of that is still somewhat vague.