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.&nbsp;</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.&nbsp;</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. &nbsp;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. &nbsp;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. &nbsp;Whereas ZODB is a graph of Python objects. &=
nbsp;The first two you have to explicitly read and write and save. &nbsp;Wi=
th ZODB you just send messages to objects and all of that is done for you. =
&nbsp;The ZODB even manages the caching for you.&nbsp;</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? &nbsp;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"">&nbsp;Do Neo4J and Arranc=
oDB native Python libraries have a higher level library which makes object =
access more transparent?&nbsp;</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&quot; 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--