pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Carlo Stonebanks <stonec.register@sympatico.ca>
To: pgsql-performance@postgresql.org
Subject: Re: Performace Optimization for Dummies
Date: Thu, 28 Sep 2006 16:15:03 -0400
Message-ID: <efhag4$1n9d$1@news.hub.org> (raw)
References: <efgu4v$276m$1@news.hub.org>
	<b42b73150609281017m7f8f9d86xfa32d38cec954af7@mail.gmail.com>
	<efh26m$2fd$1@news.hub.org>
	<20060928184538.GV34238@nasby.net>

The deduplication process requires so many programmed procedures that it 
runs on the client. Most of the de-dupe lookups are not "straight" lookups, 
but calculated ones emplying fuzzy logic. This is because we cannot dictate 
the format of our input data and must deduplicate with what we get.

This was one of the reasons why I went with PostgreSQL in the first place, 
because of the server-side programming options. However, I saw incredible 
performance hits when running processes on the server and I partially 
abandoned the idea (some custom-buiilt name-comparison functions still run 
on the server).

I am using Tcl on both the server and the client. I'm not a fan of Tcl, but 
it appears to be quite well implemented and feature-rich in PostgreSQL. I 
find PL/pgsql awkward - even compared to Tcl. (After all, I'm just a 
programmer...  we do tend to be a little limited.)

The import program actually runs on the server box as a db client and 
involves about 3000 lines of code (and it will certainly grow steadily as we 
add compatability with more import formats). Could a process involving that 
much logic run on the db server, and would there really be a benefit?

Carlo


""Jim C. Nasby"" <jim@nasby.net> wrote in message 
news:20060928184538.GV34238@nasby.net...
> On Thu, Sep 28, 2006 at 01:53:22PM -0400, Carlo Stonebanks wrote:
>> > are you using the 'copy' interface?
>>
>> Straightforward inserts - the import data has to transformed, normalised 
>> and
>> de-duped by the import program. I imagine the copy interface is for more
>> straightforward data importing. These are - buy necessity - single row
>> inserts.
>
> BTW, stuff like de-duping is something you really want the database -
> not an external program - to be doing. Think about loading the data into
> a temporary table and then working on it from there.
> -- 
> Jim Nasby                                            jim@nasby.net
> EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
> 





view thread (40+ messages)  latest in thread

Message-ID: <efhag4$1n9d$1@news.hub.org>
Permalink:  ../efhag4$1n9d$1@news.hub.org/
Also on:    postgresql.org/message-id/efhag4$1n9d$1@news.hub.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: stonec.register@sympatico.ca
  Subject: Re: Performace Optimization for Dummies
  In-Reply-To: <efhag4$1n9d$1@news.hub.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox