sql >> Database >  >> RDS >> Mysql

Mix van MySQL en Mongodb in een applicatie

Bulat implementeerde een Doctrine-extensie terwijl we bij OpenSky waren voor het verwerken van verwijzingen tussen MongoDB-documenten en MySQL-records, die momenteel in hun (weliswaar verouderde) vork van de DoctrineExtensions projecteren. U wilt kijken naar de orm2odm_references of openskyfork takken. Om dit bruikbaar te maken in je project, wil je het waarschijnlijk overzetten naar een nieuwe fork van DoctrineExtensions, of gewoon de code in je applicatie opnemen. Helaas is er geen documentatie behalve de code zelf.

Gelukkig is er ook kookboekartikel op de Doctrine-website die beschrijft hoe u dit vanaf het begin kunt implementeren. Kortom, u vertrouwt op een gebeurtenislistener om uw eigendom te vervangen door een referentie (d.w.z. niet-geïnitialiseerd proxy-object) van de andere objectmanager en het natuurlijke gedrag van proxy-objecten om zichzelf lui te laden, zorgt voor de rest. Op voorwaarde dat de gebeurtenislistener een service is, kunt u er gemakkelijk zowel de ORM- als ODM-objectmanagers in injecteren.

De enige integriteit die door dit model wordt gegarandeerd, is dat u uitzonderingen ontvangt wanneer u een slechte referentie probeert te hydrateren, wat waarschijnlijk meer is dan u zou krijgen door simpelweg een ID van de andere database op te slaan en handmatig te zoeken.



  1. MySQL versus MongoDB

  2. Database failover in Jboss-gegevensbronnen

  3. Kan geen verbinding maken met een van de opgegeven MySQL-hosts

  4. MySQL:een grote tafel opsplitsen in partities of aparte tabellen?