Sdílená databáze několika aplikacemi rubrika: Programování: Jiné
Ahoj,
mám skupinu (zatím 3) aplikací. Všechny používají jednu databázi, stejné tabulky. Každá aplikace s datami dělá něco jiného. Jak řešit verzování databáze (strukturu, spouštěče, změny struktury) - mít zvláštní repositář a na ten pouze odkazovat? Nebo udělat návrh aplikace jinak?
Tápu, když budete vědět o adekvátní literatuře / článku, prosím o nasdílení :)
Díky
Pokud je business logika v databazi, pristup by mel jit schovat za views a do stored procedures. Aplikace pak nebudou nikdy sahat na samotnou strukturu dat, takze tam je asi dostatecny prostor pro zmeny.
Jestli ma byt business logika jinde, tak bych se zamyslel nad zpusobem, jakym by se zmeny nasazovaly - to je podle me rozhodujici vzhledem k druhu tech aplikaci.
Muze stacit jim poskytnout API ve forme nejake knihovny, ale pak je s kazdou zmenou potreba knihovnu aktualizovat a znovu aplikaci nasadit. Je to extra prace pro jejich vyvojare, i kdyz se jich to vlastne netyka. Navic pokud maji ty aplikace hodne odlisne tempo vyvoje a nasazovani, muze to byt v podstate nemozne synchronizovat (na druhou stranu pokud by se DB menila vyrazne rychleji nez aplikace, ktera ji vyuziva, je asi neco divne).
Alternativne jde DB schovat za vlastni separatni sluzbu, ktera zverejni nejake vcelku stabilni API (a logika bude v ni). Je to extra indirekce a dalsi prvek, ktery je potreba nasazovat, zajistit redundanci, replikaci pripadneho stavu apod., ale dava to nejvic prostoru pro zmeny na vsech urovnich.
Podle potreby tech aplikaci se daji tyhle postupy kombinovat - jakykoliv interface by stejne mel byt co nejuzsi, aby nevznikaly zbytecne zavislosti. Takze i treba ta separatni sluzba by pak asi obsahovala tri nezavisle API podle toho, co ktera z aplikaci potrebuje zpristupnit.
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře