Showing entries 11 to 18
« 10 Newer Entries
Displaying posts with tag: graph (reset)
OQGRAPH update: speed, maze example, 5.0 packages

Antony has done a bit of magic, considerably speeding up inserts. Since the base implementation does not have persistence, insert speed is particularly important. Copying the 2×89,051 edges for the Tree-of-Life example is now near-instant.

The delete bug has been fixed.

There’s a new Maze example in the OQGRAPH trunk on Launchpad, first introduced in my MySQL University session. I created/inserted a maze of 1 million rooms (that comes to about 3 million edges), and OQGRAPH found the shortest path (122330 steps for this particular maze) in abound one second. That’s pretty good, I think!

Last but not least, the …

[Read more]
OQGRAPH engine on MySQL University – 5 Nov 2009 10:00 UTC

Only a few weeks after Walter’s session on Multi-Master Replication with MMM and thanks to the great gang at MySQL Docs (my colleagues from long ago!) I’ll be doing a MySQL University session in a few days, about the GRAPH computation engine. From talks/demos I’ve done about it so far, I’ve learnt that people love it but there are lots of interesting questions. After all, it’s a pretty new and in a way exotic thing.

MySQL University uses DimDim, an online presentation service. You’ll see slides, and hear my voice. You can also type questions in a live chat room. We actually even got desktop sharing working so a live demo is possible, we’ll see how that goes on the day (I’ll make sure to have static slides for the same also

For session details and the exact link to DimDim, see the …

[Read more]
MySQL University: GRAPH computation engine for MySQL

This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.

From the abstract: Most of us have had to deal with hierarchies (trees) and graphs (such as friend-of-a-friend style problems), and have thus learn that this is -at best- a bit of a monster to do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed) is a MySQL storage engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, tree structures and friend-of-a-friend style searches can now be done using standard SQL syntax, and results joined onto other tables. http://openquery.com/graph

For MySQL University sessions, point your …

[Read more]
MySQL University: GRAPH computation engine for MySQL

This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.

From the abstract: Most of us have had to deal with hierarchies (trees) and graphs (such as friend-of-a-friend style problems), and have thus learn that this is -at best- a bit of a monster to do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed) is a MySQL storage engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, tree structures and friend-of-a-friend style searches can now be done using standard SQL syntax, and results joined onto other tables. http://openquery.com/graph

For MySQL University sessions, point your …

[Read more]
MySQL University: GRAPH computation engine for MySQL

This Thursday (November 5th, 10:00 UTC - note the different time for this session!), Arjen Lentz of Open Query will present the brand new GRAPH computation engine for MySQL.

From the abstract: Most of us have had to deal with hierarchies (trees) and graphs (such as friend-of-a-friend style problems), and have thus learn that this is -at best- a bit of a monster to do in an SQL/RDBMS. Until now. The GRAPH engine (GPLv2 licensed) is a MySQL storage engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, tree structures and friend-of-a-friend style searches can now be done using standard SQL syntax, and results joined onto other tables. http://openquery.com/graph

For MySQL University sessions, point your …

[Read more]
OQGRAPH on Launchpad, graph examples

The MySQL 5.0 and MySQL/MariaDB 5.1 source code is now also available through Launchpad. If you were waiting for a version for 5.1 and are ok with building the plugin from source, now you can!

The repo contains a subdir for examples, we’re hoping many people will contribute little snippets and scripts to import and use interesting datasets. To give you a hint, with graph capabilities you are able to deal with RDF data sources. You just need to transform the XML to say CSV, import into a suitable structure, and copy the edge information across to an OQGRAPH table.

Roland Bouman’s tree-of-life (which uses xslt stylesheets) are a good example of that approach, and was the first entry in the examples tree, including an SQL dump of the base dataset (it was CC-NC licensed) so you don’t …

[Read more]
Walking the Tree of Life in simple SQL

Antony and I are busy getting the Open Query GRAPH Engine code ready so you all can play with it, but we needed to test with a larger dataset to make sure all was fundamentally well with the system.

We have some intersting suitable dataset sources, but the first we tried in ernest because it was easy to get in (thanks to Roland Bouman for both the idea and providing xslt stylesheets to transform the set), was the Tree of Life which is a hierarchy of 89052 entries showing how biological species on earth are related to eachother.

GRAPH engine operates in a directed fashion, so I inserted the connections both ways resulting in 178102 entries. So, I inserted A->B as well as B->A for each connection. So we now have a real graph, not just a simple tree.

Just like with my previous post, we have a separate …

[Read more]
GRAPH engine – Mk.II

The GRAPH engine allows you to deal with hierarchies and graphs in a purely relational way. So, we can find all children of an item, path from an item to a root node, shortest path between two items, and so on, each with a simple basic query structure using standard SQL grammar.

The engine is implemented as a MySQL/MariaDB 5.1 plugin (we’re working on a 5.0 backport for some clients) and thus runs with an unmodified server.

Demo time! I’ll simplify/strip a little bit here for space reasons, but what’s here is plain cut/paste from a running server, no edits

-- insert a few entries with connections (and multiple paths)
insert into foo (origid, destid) values (1,2), (2,3), (2,4), (4,5), (3,6), (5,6);
-- a regular table to join on to
insert into people values (1,"pearce"),(2,"hunnicut"),(3,"potter"), …
[Read more]
Showing entries 11 to 18
« 10 Newer Entries