Soru CouchDB gerçek bir dünya örneği


Bu gece benim günlük teknik Googling içinde, ben herhangi bir RDBM, ondan daha fazla 100 kez daha iyi performans gösteren SQL sunumları, tablolar, birincil anahtarlar ve çok daha fazlasını nasıl yapacağı konusunda sunumlar gördükten sonra couchDB'ye rastladım. Kendimi denemeye karar verdim. Tek sorun, nasıl çalıştığını anlayamıyorum.

Bir başlangıç ​​için olduğu gibi couchDB'yi kullanarak bir web iletişim yöneticisini kodlamak istiyorum. Proje kullanıcı gibi temel şeyler yapmak

  • Kişileri oluştur / düzenle / sil
  • sipariş edilen kişilerin listesini görmek
  • onları çeşitli kriterlerde arayın

Peki nasıl başlarım?

İşte bazı düşüncelerim

  • Temmuz, Ann gibi kullanıcı başına bir veritabanı oluştur
  • Bu DB'de, tip iletişim ile bazı belge eklemek, ilk etapta bu gibi görünecektir belge kod 1
  • create / edit / delete basitçe sadece iyi veritabanında PUT, POST, DELETE yapmalısınız
  • arama ddnolen önerilen gibi couchdb-lucene tarafından ele alınacak

şimdi zor kısmı geliyor, tüm haritayı anlamıyorum / kavramı azaltmam ve SQL ile yaptığım işleri yapmak için bunu nasıl kullanabiliyorum. Ayrıca görüntüleme ile, aynı zamanda gruplama, sayfalama ile nasıl başa çıkıyorsunuz.

Bu gibi bir şeyden oluşan bir çağrı seti ile bir ekran oluşturmak istiyorum

John Doe
Johny, Hallyday
Jon, Skeet

A B C D E F ** J ** vs .... <- bu ilk adı taşıyan kişileri görmek için link

Bunu başarmak için hangi görünümü oluşturmalıyım, eğer örnekler sağlayabiliyorsanız harika olur.


İletişim belgesi

{
    type: 'contact',
    firstname: 'firstname',
    lastname: 'lastname',
    email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'],
    phone: ['home': '+81 00 0000 0000'],
    address: []
    ... some other fields maybe ...
}

40
2017-11-05 12:59


Menşei


Komik, CouchDB'nin gerçekten yavaş olduğunu tam tersini okuyordum. Tüm erlang yazılımlarında olduğu gibi, 1-4 çekirdek ile yavaştır, ancak sadece 32'den fazla çekirdek için ölçeklendiğinde parlamaya başlar. - Toad
Benzer bir ürün için ancak c ++ 'ya dayanarak bakabilirsiniz: mongodb - Toad
linki verebilir misiniz? - RageZ
mongodb.org/display/DOCS/Home - Toad
@reinier Karşılaştırma makalesi için demek istiyorum - RageZ


Cevaplar:


O'Reilly'nin gelecek kitabı online okumakta özgürdür: http://books.couchdb.org/relax/

Sadece kurun ve oynayın - komut satırında curl kullanarak düz http istekleri yapabilir veya futon adı verilen yerleşik web arayüzünü kullanabilirsiniz.

Verilerin saklanması ve alınması gerçekten çok kolay, en zor kısım ise sql sorguları yerine harita / küçültme görünümleri olarak düşünüyor.


23
2017-11-05 16:04



link için teşekkürler aslında kitap daha sonra kanepe DB belgelerine daha ayrıntılı ... - RageZ
Aslında CouchDB API Belgeleri çok sayıda projeden daha iyidir. Bu güncel ve doğru tutulur. Ancak tüm API belgeleri gibi bir yemek kitabı değil, bir referans çalışması. - Jeremy Wall
docs.couchdb.org/en/latest - z--
FYI: Kitabın taslak sürümünü okuyor musunuz? Hatalar düzeltildi gibi görünüyor. En son değil. - gman


IBM harika bir öğreticiaracılığıyla okumak / yazmak için curl kullanımı REST arayüzü.


8
2017-11-05 13:07





Uygulamanız CouchDB ile oldukça kolaydır. Kullanıcı başına bir veritabanınız olur. Kişiler, belirli bir kullanıcının veritabanındaki belgelerdir. CRUD sadece HTTP kullanarak veritabanına konuşuyor. Sıralama için izin vermek üzere anahtarlar (soyadı, ad) gönderen görünümler oluşturabilirsiniz.

Güçlü arama için couchdb-lucene'yi öneririm.


5
2017-11-05 15:45