Re: [GENERAL] medical image on postgreSQL? - Mailing list pgsql-hackers

From Sean Chittenden
Subject Re: [GENERAL] medical image on postgreSQL?
Date
Msg-id 20030411211617.GP79923@perrin.int.nxad.com
Whole thread Raw
In response to Re: [GENERAL] medical image on postgreSQL?  ("scott.marlowe" <scott.marlowe@ihs.com>)
Responses Re: [GENERAL] medical image on postgreSQL?  (Greg Stark <gsstark@mit.edu>)
List pgsql-hackers
> > > Apologize.. this posting may not relevance enough to this group.
> > > I am very much a newbie to posgreSQL database programming and
> > > would like assistance. I am finding an example how to use the
> > > database (postgreSQL) to store MRI/CT image data using C
> > > language interface. I heard something pronounced like:
> > > Content-Based Image Retrieval.. but I still do not have any idea
> > > for a HowTo do on postgreSQL database.
> > 
> > This is the 3rd such case that I've heard someone using PostgreSQL
> > to store MRI images.  While it's non-portable (works on
> > FreeBSD/Linux), sendfile() and recvfile() would be huge wins for
> > folks in that crowd (or anyone storing/fetching large files).
> > There'd be some large #ifdef sections (~100 lines?) in the
> > backend, possibly in the fe ('nother ~100 lines), but would
> > patches for this be accepted into the tree if I did the legwork
> > given sendfile()'s non-universal portability (which seems to be,
> > IMHO, an overly important criteria)?  -sc
> 
> I'm not familiar with sendfile() recfile().  Are they in contrib
> somewhere?

:) They're system calls, like write() && read() except they're zero
copy socket operations.  If the OS has sendfile(), the OS basically
DMA's the data from the disk read directly to the network card
averting copying the data to the userland and back to the kernel.  I
actually think it'd be interesting to get this in use for general
reads.  sendfile() lets you send headers/trailers to the data being
sent, similar to writev().  Other zero copy socket operations are
mmap() + write(), but last I heard, that was a FreeBSD only
thing... for now.  man 2 sendfile

err... there is no recvfile though... I thought there was an fd based
call similar to recvfrom called recvfile... I wonder where I saw
that... hrm, I think I may add that to -CURRENT for orthogonality's
sake. -sc

-- 
Sean Chittenden



pgsql-hackers by date:

Previous
From: "scott.marlowe"
Date:
Subject: Re: [GENERAL] medical image on postgreSQL?
Next
From: Kevin Brown
Date:
Subject: Re: Anyone working on better transaction locking?