[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposed Database Schema and comments



> I wish I could say if this looks good or bad or whatever, but I don't even
> have a foggy clue.  I don't even know what a "join" is, which probably
> speaks volumes about my ignorance regarding DB's.  :-)

Ok.  Well, a join just basically takes data from two different tables. 
It matches information from the two by comparing a value from one table
to a value from the other.  Not *too* hard, but occasionally tricky, and
not always fast.

> My dad is a DB guru (25+ years of experiance), but he doesn't know the
> differences between MySQL or PG.  I can probably get him to help on the
> design side and maybe the feature requirements with you if you want, but

Is he a Linux user who would sympathize with this project?  If so, that
would be cool.

> my suggestion is for you to sign up on a MySQL and PG mail list and see
> what people say.

I think I'll do that, or maybe just post to Usenet.

> One thing, I do know is that you shouldn't keep the "rating" of each entry
> stored if you're keeping the total rating and the number of ratings.  The
> "rating" is derived data, and therefore shouldn't be included.  (My
> dad has a poster of the "Laws of DB's" or whatever it's called hanging on
> the wall of his home-office.)  We should be able to do on the fly division
> using PHP or a CGI, and it reduces the quanity of writes.

Yeah, that's what I was planning.

> Two other things:
> 
> 1) Should the file systems be RAID5 for redunancy or will the performance
> hit be too large?  (Ie, we should mirror)

I don't think that's necessary.  Like I said, we have two computers
(SEUL and NaviSite).  Hopefully we can implement a way to mirror to two
different systems early on in the design process.  That would rock!

> 2) Can we setup the DB to be high-performance read, and have any writes be
> placed in a "holding" DB which would then be sync'd to the master each
> night?

Yeah.  Easily done.  Just keep all the updates in a text file log, then
run them at 4AM!