スタンドアロンのCouchAppとしてURL短縮機能を書きたいと思っていますが、可能かどうかは疑問です。明らかに、URL短縮名の要点は、短くユニークなキーを持つことです。CouchDBの短いキーとユニークなキー
私が望むのは、長いURLをCouchDBにPOSTして短縮URLを取得することです。私は更新ハンドラを使用することを考えましたが、キーがユニークであるかどうかを確認するためにDBをクエリする必要がありました。これは可能ではないようです。
CouchDBで短くユニークなキーを生成する方法はありますか?あるいはCouchDBの周りに薄いラッパーが必要ですか?
「生成、試行、再試行」戦略を実装することは外部プロセスで可能であることが分かりましたが、それほど大したものではありません。 http://wiki.apache.org/couchdb/ExternalProcesses –
安全に複製できるように、文書_idがノード間で一意であることも確認する必要があります。 1つの方法は、各ノードに固有の接頭辞を追加することです。ただし、n * 64ノードしかないので、無制限にスケーラブルではありませんが、nは各ノード接頭辞に許可する文字数です(64はあなたの_idsで使用できる安全な文字の数です)。また、数百万のURLがある場合は、あなたがユニークな短いIDを取得する前に、あなたのPUTを何度も再試行しなければならないかもしれません... – ActionOwl