News for hackers. Stuff that matters.
Re:Why use GraphQL, good and bad reasons by dustingetz on Friday August 24, 2018 @09:21AM (#17834754)
The backend scaling/complexity problems originate in the database, its kind of cute the way they put it: "Making the graph-oriented way of getting data fit over an SQL database can be tricky." Tricky vastly understates this: we are talking about ORM, the "vietnam of computer science"

Clojure ecosystem has an immutable database, Datomic, which is designed for functional programming and fully solves the impedance mismatch. Datomic "Pull queries" is essentially GraphQL – and even predates GraphQL by a year!

Unlike GraphQL, Datomic is also a real database, competitive with SQL and can express relational filters and joins. Datomic is designed for the read-heavy data modeling loads that, today, SQL (and mongo, etc) is used for in anger. https://www.datomic.com/

Re:Why use GraphQL, good and bad reasons by headcanon on Friday August 24, 2018 @11:04AM (#17835355)
I love clojure and appreciate what Datomic brings to the table, but it seems like you need the whole package (clojure backend) in order for the benefits to pay off. GraphQL is a much less risky proposal for most companies, since it can be implemented more iteratively, and is storage-layer agnostic.
Re:Why use GraphQL, good and bad reasons by dustingetz on Friday August 24, 2018 @11:22AM (#17835476)
Just different risks. Adopting GraphQL without also adopting Facebook's exotic graph datastore is the unknown-unknown sort of risk that eventually leads to intractable problems as demonstrated by Hibernate and a long history of ORM related failures, and it isn't even on the radar of 90% of GraphQL adopters, if HN comment activity is any indicator.
Re:Why use GraphQL, good and bad reasons by headcanon on Sunday August 26, 2018 @01:31PM (#17846841)
could you elaborate on that? we aren't using an ORM and are able to successfully batch queries to improve performance. Couple that with an understanding that the developer should not use overly-nested queries and its been working out fairly well so far, although we're not dealing with a massive user load yet.
Re:Why use GraphQL, good and bad reasons by SmirkingRevenge on Friday August 24, 2018 @09:49AM (#17834906)
Before clicking through, I never knew that datomic has dependancies on AWS specific services. That's a serious downside, for many cases.
Re:Why use GraphQL, good and bad reasons by bhurlow on Friday August 24, 2018 @09:59AM (#17834962)
Datomic "on premise" version is not dependent on any AWS services and can be run on any box using vanilla java
Re:Why use GraphQL, good and bad reasons by dsp1234 on Friday August 24, 2018 @10:00AM (#17834966)
There appears to be an on premesis version, which doesn't use AWS services.

https://www.datomic.com/on-prem.html

Re:Why use GraphQL, good and bad reasons by Scarbutt on Friday August 24, 2018 @03:39PM (#17837341)
That threw me away, worse is that the cloud version and on-premise are different products and not compatible. Is not something like RDS where you can just move your postgres setup to your own server or some other cloud service.

As it just happened to you, you can see they are putting some effort in hiding on-premise from their front page. All their effor seems to be going to the cloud version.

Re:Why use GraphQL, good and bad reasons by bpicolo on Friday August 24, 2018 @09:59AM (#17834964)
You can use a variety of different backends as the data store.
Re:Why use GraphQL, good and bad reasons by amsheehan on Friday August 24, 2018 @11:22AM (#17835471)
Naming things is the Vietnam of computer science. I wrote a haiku for it:

A quagmire of bad decisions made in haste, haunting us— years later.