Re: my $.02 - ignore at will

Hunter Matthews <[email protected]>
Newsgroups gmane.network.up2date.current.devel
Message-ID <1014936917.19635.79.camel@jade>
On Thu, 2002-02-28 at 16:35, Brian K. Jones wrote:
> Hi,
> 
> I just wanted to say that I like the idea of Current moving to what 
> they call 'Plan F' - moving to a sql database backend.  I think this 
> lends greatly to the future scalability of the project, and also 
> makes development, testing, maintenance and extensibility much easier 
> for those of us more comfortable with a sql interface than having to 
> write/alter code just to see what's going on.  

On the ftp site, ftp.biology.duke.edu/pub/admin/current/patches is the
file current-0.9.5-sql-1.patch.gz

This is the latest iteration of toby's sql patch. This weekend I hope to
take that patch, incorporate a couple of ideas from Todd Neimanich's sql
design, and post a first 1.1 early next week.

Which might actually come out before 1.0, if the users don't report that
0.99.0 is a good candidate.


> I'm very interested in this aspect of the project (design thru 
> implementation), but am at a bit of a loss right now as to where to 
> start.  It's not quite as easy as throwing up a database and start 

I'd read through Toby's patch and Todd's design. We'll be starting from
Toby's code, but I like a couple of things from Todd's schema. 

[Todd's last design is in the patches directory as
current_schema_rev2.sql ]

Little of the sql will change for 1.1.0, but Toby pointed out several
deficiencies with how I had Current engineered for storing data. Once
thats fixed, we'll start whacking sql hard and fast.

The only thing I know of sql wise that will definately change is the
relationship between parent/child channels. I have two algorithms that
should make dealing with them much easier. We may have to float both to
see which one works better.

> writing sql.  In fact, I haven't developed in Python enough to even 
> know if it has a database abstraction layer, or database dependent 
> sql calls for each database supported.  I'll go read my books again 
> tonight :)

Toby's code so far uses the postgresql-python package from redhat-7.2 as
its starting point. I plan to start from there as well. (As soon as I
get my laptop upgraded, that is).

There's some documentation in there, but I myself am slaving away over
the New Rider's postgres book.

Again, I'm not saying that Current will be postgres only for all time,
just that the first working database version will.

> If anyone who has been messing with this can give me s'more insight 
> or understanding about how to get information about these Berkeley 
> DB's (which I know very little about), I can probably at least come 
> up with some sort of design spec to work from to try to seamlessly 
> replace it with one of the many sql databases.  

Don't. Start with Toby's patch. 

The only future development with shelves _MIGHT_ be to keep the
capability of having an anonymous-only server, that doesn't require you
to install an sql database at all. I think that would be cool, but it'll
get dropped pretty quick if it gets to be too much work.

In any case, John and I can deal with the shelves. 

> As for Apache/mod_python/mod_ssl(?), someone more hardcore than me 
> will have to tackle that.  I administer this stuff as part of my job, 
> but I don't develop the stuff.  (most of my development, admittedly, 
> is in PHP, with whatever database you want).

The cool part is Current won't have to know anything about either apache
or mod_ssl - that'll just operate as a standard web server.

mod_python requires some adjustment, but I or somebody can pick that up.


-- 
Hunter Matthews                          Unix / Network Administrator
Office: BioScience 145/244               Duke Univ. Biology Department
Key: F0F88438 / FFB5 34C0 B350 99A4 BB02  9779 A5DB 8B09 F0F8 8438
Never take candy from strangers. Especially on the internet.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.