Ce soir, dans mon googling technologique quotidien, je suis tombé sur couchDB, après avoir vu des tonnes de présentations sur ses performances dix à cent fois meilleures que sur n'importe quel RDBM, comment cela nous sauverait des langages SQL, des tables, des clés primaires et bien plus encore. J'ai décidé de l'essayer moi-même. Seul problème, il semble que je suis incapable de comprendre comment cela fonctionne.
Comme pour commencer, je voudrais coder un gestionnaire de contacts Web en utilisant couchDB. Le projet permettrait à l'utilisateur de faire des choses de base comme
Alors comment commencer?
Voici quelques unes de mes pensées
maintenant, voici la partie difficile, je ne comprends pas vraiment tout le concept de carte/réduire et comment je peux l'utiliser pour faire les tâches que je faisais avec SQL. Également avec des vues, comment gérez-vous la pagination et le regroupement?.
Je voudrais construire un écran avec un ensemble de liens de pagination quelque chose comme ça
John, Doe Johny, Hallyday Jon, Skeet ABCDEF ** J ** etc .... <- ce sont lien pour voir les personnes portant ce prénom
quelle vue dois-je créer pour y parvenir, si vous pouvez fournir des échantillons, ce serait merveilleux.
Document de contact.
{
type: 'contact',
firstname: 'firstname',
lastname: 'lastname',
email: ['home': '[email protected]', 'work': '[email protected]'],
phone: ['home': '+81 00 0000 0000'],
address: []
... some other fields maybe ...
}
Le livre à venir d'O'Reilly est libre de lire en ligne: http://books.couchdb.org/relax/
Installez et jouez simplement - vous pouvez faire des requêtes http directes en utilisant curl sur la ligne de commande, ou utiliser l'interface Web intégrée appelée futon.
Le stockage et la récupération de données sont vraiment faciles, la partie la plus difficile est de penser en termes de carte/réduire-vues au lieu de requêtes SQL.
Votre application est assez facile à faire avec CouchDB. Vous auriez une base de données par utilisateur. Les contacts sont simplement des documents dans la base de données d'un utilisateur particulier. CRUD parle simplement à la base de données en utilisant HTTP. Vous pouvez créer des vues qui émettent des clés (nom, prénom) pour permettre le tri.
Pour une recherche puissante, je recommanderais couchdb-lucene.