Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0459E9A20 for ; Sat, 15 Oct 2011 03:59:20 +0000 (UTC) Received: (qmail 73914 invoked by uid 500); 15 Oct 2011 03:59:18 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 73878 invoked by uid 500); 15 Oct 2011 03:59:16 -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 73863 invoked by uid 99); 15 Oct 2011 03:59:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Oct 2011 03:59:15 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.212.52] (HELO mail-vw0-f52.google.com) (209.85.212.52) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Oct 2011 03:59:09 +0000 Received: by vws10 with SMTP id 10so2386076vws.11 for ; Fri, 14 Oct 2011 20:58:47 -0700 (PDT) Received: by 10.52.185.225 with SMTP id ff1mr10794151vdc.125.1318651127447; Fri, 14 Oct 2011 20:58:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.181.68 with HTTP; Fri, 14 Oct 2011 20:58:17 -0700 (PDT) In-Reply-To: <4E9902C3.80807@davidjfox.com> References: <4E9902C3.80807@davidjfox.com> From: Mark Hahn Date: Fri, 14 Oct 2011 20:58:17 -0700 Message-ID: Subject: Re: When to normalize data To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=bcaec548a3a708c08104af4e642a --bcaec548a3a708c08104af4e642a Content-Type: text/plain; charset=ISO-8859-1 > Are there any general guidelines determining when it makes sense to normalize? Not really. It depends on how big the docs are and how often your keys are updated. My personal approach is to code it whichever way is easiest and then hope it works well. It is rare that I have to go back and change it. If you abstract your code properly, and with some luck, it could be easy to change the schema even after it has been running a while. --bcaec548a3a708c08104af4e642a--