Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 836DC94C1 for ; Mon, 12 Dec 2011 17:02:24 +0000 (UTC) Received: (qmail 64825 invoked by uid 500); 12 Dec 2011 17:02:23 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 64790 invoked by uid 500); 12 Dec 2011 17:02:23 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 64782 invoked by uid 99); 12 Dec 2011 17:02:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Dec 2011 17:02:23 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of paul.joseph.davis@gmail.com designates 209.85.220.180 as permitted sender) Received: from [209.85.220.180] (HELO mail-vx0-f180.google.com) (209.85.220.180) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Dec 2011 17:02:15 +0000 Received: by vcbfo14 with SMTP id fo14so5306683vcb.11 for ; Mon, 12 Dec 2011 09:01:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=g+OycKr+gzhTA2TcLtsi+KDNWrcy+1Bay2we2PD9vZY=; b=iVt+dVXeGCoq9aipJjTQ7GMo6VA/I8e+qrxxFG8aOpPD86wIFe3oZcS9ehsWnrkD32 I//bT37AByVGMmTyMb7yMz9KkTVye2xxybNFIA0e2+bpEz/Xa3YLKXDlW0/r2kVjhiSc 2/fnXJL8KaClPLoZEW0VdDQTuElCPet4Ut8YI= Received: by 10.220.150.11 with SMTP id w11mr2092231vcv.136.1323709314468; Mon, 12 Dec 2011 09:01:54 -0800 (PST) MIME-Version: 1.0 Received: by 10.220.190.202 with HTTP; Mon, 12 Dec 2011 09:01:13 -0800 (PST) In-Reply-To: References: From: Paul Davis Date: Mon, 12 Dec 2011 11:01:13 -0600 Message-ID: Subject: Re: Unique instance IDs? To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 On Mon, Dec 12, 2011 at 1:09 AM, Jason Smith wrote: > On Mon, Dec 12, 2011 at 5:16 AM, Paul Davis wrote: >>> A couch URL is its unique identifier. A database URL is its unique >>> identifier. This sounds like a too-clever-by-half optimization. IMHO. >>> >>> -- >>> Iris Couch >> >> To this I ask simply: What's the URL of my phone? Tying a URL to a >> database is like identifying a person by their address. A UUID per >> created database is much more fine grained, but has operations issues >> with file handling and what not. > > Hi, Paul. A database is not a person. It is a resource, with a > universal location. > > Databases can be replicated, or copied, or restored from backup. (Same > for .ini files.) > > One .couch file can be served from different URLs; and one URL might > serve different .couch files over time. The current replicator > understands this and if anything seems fishy, it double-checks. (For > example, the instance_start_time helps to detect wholesale replacement > of .couch files.) > > The web assumes that mostly, but not always, a stable URL represents a > stable resource. So does the replicator. Getting away from that seems > difficult. > > -- > Iris Couch I think you've contradicted yourself. If a URL is the universal name for a database, then how are we able to server different databases from the same URL? Tying a database to a URL is merely an artificial limitation because we haven't thought of anything better. If we *did* think of a way to uniquely identify databases that didn't break due to ops requirements then that would be a much better fit to the CouchDB model. It is difficult but that's because we haven't yet thought of a good way to deal with what happens OOB when ops teams change server configurations.