Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 59345200C28 for ; Mon, 13 Feb 2017 06:38:36 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 57EDF160B6E; Mon, 13 Feb 2017 05:38:36 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 84858160B6B for ; Mon, 13 Feb 2017 06:38:35 +0100 (CET) Received: (qmail 59643 invoked by uid 500); 13 Feb 2017 05:38:34 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 59619 invoked by uid 99); 13 Feb 2017 05:38:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Feb 2017 05:38:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id CB159C65E9 for ; Mon, 13 Feb 2017 05:38:32 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.379 X-Spam-Level: X-Spam-Status: No, score=0.379 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 4bQvozd1MtZv for ; Mon, 13 Feb 2017 05:38:31 +0000 (UTC) Received: from mail-ot0-f182.google.com (mail-ot0-f182.google.com [74.125.82.182]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 0F70A5FBB6 for ; Mon, 13 Feb 2017 05:38:31 +0000 (UTC) Received: by mail-ot0-f182.google.com with SMTP id 73so60765782otj.0 for ; Sun, 12 Feb 2017 21:38:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=a43LN9SFQyD99UwIagyIu5CkKrQLRXa6hx4Dyf8/0uY=; b=ZqsyVIGfxGDz2fRPlymHZR0phtNCahrD3L/DD+oU546OtwNoqbtNTE/dTc9FArZR68 xU9Jf0UpsJhJUJ5qTZHsyVDHm+BlHyiVm21u9c9snPco8vRuIhX3U8rSsLTKMofUFcO/ jQWcWBy2pl4vUnGJ569E8SwUA9ijH1LQD9HV2YehG7Ss7rHCPVEqNmTHHfTxCB2imJe1 JHP903WXRbhjYSk7uML66J/5OkYAfafJUS5qNAhFYD4w3RZXJJv/qzpI1Cb0/4NAaMJw QigxNiCSVyzedKx40qKNoZWE1xVGaPq9tgAz9gYXVbCEWj4zm/oti2wRlpfpp86SwT8m +c3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=a43LN9SFQyD99UwIagyIu5CkKrQLRXa6hx4Dyf8/0uY=; b=WIuGrBHLKyEcfPlU182ByrJivqEkcDmd0Yc29JKkuwllZi9DxrM2V62X9M1qTmO5I+ 9OF9yTiFHXPi8avSrPgM6Eq4mzUHotg+FyxqgQTBSi3Bc5hez+rAIbTtISuxKvoXv17Q C0uVYfIQvRXGKuZ6lzVziZg64qBZxrOOL+TRlHIQXpwARpcOMlmIY4l80jIFKCtw6lca 4bt0nXUwquoQu5MX2U/h9wEOrU8eIZ7B3c/41qfkgZtm4hJQZCsViaYWEgARra1PxQ4i cB8X80Z4b5u9STKErcc2d8HN2pdhopLvHLRHFlrPJTAcbq6Ex/69E9rH961gdF/T+qxo tiOw== X-Gm-Message-State: AMke39lHrTQwX/hI0u4/QySJqSeesDqZYqaHyc6o7ePbycLNxYjfl/z5AZYZh7X4d5jY3grvGTvWd3ELEpbQog== X-Received: by 10.157.2.39 with SMTP id 36mr10869502otb.150.1486964304071; Sun, 12 Feb 2017 21:38:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.70.41 with HTTP; Sun, 12 Feb 2017 21:38:23 -0800 (PST) In-Reply-To: <159C23EF-962F-41AD-BD02-B3BEDECA016A@apache.org> References: <159C23EF-962F-41AD-BD02-B3BEDECA016A@apache.org> From: Samuel Williams Date: Mon, 13 Feb 2017 18:38:23 +1300 Message-ID: Subject: Re: Relaxo Ruby gem no longer targets CouchDB To: user@couchdb.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable archived-at: Mon, 13 Feb 2017 05:38:36 -0000 Hi Adam, feel free to let me know what parts of the feedback were confusion and I'll attempt to clarify. Regarding the query server, I assume you mean that the query server was refactored on the Erlang side, but I was under the impression that the externally visible API is largely the same. I made some proposals here ages ago https://docs.google.com/document/d/1JtfvCpNB9pRQyLhS5KkkEdJ-g= hSCv89xnw5HDMTCsp8/edit?usp=3Dsharing and of course I was hoping for discussion but essentially nothing happened to improve the situation since I wrote that document 4 years ago. Some of the key points: - Still does map well to the global scope imposed by languages like Ruby, C++, etc. - `rereduce` provides function directly while map use ddoc. inconsistent and hard to compile AOT. - No support for parallel computation or compression. - Restricted to JSON which is a pretty major overhead for the query server from my profiles several years ago. Another big issue is the loss of the _bulk_save all or nothing API, which I used for transnational updates. Without that API, existing code that worked with 1.0 was broken. The sharding made it a pain to set up and migrate existing 1.0 data stores, yes probably my fault but it broke at least one production site while I figured it out. Web interface is still pretty limited, some regressions in functionality in Fauxton, general lack of direction to improve things. The idea of CouchDB being an application server largely ignored, left to stagnate (e.g. lists). It's my humble opinion that for CouchDB 2.0, for the common use case that it appears to be addressing, Cassandra would be a better option. But, look, what do I know. This is my opinion and take it with two cents of salt :) I'm not trying to provoke an argument. I may be misinformed, wrong, etc, it wouldn't be the first time. Kind regards, Samuel On 13 February 2017 at 17:28, Adam Kocoloski wrote: > Hi Samuel, thanks for sending this note. I have to admit that I find some= of the feedback confusing =E2=80=94 a new query server was one of the head= line features of 2.0 =E2=80=94 but that=E2=80=99s neither here nor there. I= t=E2=80=99s good of you to provide a clear statement about the future of th= e Relaxo projects. Cheers, > > Adam > >> On Feb 11, 2017, at 5:48 PM, Samuel Williams wrote: >> >> My bad, the gem actually "Relaxo::QueryServer" :) But I'm sure no one ca= res. >> >> On 12 February 2017 at 11:46, Samuel Williams >> wrote: >>> Hi Guys, >>> >>> It's with a heavy (and slightly frustrated) heart that I've decided to >>> stop investing time and effort into CouchDB. The 2.0 release moves >>> further away from the core principals of CouchDB that made it >>> attractive to me. In addition, a lot of issues in the core design of >>> CouchDB (e.g. better query server & schema) seem to be ignored for >>> years and so I've given up hope that there would be improvements. >>> >>> I'm not trying to be negative too much, the 2.0 release looks really >>> great in a lot of ways - it's simply not what I'm after for my >>> personal projects. >>> >>> The main point of this email is regarding the gems I maintained and pub= lished. >>> >>> For several years, I maintained an unpopular set of Ruby gems: >>> "Relaxo", "Relaxo::Model" and "Relaxo::Query::Server". They are not >>> used much but they were pretty decent client libraries. I'm >>> refactoring the first two gems (never had a 1.0 release) as a Git >>> based transactional database. So, from the next release (probably >>> 0.6.0), they will have breaking API changes and no longer work with >>> CouchDB. The third one - Relaxo::Query::Server, may be modified to be >>> a git-based map-reduce server, so eventually that will be unavailable >>> too. >>> >>> I'm just wanted to let anyone know, officially, what's happening with >>> these gems as I feel it would be unfortunate for someone to be >>> depending on them and not know what's happening or why. If you are >>> stuck using these gems, know that they are now unmaintained in their >>> current form, but you can pin to version "~> 0.4.0" and things would >>> keep working. In addition, I've updated the confluence wiki to point >>> to the best other option I know of (Couchrest) and removed links to >>> these gems. When I update these gems, later today, they should not be >>> published on the CouchDB news feed as they are no longer relevant. >>> >>> Thanks so much everyone. >>> >>> Kind regards, >>> Samuel >