You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by john pradeep <ye...@gmail.com> on 2014/11/07 18:33:17 UTC

understanding couchdb source

Hi,
I am trying to understand the couchdb source, It wasn't that difficult to
understand the structure of various applications, supervision trees, config
management etc.

I have comfortably moved on to understand the actual layer where
couch_server accesses the file system to manage the DB files.

But before i spend more time understanding the different DB files, shards,
and the data structure that gets flushed to these files. I was wondering if
there are any articles/blogs which explains these details so i can keep
that as a reference as i read the code. Any help in this regard will be
appreciated.


Thanks,
John

Re: understanding couchdb source

Posted by Paul Davis <pa...@gmail.com>.
There's an old article that talks about some of the internal data
structures by Ricky Ho:

http://horicky.blogspot.com/2008/10/couchdb-implementation.html

Not sure if that's what you had in mind or not.

On Fri, Nov 7, 2014 at 11:33 AM, john pradeep <ye...@gmail.com> wrote:
> Hi,
> I am trying to understand the couchdb source, It wasn't that difficult to
> understand the structure of various applications, supervision trees, config
> management etc.
>
> I have comfortably moved on to understand the actual layer where
> couch_server accesses the file system to manage the DB files.
>
> But before i spend more time understanding the different DB files, shards,
> and the data structure that gets flushed to these files. I was wondering if
> there are any articles/blogs which explains these details so i can keep
> that as a reference as i read the code. Any help in this regard will be
> appreciated.
>
>
> Thanks,
> John

Re: understanding couchdb source

Posted by chris snow <ch...@gmail.com>.
I found a little bit of info on this and documented it here:
https://cwiki.apache.org/confluence/display/COUCHDB/CouchDB+2.0+Components


On 25 November 2014 at 11:39, john pradeep <ye...@gmail.com> wrote:
> Hi Joan,
> I was creating a block diagram of various components and the supervision
> tree & also trying to do a small write up of my understanding. I am not
> very clear on why we have 2 implementations - chttpd & couch_httpd? Both of
> the implementations run on different ports and I tried creating a DB from
> couch_httpd's port and then noticed that the DB wont be available when
> tried to access through chttpd's port. What's the idea going forward with
> these 2 implementations?
>
>
> Thanks,
> John
>
>
> On Mon Nov 10 2014 at 17:04:01 Joan Touzet <wo...@apache.org> wrote:
>
>> Done.
>>
>> Keep in mind that chttpd is the clustered interface, and
>> that the intent is to support single-node servers through that
>> vs. the old couch_httpd layer.
>>
>> -Joan
>>
>> ----- Original Message -----
>> From: "john pradeep" <ye...@gmail.com>
>> To: dev@couchdb.apache.org, "Joan Touzet" <wo...@apache.org>
>> Sent: Monday, November 10, 2014 7:19:25 AM
>> Subject: Re: understanding couchdb source
>>
>> Hi Joan,
>> As i am going through the source, I can update the cwiki with the changes
>> that i notice. Please provide me the access to do the same, my user id is
>> *johnp* and my apache id is *johnp@apache.org <jo...@apache.org>*
>>
>>
>> Thanks,
>> John
>>
>>
>> On Sun, Nov 9, 2014 at 8:38 PM, Joan Touzet <wo...@apache.org> wrote:
>>
>> > This needs updating for 2.0 and chttpd. Any volunteers?
>> >
>> > ----- Original Message -----
>> > From: "john pradeep" <ye...@gmail.com>
>> > To: dev@couchdb.apache.org, andywenk@apache.org
>> > Sent: Sunday, November 9, 2014 8:40:43 AM
>> > Subject: Re: understanding couchdb source
>> >
>> > Thanks Andy, that was very helpful.
>> >
>> > On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:
>> >
>> > > Hi John,
>> > >
>> > > not specifically an answer to your question but maybe also helpful. Jan
>> > > wrote a very nice article about the lifecycle of a http request in
>> > CouchDB.
>> > >
>> > >
>> > https://cwiki.apache.org/confluence/display/COUCHDB/
>> HTTP+request+lifecycle
>> > >
>> > > It's a walk through to code and I think interesting also ;-)
>> > >
>> > > Cheers
>> > >
>> > > Andy
>> > >
>> > > On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
>> > > <javascript:;>> wrote:
>> > >
>> > > > Hi,
>> > > > I am trying to understand the couchdb source, It wasn't that
>> difficult
>> > to
>> > > > understand the structure of various applications, supervision trees,
>> > > config
>> > > > management etc.
>> > > >
>> > > > I have comfortably moved on to understand the actual layer where
>> > > > couch_server accesses the file system to manage the DB files.
>> > > >
>> > > > But before i spend more time understanding the different DB files,
>> > > shards,
>> > > > and the data structure that gets flushed to these files. I was
>> > wondering
>> > > if
>> > > > there are any articles/blogs which explains these details so i can
>> keep
>> > > > that as a reference as i read the code. Any help in this regard will
>> be
>> > > > appreciated.
>> > > >
>> > > >
>> > > > Thanks,
>> > > > John
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > Andy Wenk
>> > > Hamburg - Germany
>> > > RockIt!
>> > >
>> > > GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
>> > >
>> > >  https://people.apache.org/keys/committer/andywenk.asc
>> > >
>> >
>>

Re: understanding couchdb source

Posted by john pradeep <ye...@gmail.com>.
Hi Joan,
I was creating a block diagram of various components and the supervision
tree & also trying to do a small write up of my understanding. I am not
very clear on why we have 2 implementations - chttpd & couch_httpd? Both of
the implementations run on different ports and I tried creating a DB from
couch_httpd's port and then noticed that the DB wont be available when
tried to access through chttpd's port. What's the idea going forward with
these 2 implementations?


Thanks,
John


On Mon Nov 10 2014 at 17:04:01 Joan Touzet <wo...@apache.org> wrote:

> Done.
>
> Keep in mind that chttpd is the clustered interface, and
> that the intent is to support single-node servers through that
> vs. the old couch_httpd layer.
>
> -Joan
>
> ----- Original Message -----
> From: "john pradeep" <ye...@gmail.com>
> To: dev@couchdb.apache.org, "Joan Touzet" <wo...@apache.org>
> Sent: Monday, November 10, 2014 7:19:25 AM
> Subject: Re: understanding couchdb source
>
> Hi Joan,
> As i am going through the source, I can update the cwiki with the changes
> that i notice. Please provide me the access to do the same, my user id is
> *johnp* and my apache id is *johnp@apache.org <jo...@apache.org>*
>
>
> Thanks,
> John
>
>
> On Sun, Nov 9, 2014 at 8:38 PM, Joan Touzet <wo...@apache.org> wrote:
>
> > This needs updating for 2.0 and chttpd. Any volunteers?
> >
> > ----- Original Message -----
> > From: "john pradeep" <ye...@gmail.com>
> > To: dev@couchdb.apache.org, andywenk@apache.org
> > Sent: Sunday, November 9, 2014 8:40:43 AM
> > Subject: Re: understanding couchdb source
> >
> > Thanks Andy, that was very helpful.
> >
> > On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:
> >
> > > Hi John,
> > >
> > > not specifically an answer to your question but maybe also helpful. Jan
> > > wrote a very nice article about the lifecycle of a http request in
> > CouchDB.
> > >
> > >
> > https://cwiki.apache.org/confluence/display/COUCHDB/
> HTTP+request+lifecycle
> > >
> > > It's a walk through to code and I think interesting also ;-)
> > >
> > > Cheers
> > >
> > > Andy
> > >
> > > On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
> > > <javascript:;>> wrote:
> > >
> > > > Hi,
> > > > I am trying to understand the couchdb source, It wasn't that
> difficult
> > to
> > > > understand the structure of various applications, supervision trees,
> > > config
> > > > management etc.
> > > >
> > > > I have comfortably moved on to understand the actual layer where
> > > > couch_server accesses the file system to manage the DB files.
> > > >
> > > > But before i spend more time understanding the different DB files,
> > > shards,
> > > > and the data structure that gets flushed to these files. I was
> > wondering
> > > if
> > > > there are any articles/blogs which explains these details so i can
> keep
> > > > that as a reference as i read the code. Any help in this regard will
> be
> > > > appreciated.
> > > >
> > > >
> > > > Thanks,
> > > > John
> > > >
> > >
> > >
> > >
> > > --
> > > Andy Wenk
> > > Hamburg - Germany
> > > RockIt!
> > >
> > > GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
> > >
> > >  https://people.apache.org/keys/committer/andywenk.asc
> > >
> >
>

Re: understanding couchdb source

Posted by Joan Touzet <wo...@apache.org>.
Done.

Keep in mind that chttpd is the clustered interface, and
that the intent is to support single-node servers through that
vs. the old couch_httpd layer.

-Joan

----- Original Message -----
From: "john pradeep" <ye...@gmail.com>
To: dev@couchdb.apache.org, "Joan Touzet" <wo...@apache.org>
Sent: Monday, November 10, 2014 7:19:25 AM
Subject: Re: understanding couchdb source

Hi Joan,
As i am going through the source, I can update the cwiki with the changes
that i notice. Please provide me the access to do the same, my user id is
*johnp* and my apache id is *johnp@apache.org <jo...@apache.org>*


Thanks,
John


On Sun, Nov 9, 2014 at 8:38 PM, Joan Touzet <wo...@apache.org> wrote:

> This needs updating for 2.0 and chttpd. Any volunteers?
>
> ----- Original Message -----
> From: "john pradeep" <ye...@gmail.com>
> To: dev@couchdb.apache.org, andywenk@apache.org
> Sent: Sunday, November 9, 2014 8:40:43 AM
> Subject: Re: understanding couchdb source
>
> Thanks Andy, that was very helpful.
>
> On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:
>
> > Hi John,
> >
> > not specifically an answer to your question but maybe also helpful. Jan
> > wrote a very nice article about the lifecycle of a http request in
> CouchDB.
> >
> >
> https://cwiki.apache.org/confluence/display/COUCHDB/HTTP+request+lifecycle
> >
> > It's a walk through to code and I think interesting also ;-)
> >
> > Cheers
> >
> > Andy
> >
> > On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
> > <javascript:;>> wrote:
> >
> > > Hi,
> > > I am trying to understand the couchdb source, It wasn't that difficult
> to
> > > understand the structure of various applications, supervision trees,
> > config
> > > management etc.
> > >
> > > I have comfortably moved on to understand the actual layer where
> > > couch_server accesses the file system to manage the DB files.
> > >
> > > But before i spend more time understanding the different DB files,
> > shards,
> > > and the data structure that gets flushed to these files. I was
> wondering
> > if
> > > there are any articles/blogs which explains these details so i can keep
> > > that as a reference as i read the code. Any help in this regard will be
> > > appreciated.
> > >
> > >
> > > Thanks,
> > > John
> > >
> >
> >
> >
> > --
> > Andy Wenk
> > Hamburg - Germany
> > RockIt!
> >
> > GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
> >
> >  https://people.apache.org/keys/committer/andywenk.asc
> >
>

Re: understanding couchdb source

Posted by john pradeep <ye...@gmail.com>.
Hi Joan,
As i am going through the source, I can update the cwiki with the changes
that i notice. Please provide me the access to do the same, my user id is
*johnp* and my apache id is *johnp@apache.org <jo...@apache.org>*


Thanks,
John


On Sun, Nov 9, 2014 at 8:38 PM, Joan Touzet <wo...@apache.org> wrote:

> This needs updating for 2.0 and chttpd. Any volunteers?
>
> ----- Original Message -----
> From: "john pradeep" <ye...@gmail.com>
> To: dev@couchdb.apache.org, andywenk@apache.org
> Sent: Sunday, November 9, 2014 8:40:43 AM
> Subject: Re: understanding couchdb source
>
> Thanks Andy, that was very helpful.
>
> On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:
>
> > Hi John,
> >
> > not specifically an answer to your question but maybe also helpful. Jan
> > wrote a very nice article about the lifecycle of a http request in
> CouchDB.
> >
> >
> https://cwiki.apache.org/confluence/display/COUCHDB/HTTP+request+lifecycle
> >
> > It's a walk through to code and I think interesting also ;-)
> >
> > Cheers
> >
> > Andy
> >
> > On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
> > <javascript:;>> wrote:
> >
> > > Hi,
> > > I am trying to understand the couchdb source, It wasn't that difficult
> to
> > > understand the structure of various applications, supervision trees,
> > config
> > > management etc.
> > >
> > > I have comfortably moved on to understand the actual layer where
> > > couch_server accesses the file system to manage the DB files.
> > >
> > > But before i spend more time understanding the different DB files,
> > shards,
> > > and the data structure that gets flushed to these files. I was
> wondering
> > if
> > > there are any articles/blogs which explains these details so i can keep
> > > that as a reference as i read the code. Any help in this regard will be
> > > appreciated.
> > >
> > >
> > > Thanks,
> > > John
> > >
> >
> >
> >
> > --
> > Andy Wenk
> > Hamburg - Germany
> > RockIt!
> >
> > GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
> >
> >  https://people.apache.org/keys/committer/andywenk.asc
> >
>

Re: understanding couchdb source

Posted by Joan Touzet <wo...@apache.org>.
This needs updating for 2.0 and chttpd. Any volunteers?

----- Original Message -----
From: "john pradeep" <ye...@gmail.com>
To: dev@couchdb.apache.org, andywenk@apache.org
Sent: Sunday, November 9, 2014 8:40:43 AM
Subject: Re: understanding couchdb source

Thanks Andy, that was very helpful.

On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:

> Hi John,
>
> not specifically an answer to your question but maybe also helpful. Jan
> wrote a very nice article about the lifecycle of a http request in CouchDB.
>
> https://cwiki.apache.org/confluence/display/COUCHDB/HTTP+request+lifecycle
>
> It's a walk through to code and I think interesting also ;-)
>
> Cheers
>
> Andy
>
> On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
> <javascript:;>> wrote:
>
> > Hi,
> > I am trying to understand the couchdb source, It wasn't that difficult to
> > understand the structure of various applications, supervision trees,
> config
> > management etc.
> >
> > I have comfortably moved on to understand the actual layer where
> > couch_server accesses the file system to manage the DB files.
> >
> > But before i spend more time understanding the different DB files,
> shards,
> > and the data structure that gets flushed to these files. I was wondering
> if
> > there are any articles/blogs which explains these details so i can keep
> > that as a reference as i read the code. Any help in this regard will be
> > appreciated.
> >
> >
> > Thanks,
> > John
> >
>
>
>
> --
> Andy Wenk
> Hamburg - Germany
> RockIt!
>
> GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
>
>  https://people.apache.org/keys/committer/andywenk.asc
>

Re: understanding couchdb source

Posted by john pradeep <ye...@gmail.com>.
Thanks Andy, that was very helpful.

On Friday, November 7, 2014, Andy Wenk <an...@apache.org> wrote:

> Hi John,
>
> not specifically an answer to your question but maybe also helpful. Jan
> wrote a very nice article about the lifecycle of a http request in CouchDB.
>
> https://cwiki.apache.org/confluence/display/COUCHDB/HTTP+request+lifecycle
>
> It's a walk through to code and I think interesting also ;-)
>
> Cheers
>
> Andy
>
> On 7 November 2014 18:33, john pradeep <yehohanan7@gmail.com
> <javascript:;>> wrote:
>
> > Hi,
> > I am trying to understand the couchdb source, It wasn't that difficult to
> > understand the structure of various applications, supervision trees,
> config
> > management etc.
> >
> > I have comfortably moved on to understand the actual layer where
> > couch_server accesses the file system to manage the DB files.
> >
> > But before i spend more time understanding the different DB files,
> shards,
> > and the data structure that gets flushed to these files. I was wondering
> if
> > there are any articles/blogs which explains these details so i can keep
> > that as a reference as i read the code. Any help in this regard will be
> > appreciated.
> >
> >
> > Thanks,
> > John
> >
>
>
>
> --
> Andy Wenk
> Hamburg - Germany
> RockIt!
>
> GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588
>
>  https://people.apache.org/keys/committer/andywenk.asc
>

Re: understanding couchdb source

Posted by Andy Wenk <an...@apache.org>.
Hi John,

not specifically an answer to your question but maybe also helpful. Jan
wrote a very nice article about the lifecycle of a http request in CouchDB.

https://cwiki.apache.org/confluence/display/COUCHDB/HTTP+request+lifecycle

It's a walk through to code and I think interesting also ;-)

Cheers

Andy

On 7 November 2014 18:33, john pradeep <ye...@gmail.com> wrote:

> Hi,
> I am trying to understand the couchdb source, It wasn't that difficult to
> understand the structure of various applications, supervision trees, config
> management etc.
>
> I have comfortably moved on to understand the actual layer where
> couch_server accesses the file system to manage the DB files.
>
> But before i spend more time understanding the different DB files, shards,
> and the data structure that gets flushed to these files. I was wondering if
> there are any articles/blogs which explains these details so i can keep
> that as a reference as i read the code. Any help in this regard will be
> appreciated.
>
>
> Thanks,
> John
>



-- 
Andy Wenk
Hamburg - Germany
RockIt!

GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588

 https://people.apache.org/keys/committer/andywenk.asc