|
|
3 months ago | |
|---|---|---|
| README.md | 3 months ago | |
README.md
SqLite Adatbázisok Szinkronizálása
Adatok kezelése során, amint egynél több kezelőnek, vagy egy kezelőnek több munkaállomásról kell elérni az adatokat, a helyben létrehozott adatbázis lesz a korlátozó tényező, felmerül a kérdés, hogyan lehet azt a korlátot átlépni. Az adatbázisban kezelt adatok jellegüket tekintve gyakorlatilag bármilyenek lehetnek, készletnyilvántartás, archívum dokumentumok vagy képek számára, számlázási vagy mérési adatok, üzenetek, stb., a lista szinte végtelen.
A továbbiakban egy nagyméretű adatokat (2-300 MB pdf dokumentum) is tároló rendszer tárolási metódusának fejlődésének lépései olvashatók, mysql adatbázison.
Központi adatbázis
A probléma megoldásának kézenfekvő eszköze a helyben tárolt adatbázis áthelyezése központi kiszolgálóra. Ez addig jó megoldás, amíg pl. egy irodán belül kell több helyről elérni az adatokat, a sávszélesség gyors, egyszerű adatbázis kapcsolattal megvalósítható. Az adatbázis elérését nyilvánossá tenni nem szerencsés, így a helyi hálózaton kívülről már vpn felépítése szükséges, ami viszont már lassítja az elérést.
Adatkapcsolati réteg
A vpn kiváltható egy adatkapcsolati réteg elhelyezésével az adatbázis fölé, pl. rest api kapcsolaton keresztüli eléréssel, a vpn kiépítése nem szükséges, de távolról ugyanúgy lassú lesz.
Elosztott adatbázis
Több elérési pont hozható létre az adatbázis replikáció használatával, pl telephelyenként,. Ez adatbiztonság és rendelkezésre állás tekintetében is előnyös, viszont a nem belső hálózatról történő elérés ebben az esetben is vpn-en vagy rest api-n keresztül lehetséges.
A másik megoldás, hogy multi master replikáció kerül megvalósításra, így minden munkaállomás a saját helyben tárolt adatbázisába dolgozik, az adatok pedig a replikáció útján eljutnak mindenkihez. Ez a megoldás rengeteg beállítást igyényel, ráadásul a munkaállomásokon futó szolgákat nehéz felügyelni.
Hibrid megoldás
A fenti tapasztalatok felhasználásával készült egy megoldás, ami a helyben tárolt sqlite adatbázisokat rest api-n elérhető szerveren keresztül szinkronizálja.