Both modules are in MonetDB5/src/modules/mal/{bpm.mx,crackers.mx} The former is under active development. It uses an internal structure with import/export to BATs as part of the session startup/exit. The latter is currently subject to reduction and cleanup to improve re-user and maintenance. It uses an AVL tree to keep a catalog of routing information in memory.
Thanks, Martin. We'll take a look at them.
Our new datatype is used to store links between objects in the database. It's a simple struct with (link_id, from_id, to_id), which we store in a hmm, this sounds like a triple store. If the number of link-ids is small enough (<100K), I would seriously consider horizontal fragmentation
central BAT. One common operation is, of course, finding the neighbors of a given object, and we would like to be able to do that efficiently, How volatile is your data? Otherwise, simply sort them on the oid and
Agustin Schapira wrote: based on it as a starting point. Then the automatic hash on the (from_id,to_id) bat gives you the answer quickly. the hash will bring you quickly to the desired plac.
without a full table scan every time. We can build internal data structures every time we do a select on the BAT, but it would be more efficient to have a persistent data structure that we can somehow re-use. This calls for re-use of the BATs as a storage scheme. It also aids in debugging your accelerators code.
We've read the old GIS paper, and our needs are pretty similar to those. Is that code still active, somewhere? Could we take a look at it? Is That code went to the attic many years ago. there any other place where yo do similar things, such as having BATs of a new datatype and searching/joining them efficiently?
Too many questions, I know ;-) Thanks!
-- Agustin