|
|
Subject: Re: What is CouchDB? (was: Re: [user] CouchDB and clustering) - msg#00476
List: couchdb-user
On 27 Feb 2009, at 11:08, Wout Mertens wrote:
Resending with a different subject because I think this is the best
summary of CouchDB I've seen so far. +1 Internets to David.
I'd only object on the read-mostly. Write-mostly works pretty well, too.
But yeah, maybe we should steal some of that for couchdb.apache.org.
Cheers
Jan
--
Wout.
On Feb 26, 2009, at 6:48 PM, David Van Couvering wrote:
The reason I ask is, it appears the advantages of CouchDB *right
now* is
about a highly robust, flexible and high throughput read-mostly data
store. The other advantage is that the API is easy, approachable,
and
web-ready, unlike many stores out there. I love the pre-compiled
views that
allow you to have highly efficient slice-and-dice views into your
documents. I also think it's an excellent base for a peer-to-peer
replicated data store, allowing people to collaborate over the
Internet
without requiring a centralized server (although I am concerned
about how
easy it is for a Mere Mortal to install a CouchDB-based app on their
computer).
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
Re: Segmentation fault on PUT
On 27 Feb 2009, at 10:59, Tim Somers wrote:
Hi Jan,
Of course, I should have known you'd need all the details...
I'm using debian squeeze (testing) with all updates. Just today,
erlang was
updated to version "1:12.b.5-dfsg-2", I'm not sure which version was
installed when the error occured.
For couchdb, I'm using the trunk version from svn, the latest
revision is
747852.
As for HIPE, I'm not even sure what it does. I'm using all default
configuration values as checked out from svn, only the port has been
changed
to 5985, to avoid conflicts with version 0.8.1 installed from debian.
Finally, py-simplecouchdb is version 0.9.25.
Are you using a database that was created with 0.8.1 into the SVN
version?
That's not going to work.
Cheers
Jan
--
Thanks
Tim
On Fri, Feb 27, 2009 at 10:41 AM, Jan Lehnardt <jan@xxxxxxxxxx> wrote:
Hi Tim,
thanks for the report. What is your operating system? Which Erlang
version are you using. Is HIPE enabled? What svn revision of CouchDB
do you have?
Cheers
Jan
--
On 27 Feb 2009, at 09:36, Tim Somers wrote:
Hi all,
I've been using couchdb in combination with py-simplecouchdb since a
couple
of weeks now on a small dataset (only 51 docs) with lots of updates.
Yesterday I checked out the latest update from svn, and left my
application
running all night. This morning, the couchdb process had closed.
After restarting it, everything seems to be running fine for read
access,
but on an update of any document, I get this error:
[debug] [<0.64.0>] 'PUT' /heasys/alert_3505_nomessages {1,1}
Headers: [{'Accept',"application/json, text/javascript, */*"},
{'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
{'Accept-Encoding',"gzip,deflate"},
{'Accept-Language',"en-us,en;q=0.5"},
{'Connection',"keep-alive"},
{'Content-Length',"239"},
{'Content-Type',"application/json; charset=UTF-8"},
{'Host',"localhost:5985"},
{'Keep-Alive',"300"},
{'Referer',"
http://localhost:5985/_utils/document.html?heasys/alert_3505_nomessages
"},
{'User-Agent',"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:
1.9.0.6)
Gecko/2009020409 Iceweasel/3.0.6 (Debian-3.0.6-1)"},
{"X-Requested-With","XMLHttpRequest"}]
Segmentation fault
No difference in the error except for the headers whether I test
it with
my
application or the futon interface.
Any ideas, anyone?
Thanks
Tim Somers
Next Message by Date:
click to view message preview
Re: Segmentation fault on PUT
No, I'm regularly restarting from scratch while I'm still debugging the
business logic in my application. The db was completely empty when I
started.
Thanks
Tim
On Fri, Feb 27, 2009 at 11:16 AM, Jan Lehnardt <jan@xxxxxxxxxx> wrote:
>
> On 27 Feb 2009, at 10:59, Tim Somers wrote:
>
> Hi Jan,
>>
>> Of course, I should have known you'd need all the details...
>>
>> I'm using debian squeeze (testing) with all updates. Just today, erlang
>> was
>> updated to version "1:12.b.5-dfsg-2", I'm not sure which version was
>> installed when the error occured.
>> For couchdb, I'm using the trunk version from svn, the latest revision is
>> 747852.
>> As for HIPE, I'm not even sure what it does. I'm using all default
>> configuration values as checked out from svn, only the port has been
>> changed
>> to 5985, to avoid conflicts with version 0.8.1 installed from debian.
>> Finally, py-simplecouchdb is version 0.9.25.
>>
>
> Are you using a database that was created with 0.8.1 into the SVN version?
> That's not going to work.
>
> Cheers
> Jan
> --
>
>
>
>> Thanks
>> Tim
>>
>>
>> On Fri, Feb 27, 2009 at 10:41 AM, Jan Lehnardt <jan@xxxxxxxxxx> wrote:
>>
>> Hi Tim,
>>>
>>> thanks for the report. What is your operating system? Which Erlang
>>> version are you using. Is HIPE enabled? What svn revision of CouchDB
>>> do you have?
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>>
>>> On 27 Feb 2009, at 09:36, Tim Somers wrote:
>>>
>>> Hi all,
>>>
>>>>
>>>> I've been using couchdb in combination with py-simplecouchdb since a
>>>> couple
>>>> of weeks now on a small dataset (only 51 docs) with lots of updates.
>>>> Yesterday I checked out the latest update from svn, and left my
>>>> application
>>>> running all night. This morning, the couchdb process had closed.
>>>> After restarting it, everything seems to be running fine for read
>>>> access,
>>>> but on an update of any document, I get this error:
>>>> [debug] [<0.64.0>] 'PUT' /heasys/alert_3505_nomessages {1,1}
>>>> Headers: [{'Accept',"application/json, text/javascript, */*"},
>>>> {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
>>>> {'Accept-Encoding',"gzip,deflate"},
>>>> {'Accept-Language',"en-us,en;q=0.5"},
>>>> {'Connection',"keep-alive"},
>>>> {'Content-Length',"239"},
>>>> {'Content-Type',"application/json; charset=UTF-8"},
>>>> {'Host',"localhost:5985"},
>>>> {'Keep-Alive',"300"},
>>>> {'Referer',"
>>>> http://localhost:5985/_utils/document.html?heasys/alert_3505_nomessages
>>>> "},
>>>> {'User-Agent',"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6)
>>>> Gecko/2009020409 Iceweasel/3.0.6 (Debian-3.0.6-1)"},
>>>> {"X-Requested-With","XMLHttpRequest"}]
>>>> Segmentation fault
>>>> No difference in the error except for the headers whether I test it with
>>>> my
>>>> application or the futon interface.
>>>>
>>>> Any ideas, anyone?
>>>>
>>>> Thanks
>>>> Tim Somers
>>>>
>>>>
>>>
>>>
>
Previous Message by Thread:
click to view message preview
What is CouchDB? (was: Re: [user] CouchDB and clustering)
Resending with a different subject because I think this is the best
summary of CouchDB I've seen so far. +1 Internets to David.
Wout.
On Feb 26, 2009, at 6:48 PM, David Van Couvering wrote:
The reason I ask is, it appears the advantages of CouchDB *right
now* is
about a highly robust, flexible and high throughput read-mostly data
store. The other advantage is that the API is easy, approachable,
and
web-ready, unlike many stores out there. I love the pre-compiled
views that
allow you to have highly efficient slice-and-dice views into your
documents. I also think it's an excellent base for a peer-to-peer
replicated data store, allowing people to collaborate over the
Internet
without requiring a centralized server (although I am concerned
about how
easy it is for a Mere Mortal to install a CouchDB-based app on their
computer).
Next Message by Thread:
click to view message preview
Why sequential document ids? [was: Re: What's the speed(performance) of couchdb?]
On Thu, Feb 26, 2009 at 8:30 AM, Chris Anderson <jchris@xxxxxxxxxx> wrote:
> On Thu, Feb 26, 2009 at 2:04 AM, Jan Lehnardt <jan@xxxxxxxxxx> wrote:
>> Hi Scott,
>>
>> thanks for your feedback. As a general note, you can't expect any magic
>> from CouchDB. It is bound by the same constraint all other programmes
>> are. To get the most out of CouchDB or SqlServer or MySQL, you need
>> to understand how it works.
>>
>>
>> On 26 Feb 2009, at 05:30, Scott Zhang wrote:
>>
>>> Hi. Thanks for replying.
>>> But what a database is for if it is slow? Every database has the feature
>>> to
>>> make cluster to improve speed and capacity (Don't metion "access" things).
>>
>> The point of CouchDB is allowing high numbers of concurrent requests. This
>> gives you more throughput for a single machine but not necessarily faster
>> single query execution speed.
>>
>>
>>> I was expecting couchDB is as fast as SqlServer or mysql. At least I know,
>>> mnesia is much faster than SqlServer. But mnesia always throw harmless
>>> "overload" message.
>>
>> CouchDB is not nearly as old as either of them. Did you really expect a
>> software in alpha stages to be faster than fine-tuned systems that have
>> been used in production for a decade or longer?
>>
>>
>>> I will try bulk insert now. But be fair, I was inserting into sqlserver
>>> one insert one time.
>>
>> Insert speed can be speed up in numerous ways:
>>
>> - Use sequential descending document ids on insert.
>
> or ascending...
As an asside, why is it that sequential document ids would produce a
significant performance boost? I suspect the answer is something
rather fundamental to CouchDB's design, and I'd like to try to grok
it.
Thanks,
Barry
>
>> - Use bulk insert.
>
> with ascending keys and bulk insert of 1000 docs at a time I was able
> to write 3k docs per second. here is the benchmark script:
> http://friendpaste.com/5g0kOEPonxdXMKibNRzetJ
>
>
>> - Bypass the HTTP API and insert native Erlang terms and skip JSON
>> conversion.
>
> doing this I was able to get 6k docs / sec
>
> In a separate test using attachments of 250k and an Erlang API (no
> HTTP) I was able to write to my disk at 80% of the speed it can accept
> when streaming raw bytes to disk. (Rougly 20 MB/sec)
>
>>
>> The question is what you need you system to look like eventually. If this is
>> an initial data-import and after that you get mostly read requests, the
>> longer
>> insertion time will amortize over time.
>>
>> What version is the Windows binary you are using? If it is still 0.8, you
>> should
>> try trunk (which most likely means switching to some UNIXy system).
>>
>> Cheers
>> Jan
>> --
>>
>>
>>
>>
>>
>>>
>>> Regards.
>>>
>>>
>>>
>>>
>>> On Thu, Feb 26, 2009 at 12:18 PM, Jens Alfke <jens@xxxxxxxxxxxxx> wrote:
>>>
>>>>
>>>> On Feb 25, 2009, at 8:02 PM, Scott Zhang wrote:
>>>>
>>>> But the performance is as bad as I can image, After several minutes run,
>>>> I
>>>>>
>>>>> only inserted into 120K records. I saw the speed is ~20 records each
>>>>> second.
>>>>>
>>>>
>>>> Use the bulk-insert API to improve speed. The way you're doing it, every
>>>> record being added is a separate transaction, which requires a separate
>>>> HTTP
>>>> request and flushing the file.
>>>>
>>>> (I'm a CouchDB newbie, but I don't think the point of CouchDB is speed.
>>>> What's exciting about it is the flexibility and the ability to build
>>>> distributed systems. If you're looking for a traditional database with
>>>> speed, have you tried MySQL?)
>>>>
>>>> —Jens
>>
>>
>
>
>
> --
> Chris Anderson
> http://jchris.mfdz.com
>
|
|