From posgrado at correo.chapingo.mx Mon Apr 1 05:03:18 2013 From: posgrado at correo.chapingo.mx (posgrado) Date: Mon, 1 Apr 2013 03:03:18 +0000 Subject: [Erp5-users] ERP5 questions Message-ID: <21EEB69A5D57164B936A5969225DA4FA0941581B@CH1PRD0210MB370.namprd02.prod.outlook.com> Hi, Could you answer me some questions please? 1.- Which is the Object-Relational mapping used between ZODB and MySQL to pass objects to relationships and how it works? 2.- How do Zobd and MySQL communicate? 3.- Why is MariaDB preferable to use in ERP5 instead of MySQL? Sincerely yours. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jp at nexedi.com Mon Apr 1 17:22:49 2013 From: jp at nexedi.com (jp at nexedi.com) Date: Mon, 01 Apr 2013 17:22:49 +0200 Subject: [Erp5-users] =?utf-8?q?ERP5_questions?= In-Reply-To: <21EEB69A5D57164B936A5969225DA4FA0941581B@CH1PRD0210MB370.namprd02.prod.outlook.com> Message-ID: <20130401152251.661E9BF0118@mail2.tiolive.com> Hi, > 1.- Which is the Object-Relational mapping used between ZODB and MySQL to pass > objects to relationships and how it works? See http://www.neoppod.org/ whch also includes some notes about the different ways to use MySQL as a backend to ZODB. BTW, the relation between ZODB and MySQL is not "ORM" but serialization of objects. I believe that ORM does not work and can not work in any dynamic language. If you look at projects based on ORM, you will find out many issues to handle upgrades or polymorphism. Such issues do not exist with a serialization approach as in ZODB. And since ZODB is a log database, there is no risk to ever lose any data after an upgrade or a change in the code of ERP5 classes. This is something which is very difficult to achieve with an ORM. You can read more: http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx The ORM limitations are an old discussion, which started a the time of the gang of five. In a sense, the reasons why ORM can not work have been well known for 30 years. > 2.- How do Zobd and MySQL communicate? Objects are serialized by ZODB and stored in the relevant backend: MariaDB or SQLLite if you use NEO. But it could be any other backend: filesystem, haildb, pgsql, oracle, etc. In addition to server as a backend to ZODB, MySQL is also used as a data warehouse. All ZODB objects are indexed in MySQL in the same way as one would build a datawarehouse from heterogenous data sources which are then normalized. This actually opens ERP5 to many data analysis applications (a.k.a. Big Data if you want to use the buzzwords), such as search engine. > 3.- Why is MariaDB preferable to use in ERP5 instead of MySQL? Because MariaDB is still developped by Michael Widenius. Regards, JPS.