couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ram Rachum <...@rachum.com>
Subject Re: CouchDB questions
Date Sat, 13 Jun 2015 08:13:51 GMT
Question: If it's schemaless, what do you do for foreign keys? Whenever I
design a project, there's tons of foreign key. You have a user, and then he
has objects associated with him, and then they have objects associated with
them, etc. What do you do when you're using CouchDB. Foreign keys aren't
idiomatic to CouchDB, right?

On Sat, Jun 13, 2015 at 6:07 AM, Joel Wallis <joelwallis@gmail.com> wrote:

> Ram, there's nothing between Python and CouchDB. You can just make a simple
> search in the Python community to discover alternatives to interact with
> CouchDB! Also, CouchDB's interface is REST, so you probably already knows
> how to use it.
>
> PostgreSQL is very different than CouchDB. PostgreSQL is a relational
> database with a wonderful SQL environment, and CouchDB is a
> NoSQL/schemaless document-based database. Replication and scalability in
> PostgreSQL is not so simple, although with CouchDB its master-master
> simplicity is a core feature
> <http://docs.couchdb.org/en/1.6.1/replication/intro.html>. There's a big
> gap between them.
>
> I believe you must choose your database technology based in your project
> needs/reality, so take a look at these aspects and tell yourself which
> technology would fit your project needs.
>
> 2015-06-12 13:48 GMT-03:00 Ram Rachum <ram@rachum.com>:
>
> > To be honest, in my experience when you use something through an adapter
> > you always have to deal with more problems. So I'd prefer to avoid using
> a
> > Python library that talks to a JavaScript library. Also it seems that
> undo
> > isn't core functionality for PouchDB, I saw a separate repo for it. I
> would
> > have preferred to have it as core functionality. I think I'll just stick
> > with Postgres. Thanks for your help!
> >
> > On Fri, Jun 12, 2015 at 7:30 PM, Johannes Jörg Schmidt <
> > schmidt@netzmerk.com
> > > wrote:
> >
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA256
> > >
> > > Hi Ram,
> > >
> > > there is Python-PouchDB, which brings PouchDB to the Python land. I
> > > did not tried it but it sounds interesting:
> > > https://pythonhosted.org/Python-PouchDB/
> > >
> > > Johannes
> > >
> > > On 12.06.2015 18:16, Ram Rachum wrote:
> > > > Hi Joel,
> > > >
> > > > Thanks for the tip. But if I use PouchDB does it mean that I need
> > > > to use JavaScript? I'm very experienced with Python, and hardly
> > > > experienced with JavaScript. This application is going to have lots
> > > > of parts and logic to it besides this feature, and I'd hate to have
> > > > to program the whole thing in JavaScript just because of PouchDB.
> > > >
> > > >
> > > > Thanks, Ram.
> > > >
> > > > On Fri, Jun 12, 2015 at 6:45 PM, Joel Wallis <joelwallis@gmail.com>
> > > > wrote:
> > > >
> > > >> PS: PouchDB is a client-side JavaScript library that also runs
> > > >> with Node.js. It creates a database on client-side (using
> > > >> IndexedDB, WebSQL, or other storage strategies like localStorage
> > > >> or SQLite by adding plugins to it) with the ability to sync data
> > > >> with CoudhDB - or a CouchDB-compatible version of PouchDB called
> > > >> pouchdb-server (a separated project).
> > > >>
> > > >> http://pouchdb.com/ :-)
> > > >>
> > > >> 2015-06-12 12:42 GMT-03:00 Joel Wallis <joelwallis@gmail.com>:
> > > >>
> > > >>> You need PouchDB. Write your app with NW.js and this feature
> > > >>> will be trivial to implement.
> > > >>>
> > > >>> 2015-06-12 8:02 GMT-03:00 Roald de Vries
> > > >>> <webthusiast@gmail.com>:
> > > >>>
> > > >>>>
> > > >>>>> On 12 Jun 2015, at 12:55, Ram Rachum <ram@rachum.com>
> > > >>>>> wrote:
> > > >>>>
> > > >>>>> So if I'll want undo functionality, I'll have to create
my
> > > >>>>> own log
> > > >>>> separate
> > > >>>>> from CouchDB's native log?
> > > >>>>
> > > >>>> For example. I’m not sure if there are other standard
> > > >>>> solutions to this (pretty common) problem.
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> -- Joel Wallis Jucá joelwallis.com
> > > >>>
> > > >>
> > > >>
> > > >>
> > > >> -- Joel Wallis Jucá joelwallis.com
> > > >>
> > > >
> > >
> > > -----BEGIN PGP SIGNATURE-----
> > > Version: GnuPG v2
> > >
> > > iQEcBAEBCAAGBQJVewkIAAoJED+W7gN+c0gcb4YH/jU0kokung+ReE7ooDf7cPee
> > > cKBXeuM19QUHQvsFVLycsMiSw0xKgLx+cnVuYwR0ymZ0pEOIvt8AWxhLnQ4px/T4
> > > Wy53N7fJeLQ0txOJMNLUdiJWmRxMiGKltPvLtFYxeYZw0BWihVTPKP1IAO8fzLtO
> > > sUQZ+SIOZSNl3rD0xEcF22QpdACl0yaWt6S0GVxbaRwkKZzM884pdfOPgMD381CO
> > > Wyp7nzV64mfBTxe+STwCozHmaOvUgMx8NCsL+MZxX6Q4RHipcmYzrFUIkv4Bdl/0
> > > KaZEcnHwT55/8jQbVocNLfFWGjPFOGr+zWdf9hQlz9rpzzIc/yy8SrEZSMUuZWg=
> > > =yOmV
> > > -----END PGP SIGNATURE-----
> > >
> >
>
>
>
> --
> Joel Wallis Jucá
> joelwallis.com
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message