![]() More relevant questions are about performance and about conceptual fit for the problem. The expressive power of a database isn't at issue, because any database can store any dataset. ![]() For that matter we can re-shape everything we're discussing for a straight K/V store like Redis. > I'm yet to be convinced that a problem can't be reshaped and mapped on a traditional RDMS and yet remain performant.Īny problem can be re-shaped to any database formalism. It might work if the cardinality was somewhat capped, like say for example "Customer ordered Product" (a common denormalization).įor a real application, you're not going to have 1 of these. This would be not a good choice for nodes with many relationships to other things, say for example "Person friended Person". Either your denormalizing, and to connect A to many B's you have to duplicate A's data in the table, or you have the constraint that the A -> B link can only have a cardinality of 1. Suppose you denormalize the graph into a single table. > What's stopping you from having one table that contains A and what A points to? So you only have 2 tables? I don't foresee anyone migrating to one, but I do see a point where majority of new products use one. It's disruptive to a lot of orgs as well, since there is a lot of sunk cost in RDBMS experience, so I think the applications are all net new projects. ![]() The reason to do that is because your product is the result of maintaining consistency of an abstraction, like a DSL or a game, instead of just retrieving stored values, documents and their variations. I think of using a graph as analogous to specifying your problem in terms of a functional language instead of imperatively. Could an RDBMS do this? Yes, but not without a complex intermediate query layer. The reason I use a graph is for consistency from my product level business logic to my implementation.īasically, to solve my problem, I started with a set of english statements, which yielded a grammar, that I described as "objects and morphisms," (things and relationships) then implemented it in a graph - put a front end on it and built a product. I've been using Neo in production on GrapheneDB with py2neo and Flask for about a year. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |