ZODB Vs Neo4J and ArrangoDB
Christopher Lozinski <[email protected]> Wed, 9 Oct 2019 18:17:50 +0200
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail=_4CE48DD2-3D16-4AC0-B129-30DA67BCCA28 Content-Type: multipart/alternative; boundary="Apple-Mail=_A3F82A67-8021-4D0C-B90B-CE137201D825" --Apple-Mail=_A3F82A67-8021-4D0C-B90B-CE137201D825 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" I am giving a talk on the ZODB at the PyCode Conference next week.=20 I was reading the documentation of ArrangoDB and Neo4J.=20 It was said that those are graph databases, while the ZODB is an object dat= abase. According to the Wikipedia definition of graph database, the ZODB d= oes not have a query language, and so it is not a graph database. =20 I think choice of language is important. I would rather say that: Neo4J and ArrangoDB Graph are graphs of dictionaries. Whereas ZODB is a gr= aph of Python objects. The first two you have to explicitly read and write= and save. With ZODB you just send messages to objects and all of that is = done for you. The ZODB even manages the caching for you.=20 Has anyone here used the other two products? Is that an accurate compariso= n of the products? Do Neo4J and ArrancoDB native Python libraries have a higher level library= which makes object access more transparent?=20 Warm Regards Christopher Lozinski https://PythonLinks.info tel: +48 32 361 3136 Skype: clozinski --=20 You received this message because you are subscribed to the Google Groups "= zodb" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/= zodb/D8B3D40C-9F24-4955-BB4A-EAFCDB11E721%40PythonLinks.info. --Apple-Mail=_A3F82A67-8021-4D0C-B90B-CE137201D825 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="UTF-8" <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset= =3Dus-ascii"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode= : space; line-break: after-white-space;" class=3D""><div class=3D""><font s= ize=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D"">I am gi= ving a talk on the ZODB at the PyCode Conference next week. </span></f= ont></div><div class=3D""><font size=3D"2" class=3D""><span style=3D"font-s= tyle: normal;" class=3D""><br class=3D""></span></font></div><div class=3D"= "><font size=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D"= ">I was reading the documentation of ArrangoDB and Neo4J. </span></fon= t></div><div class=3D""><font size=3D"2" class=3D""><span style=3D"font-sty= le: normal;" class=3D""><br class=3D""></span></font></div><div class=3D"">= <font size=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D"">= It was said that those are graph databases, while the ZODB is an object dat= abase. According to the Wikipedia definition of graph database, the Z= ODB does not have a query language, and so it is not a graph database. &nbs= p;</span></font></div><div class=3D""><font size=3D"2" class=3D""><span sty= le=3D"font-style: normal;" class=3D"">I think choice of language is importa= nt. I would rather say that:</span></font></div><div class=3D""><font= size=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D""><br c= lass=3D""></span></font></div><div class=3D""><font size=3D"2" class=3D""><= span style=3D"font-style: normal;" class=3D"">Neo4J and ArrangoDB Graph are= graphs of dictionaries. Whereas ZODB is a graph of Python objects. &= nbsp;The first two you have to explicitly read and write and save. Wi= th ZODB you just send messages to objects and all of that is done for you. = The ZODB even manages the caching for you. </span></font></div><= div class=3D""><font size=3D"2" class=3D""><span style=3D"font-style: norma= l;" class=3D""><br class=3D""></span></font></div><div class=3D""><font siz= e=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D"">Has anyon= e here used the other two products? Is that an accurate comparison of= the products?</span></font></div><div class=3D""><font size=3D"2" class=3D= ""><span style=3D"font-style: normal;" class=3D""> Do Neo4J and Arranc= oDB native Python libraries have a higher level library which makes object = access more transparent? </span></font></div><div class=3D""><font siz= e=3D"2" class=3D""><span style=3D"font-style: normal;" class=3D""><br class= =3D""></span></font></div><div class=3D""> <div dir=3D"auto" style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); = letter-spacing: normal; text-align: start; text-indent: 0px; text-transform= : none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: = 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space= ; line-break: after-white-space;" class=3D""><div dir=3D"auto" style=3D"car= et-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-a= lign: start; text-indent: 0px; text-transform: none; white-space: normal; w= ord-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; wo= rd-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-spac= e;" class=3D""><div style=3D"color: rgb(0, 0, 0); letter-spacing: normal; t= ext-align: start; text-indent: 0px; text-transform: none; white-space: norm= al; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-wor= d; -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><di= v style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; line-break: aft= er-white-space;" class=3D""><div style=3D"color: rgb(0, 0, 0); font-variant= -caps: normal; letter-spacing: normal; text-align: start; text-indent: 0px;= text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text= -stroke-width: 0px;"><font size=3D"2" class=3D""><span style=3D"font-style:= normal;" class=3D"">Warm Regards</span></font></div><div style=3D"color: r= gb(0, 0, 0); font-variant-caps: normal; letter-spacing: normal; text-align:= start; text-indent: 0px; text-transform: none; white-space: normal; word-s= pacing: 0px; -webkit-text-stroke-width: 0px;"><font size=3D"2" class=3D""><= span style=3D"font-style: normal;" class=3D"">Christopher Lozinski</span></= font></div><div style=3D"color: rgb(0, 0, 0); font-variant-caps: normal; le= tter-spacing: normal; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0p= x;"><font size=3D"2" class=3D""><span style=3D"font-style: normal;" class= =3D""><br class=3D""></span></font></div><div style=3D"color: rgb(0, 0, 0);= font-variant-caps: normal; letter-spacing: normal; text-align: start; text= -indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;= -webkit-text-stroke-width: 0px;"><font size=3D"2" class=3D""><span style= =3D"font-style: normal;" class=3D""><a href=3D"https://PythonLinks.info" cl= ass=3D"">https://PythonLinks.info</a><br class=3D"">tel: +48 32 361 3136<br= class=3D"">Skype: clozinski<br class=3D""><br class=3D""></span></font></d= iv></div></div></div></div> </div> <br class=3D""></body></html> <p></p> -- <br /> You received this message because you are subscribed to the Google Groups &= quot;zodb" group.<br /> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:[email protected]">zodb+unsubscri= [email protected]</a>.<br /> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/zodb/D8B3D40C-9F24-4955-BB4A-EAFCDB11E721%40PythonLinks.info?utm= _medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/zodb= /D8B3D40C-9F24-4955-BB4A-EAFCDB11E721%40PythonLinks.info</a>.<br /> --Apple-Mail=_A3F82A67-8021-4D0C-B90B-CE137201D825-- --Apple-Mail=_4CE48DD2-3D16-4AC0-B129-30DA67BCCA28 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 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 6hV3eqdG5Ipm8J3fylufAAAAAAAA --Apple-Mail=_4CE48DD2-3D16-4AC0-B129-30DA67BCCA28--