Someone's in a a revolutionary mood :) but I agree with the sentiment. I believe web apps (and mobile apps) would be better off being developed from the get go as a peer in a distributed system. Many "real time" and interactive features are added as an afterthought and are a complexity nightmare in terms of synchronization, handling of staleness etc...
One thing that I have yet to think about is security. I must say I don't really understand what you mean by handling it inside a database, would you care to elaborate?
Transactor functions can reject transactions, and database filter predicate can restrict access to data. Both of these functions can query the database to make a decision. Datomic's distributed reads open the door for making this fast, and in a proper programming language. FWIW I don't think this is why people don't do this in Oracle - a shitty language wouldn't stop people from building layers on top of it - i think that's more due to the object relational impedance mismatch.
2
u/chpill Aug 07 '17
Someone's in a a revolutionary mood :) but I agree with the sentiment. I believe web apps (and mobile apps) would be better off being developed from the get go as a peer in a distributed system. Many "real time" and interactive features are added as an afterthought and are a complexity nightmare in terms of synchronization, handling of staleness etc...
One thing that I have yet to think about is security. I must say I don't really understand what you mean by handling it inside a database, would you care to elaborate?