I wonder if there's a design decision documented somewhere that makes the existing graph databases like Neo4j, etc. not good enough for Youtrack's use case.
Didn't Neo4J pivot away from being a boring embedded DB which you point at a path and then traverse through Node objects, and decide to become some kind of paid platform with a client-server protocol and proprietary query DSL?
I remembered it from a uni course (early 10s?) a few years ago for a use-case we didn't end up pursuing, but I wasn't hugely comfortable with investing effort into what I saw.
Neo4j is a great DB but their license price is egregious for enterprise customers. A few years ago I was involved in negotiating a contract for a small/medium size kubernetes deployment (think around 25 cores) and the annual price was more than the salary of a senior SWE full-time equivalent. See this page for an idea of their prices in 2018: https://blog.igovsol.com/2018/01/10/Neo4j-Commercial-Prices....
> small/medium size kubernetes deployment (think around 25 cores
That's ~1 machine. 1 SWE for a database isn't egregious, databases provide huge value, but for that little performance, that's crazy.
I can only assume as core count has blown up over the last 10 years, the pricing has somewhat diminished, but still, I'd be expecting a heck of a lot more capacity for 1 SWE.
Also embedding Neo4j is not possible, that seems to be the killer feature for YouTrackDB, they even shade dependencies so it’s like a no deps Java library for your application.
It's a fork of OrientDB, isn't it?
I wonder if there's a design decision documented somewhere that makes the existing graph databases like Neo4j, etc. not good enough for Youtrack's use case.
Didn't Neo4J pivot away from being a boring embedded DB which you point at a path and then traverse through Node objects, and decide to become some kind of paid platform with a client-server protocol and proprietary query DSL?
I remembered it from a uni course (early 10s?) a few years ago for a use-case we didn't end up pursuing, but I wasn't hugely comfortable with investing effort into what I saw.
Neo4j is a great DB but their license price is egregious for enterprise customers. A few years ago I was involved in negotiating a contract for a small/medium size kubernetes deployment (think around 25 cores) and the annual price was more than the salary of a senior SWE full-time equivalent. See this page for an idea of their prices in 2018: https://blog.igovsol.com/2018/01/10/Neo4j-Commercial-Prices....
> small/medium size kubernetes deployment (think around 25 cores
That's ~1 machine. 1 SWE for a database isn't egregious, databases provide huge value, but for that little performance, that's crazy.
I can only assume as core count has blown up over the last 10 years, the pricing has somewhat diminished, but still, I'd be expecting a heck of a lot more capacity for 1 SWE.
Also embedding Neo4j is not possible, that seems to be the killer feature for YouTrackDB, they even shade dependencies so it’s like a no deps Java library for your application.
That's a good question indeed. Also I wonder why they picked java as the implementation language.
Likely because they are a Java shop. All the IDEs they develop use Java, so they have quite an expertise in low level optimization for this language.
They also have C# expertise, but yes, Java is probably the language they have the most expertise in.
Isnt youtrackdb a odd name, if its intended as a general use db? Why link it that much to a specific known product?
Do they have a doc that says what scale this can operate at?
[delayed]