Re: storing large graphs in postgres

From: "Timothy H(dot) Keitt" <tklistaddr(at)keittlab(dot)bio(dot)sunysb(dot)edu>
To: "Taher H(dot) Haveliwala" <taherh24(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: storing large graphs in postgres
Date: 2001-09-06 14:22:16
Message-ID: 3B978698.408@keittlab.bio.sunysb.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

You could try one row per node, and a series of integer columns that
store adjacency at the bit-level. (A function for extracting individual
bits would help here.) Actually, I would probably go with the edge-list
layout in the end; storage is cheap. BTW, isn't INT8 a tad small for
20GB of data?

T.

Taher H. Haveliwala wrote:

>I need to store very large graphs structures in
>postgres. The graphs are close to 20GB when in
>flatfile format. I first tried using an adjacency
>list representation, i.e.,
>
> graph (source INT8 PRIMARY KEY, dest INT8[]);
>
>but operating on the array type seems a bit
>inflexible. I took a look at the contrib/array stuff
>as suggested in a previous post, but it seems like
>that only allows for boolean predicates on the array.
>I.e., I would like to be able to say 'return all nodes
>within distance two from x' using purely sql. Of
>course I could use an edge-list format:
>
> graph (source INT8, dest INT8);
>
>but this takes up almost double the space (which is
>painful, given that the original input is close to
>20GB).
>
>Any way to get richer queries on array types, or some
>other efficient way to store large graphs?
>
>I suppose some python glue, making multiple db calls,
>would do the trick, but it would be nicer if postgres
>could take care of it all.
>
>Thanks
>Taher
>
>__________________________________________________
>Do You Yahoo!?
>Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger
>http://im.yahoo.com
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: Have you checked our extensive FAQ?
>
>http://www.postgresql.org/users-lounge/docs/faq.html
>

--
Timothy H. Keitt
Department of Ecology and Evolution
State University of New York at Stony Brook
Stony Brook, New York 11794 USA
Phone: 631-632-1101, FAX: 631-632-7626
http://life.bio.sunysb.edu/ee/keitt/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message zammon@libero.it 2001-09-06 14:23:23 Re: createdb buggy?
Previous Message wsheldah 2001-09-06 14:12:51 Re: createdb buggy?