Acest site web folosește cookie-uri esențiale. Cu acordul dumneavoastră, plasăm cookie-uri Google Analytics pentru statistici.
Se încarcă
Căutare
https://maxdemarzi.com
Max De Marzi | Graphs, Graphs, and nothing but the GraphsGraphs, Graphs, and nothing but the GraphsMax De Marzi | Graphs, Graphs, and nothing but the Graphs Max De Marzi Graphs, Graphs, and nothing but the Graphs HomeAbout Contact Services Videos Apr 10 2023 1 Comment Rage Improving Performance with Flame Graphs Yes, I’m slowly but surely getting on the generative AI bandwagon. The eye catching image above was generated in Lexica, it’s not perfect but our mind tricks us into accepting it. I am not a fan of asking these new AI systems questions and getting answers that only look like correct answers… but we’re not talking about that today. Instead we’ll be looking at improving the performance of RageDB using “perf” and “FlameGraphs“. Which really should have been called “FlameCharts” since it’s a chart not a graph but let’s not go there either. Continue reading → Tagged graph, graph database, graph databases, nosql, technology Apr 04 2023 Leave a comment Cypher, Rage Counting Triangles Our last post was about a Triangle Count query. It referenced another blog post from Kuzu where they explained their use of a Multi Way Join Algorithm to count 41 million triangles in 1.62 seconds. Using only binary joins it would take them 51.17 seconds to achieve the same result. My attempts to run the query using Lua on Rage landed at 9.5 seconds one node at a time and 5.6 seconds using the batch queries. So that got me thinking, how about Neo4j? Continue reading → Tagged graph, graph database, graph databases, nosql, technology, triangles Feb 27 2023 Leave a comment Rage, RelationalAI All of NoSQL is because of this… In this blog post, KuzuDB creator Semih Salihoğlu makes the case that graph databases need new join algorithms. If you’ve read the blog post and came away still a bit confused then look at the image above. This image shows what happens when you try to join 3 tables. The problem is that traditionally databases have used binary joins (two tables at a time) to execute queries. The intermediate result build up of these joins can get massive and eat a ton of memory and processing power. The more binary joins you have, the worse it gets. Continue reading → Tagged graph database, graph databases, nosql, software, technology Jan 11 2023 4 Comments Cypher, Testing Bullshit Graph Database Performance Benchmarks Hey HackerNews, let me just drop my mixtape, checkout my soundcloud and “Death Row” is the label that pays me. How is the Graph Database category supposed to grow when vendors keep spouting off complete bullshit? I wrote a bit about the ridiculous benchmark Memgraph published last month hoping they would do the right thing and make an attempt at a real analysis. Instead these clowns put it on a banner on top of their home page. So let’s tear into it. At first I considered replicating it using their own repository, but it’s about 2000 lines of Python and I don’t know Python. Worse still, the work is under a “Business Source License” which states: Continue reading → Tagged graph, graph database, graph databases, memgraph, neo4j, nosql, software, technology Jan 09 2023 3 Comments Cypher, Rage, RelationalAI Death Star Queries in Graph Databases In Cypher, we call any unbounded star query a “Death Star” query. You’ll recognize it if you see a star between two brackets in any part of the query: -[*]- the deadly pattern of a death star query The “star” in Cypher means “keep going”, and when it is not bound by a path length -[*..3]- or relationship type(s) -[:KNOWS|FRIENDS*]- it tends to blow up Alderaaning servers. It’s hard to find a valid reason for this query, but its less deadly cousins are very important in graph workloads. For example when looking at fraud, we may start with a Customer node and ask, which known Fraudulent nodes are within 4 hops away? A Customer HAS an Account that was ACCESSED by a Device that ACCESSED another Account that BELONGS_TO a known Fraudster. A Customer HAS a mailing Address that is very SIMILAR to an Address that BELONGS_TO a Business that is partially OWNED by a known Fraudster. These are just two out of many valid patterns in our graph. Graph databases were designed to handle these kind of queries. The trick is that every node KNOWS its relationships, every node KNOWS how it is connected. Continue reading → Tagged duckdb, graph, graph database, graph databases, neo4j, nosql, software, technology Dec 06 2022 1 Comment Rage KHop Baby One More Time Some of the most beloved songs by main stream artists were written by Max Martin. The song “Baby One More Time” came out in 1999 and sold over 10m copies. It propelled Britney Spears into pop stardom. If we were to look at the graph above, with Max Martin in the center, then one hop away are the songs he wrote which would become #1s on the Billboards Hot 100. Two hops away are the Artists that performed those #1 songs. It is beyond question that Max Martin knows how to write good pop songs. I wish I had his talent. I only know how to write half way decent KHop implementations. Continue reading → Tagged graph, graph database, graph databases, nosql, software Dec 01 2022 Leave a comment Rage Dark Mode I tend to only find time to work on RageDB at night. Staring at code in CLion using the “Darcula” theme works great. But like a vampire exposed to direct sunlight, things go horribly wrong when I try to test what I am working on using the RageDB front-end. You see, besides the code-editor, the rest of the interface is very bright. Blindingly so: Continue reading → Tagged graph, graph database, graph databases, nosql, technology Sep 05 2022 3 Comments Rage, Random Observations of the LDBC SNB Benchmark I’m still trying to figure out the right look for the language folks will use to talk to RageDB. Instead of waiting until I have it figured out, I decided I should write all the queries for the LDBC SNB Benchmark to prepare for a full run in the next few months. Now that we added “stored procedures” to RageDB, the benchmark code is trivial. I send a post request to the Lua url with the name of the query plus any parameters it may need which are in a CSV file. Here is Short Query 4 for example and they all look like this besides the different parameters: Continue reading → Tagged graph, graph database, graph databases, ldbc, nosql, software, technology Aug 30 2022 Leave a comment Rage, RelationalAI Watch your Language I was watching The Marvelous Mrs. Maisel and one of the more jarring issues of the first two episodes is that Midge keeps getting arrested for the things she says. It reminded me of the song “Me So Horny” from 2 Live Crew that landed the hip hop group in jail charged with obscenity. Record store owners were getting arrested for selling CDs to undercover cops. How insane does that all sound? But it strikes the point that language matters. The things we say and how we say them are powerful. They convey meaning and emotion, language can be pleasant or it can be foul. Continue reading → Tagged graph database, graph, nosql, software, technology, graph databases, lua Jun 20 2022 Leave a comment RelationalAI Query Optimizers are made of sand I’ve written a ton of SQL and Cypher queries over the last 20 years…and I’ve rewritten those queries as stored procedures more times than I can count. The issues with the expressivity of the query language and the ability of the query optimizer to “do the right thing” have been around longer than my career. I’ve written about this problem before. I went so far as to completely give up. In RageDB I let the developer write the query in a programming language directly. Skipping the “middle man” and letting the user be the query optimizer. Because in the end… this is what always happens. Well almost always. Continue reading → Tagged graph database, nosql, RelationalAI, relationship graph, technology ← Older posts Search for: Recent Posts Improving Performance with Flame Graphs Counting Triangles All of NoSQL is because of this… Bullshit Graph Database Performance Benchmarks Death Star Queries in Graph Databases Archives April 2023 February 2023 January 2023 December 2022 September 2022 August 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 November 2021 October 2021 September 2021 August 2021 July 2021 September 2020 August 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 October 2019 September 2019 August 2019 July 2019 May 2019 April 2019 March 2019 February 2019 January 2019 November 2018 October 2018 September 2018 August 2018 July 2018 May 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 August 2017 July 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 February 2016 November 2015 October 2015 September 2015 August 2015 July 2015 April 2015 March 2015 February 2015 September 2014 July 2014 June 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 Categories Cypher Data Science database Deployment Gremlin Heroku Java Neography Problems Rage Random RelationalAI Spatial Testing Visualization Blogroll Ska-La Disaster Area Romiko Derbynew's Blog Bio4j Blog Marko A. Rodriguez Top Posts & PagesVisualizing a Network with Cypher and D3.jsModeling Airline Flights in Neo4jUsing Three.js with Neo4jBuilding a Dating site with Neo4j - Part ThreeLet's build something OutrageousFollow me on TwitterTweets by maxdemarzi Neo4j VideosNeo4j Live: NODES AI Agenda with Aura AgentsBuilding Context Graphs for AI Agents, Will Lyon, Neo4jMastering Neo4j Within The Microsoft AI EcosystemContext Graph and Process Knowledge, Jessica Talisman, Contextually LLCThe Context Graph Panel with Will Lyon, Jessica Talisman, Dave Bennett, Yann Bilien and Emil EifremNeo4j Workshop: Crea una aplicación basada en Grafos desde cero.Discover Neo4j AuraDB - S02E10Going Meta S03E07 – a Series on Semantics, Knowledge Graphs and All Things AIRoad to NODES AI: End-to-End Neo4j Developer Workspace with MCPContext graphs as the control plane for the agentic enterprise, Dave Bennett, Indykite Blog at WordPress.com. Subscribe Subscribed Max De Marzi Join 277 other subscribers Sign me up Already have a WordPress.com account? Log in now. Privacy Max De Marzi Subscribe Subscribed Sign up Log in Report this content View site in Reader Manage subscriptions Collapse this bar Loading Comments... Write a Comment... Email (Required) Name (Required) Websiteenen1775160721https://maxdemarzi.com