X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id B366EDAFA6 for ; Tue, 22 Nov 2005 09:22:22 -0400 (AST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 32754-08 for ; Tue, 22 Nov 2005 13:22:24 +0000 (GMT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from smtp-out1.blueyonder.co.uk (smtp-out1.blueyonder.co.uk [195.188.213.4]) by svr1.postgresql.org (Postfix) with ESMTP id 613B6DA84D for ; Tue, 22 Nov 2005 09:22:18 -0400 (AST) Received: from Eve ([82.43.185.102]) by smtp-out1.blueyonder.co.uk with Microsoft SMTPSVC(5.0.2195.6713); Tue, 22 Nov 2005 13:23:16 +0000 Reply-To: From: Andy Ballingall To: , Subject: Re: idea for a geographically distributed database: how best to implement? Date: Tue, 22 Nov 2005 13:22:35 -0000 Organization: Areyoulocal Ltd. MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-reply-to: <200511221102.49528.dave.bath@unix.net> Thread-Index: AcXu97kdE8RojhDTQ+Ogp1L9qy4H+AAZxaCQ X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Message-ID: X-OriginalArrivalTime: 22 Nov 2005 13:23:16.0194 (UTC) FILETIME=[E58ED420:01C5EF67] X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0 required=5 tests=[AWL=0.000] X-Spam-Score: 0 X-Spam-Level: X-Archive-Number: 200511/191 X-Sequence-Number: 23442 David Bath wrote: > There are a couple of philosophical perspectives I've come across in > previous > work with cadastral data that may be useful...[snipped] Thanks, David In this particular application, structures such as postcode sectors, administrative boundaries etc. are not really of much importance, as most stuff is a simple coordinate based searches. Even with the problem partitioned into disjoint regions, within each region, the search remains trivial, as all the data that the user is allowed to access will be stored with that region (this includes data replicated from neighbouring regions). In this context, the interesting task isn't so much the actual database searching, or the exact definition of the disjoint regions. The interesting task is to define a system which can dynamically remap the hosting of regions to specific servers, so that no one server gets too busy. As demand grows, I simply plug in more 4 blades and press the 'reconfigure' button (Sorry - I was dreaming for a moment...) The only limiters are the number of servers available and the activity within a single region (which must be servable by a single server), but given the highly localised nature of the application, the regions can be very small, and I don't expect to ever see a region with more than 1GB of data - the aim being for all the data to be resident in RAM. So far, I've already seen some issues. I've been looking at slony-1 to handle the replication between adjacent regions, and not only is it asynchronous (I was hoping otherwise...slony-2 seems a long way off), but changing the db schema has ramifications too. (I.e. changing the schema means redefining each replication). Still - no show stoppers yet. Thanks for your insights, Andy