Toon posts:

Databases aan elkaar koppelen

Pagina: 1
Acties:
  • 451 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Situatie is als volgt:

Er is een bestaande (cursisten)administratie database (nog niet bepaald welke software)

Nu moet er een 2e database aan gekoppeld worden, zodat gegevens wel op een bepaalde manier met elkaar kunnen synchroniseren. Maar beide databases moet wel onafhankelijk van elkaar functioneren, dus als bijv. (cursisten)administratie database eruit ligt, dat de andere nog wel functioneel actief is.

In beide databases komt het cursistID te staan, moet met deze atribuut worden gesynchroniseerd met elkaar? zo ja hoe? en welk softwarepakket is dit het beste mogelijk?

Een ERP (bijv. SAP) is volgens mij een te dure oplossing hiervoor en teveel functionaliteit, dus liever geen ERP.

Wie kan hierin een beetje advies geven in de mogelijkheden? Misschien dat het antwoord vrij simpel is, maar ik kom er zelf even niet uit..

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:31

TeeDee

CQB 241

Hoe kan ik je even niet vertellen (want eigenlijk zoek je software, dit gaat over zelf programmeren ;)) maar ik heb wel een kanttekening.

Hoe weet je, dat als de cursistendb eruit ligt, je vervolgens nog goede gegevens hebt?

Netter, en om je gegevens consistent te houden, is om gewoon een keiharde melding te geven dat de DB's eruit liggen en dat men het later moet proberen.

Wat nu als in de 'andere' db 10000 regels erbij zijn gezet met wat PK/FK op cursistenDB? Wil je dat dan automatisch synchroniseren met de cursistenDB? Lijkt me een hels karwei EN zeer foutgevoelig.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

waarom niet één database?

ivm synchronisatie: je zal daar zelf voor moeten zorgen. Wat als je een cursist deletet in de ene maar niet in de andere (en het niet de bedoeling is dat de delete gerepliceerd wordt).

Ik heb ervaring (was van moeten) met 3 databases met elk hun productId enz en eerlijk gezegd: hadden ze 't maar in één database gestopt ;) De ene typt het zo, de andere zo, jeez fuck => nooit doen dus.
Maar beide databases moet wel onafhankelijk van elkaar functioneren, dus als bijv. (cursisten)administratie database eruit ligt, dat de andere nog wel functioneel actief is
Waarom zou een database "eruit" liggen?

[ Voor 12% gewijzigd door ? ? op 11-12-2007 16:18 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:28
Als je persé 2 DB's wil (waarom ? ), dan kan je eens kijken naar de replicatie mogelijkheden die het DBMS dat je gebruikt biedt.
Als je SQL Server gebruikt, kan je bv gebruik maken van merge replication.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:28
-> SEA trouwens

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Waarom 2 Databases?

Omdat in de (cursisten)administratie DB de gegevens staan over cursist/docent en rooster etc.

De andere DB dient als registratiesysteem d.m.v poortscanners met behulp van pasje, dit systeem moet bijhouden wie en hoelaat er iemand zich in het pand bevindt, en statistieken etc.. En omdat op elke pasje een cursisID/DocentID staat, lijkt mij dit het attribuut om te synchroniseren met de andere DB.

PasSysteem moet wel blijven werken als administratie DB even niet werkt om wat voor reden dan ook.

Toch moeten ze wel aan elkaar gekoppeld zijn, maar wel onafhankelijk functioneren.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:31

TeeDee

CQB 241

Dan hoeven ze toch niet gekoppeld te worden? Het koppelen wordt alleen interessant als je een rapport wil draaien.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TeeDee schreef op dinsdag 11 december 2007 @ 16:47:
Dan hoeven ze toch niet gekoppeld te worden? Het koppelen wordt alleen interessant als je een rapport wil draaien.
Ja die moeten er ook worden gedraaid, namelijk de statistieken over een bepaalde periode, waarbij de overige gegevens uit administratie DB ook bekend moeten zijn.

Hoe dan ook, de opdracht is om ze met elkaar te koppelen.

Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 22:23

Standeman

Prutser 1e klasse

Kan je imo het beste gewoon de DB repliceren naar een andere machine, of moet alles real-time gebeuren.
PasSysteem moet wel blijven werken als administratie DB even niet werkt om wat voor reden dan ook.
Dit vind ik een non-issue. Waarom zou de administratie DB "even" niet werken? Een DB of machine kan natuurlijk down gaan, maar dat kan elke DB of machine zijn en het maakt opzich niet uit of het PassSysteem op dezelfde database draait of niet.
De kans dat het PassSysteem down gaat is dus net zo groot, zelfde DB of niet. Dat kan je alleen voorkomen als een fail-over systeem hebt (het liefst op een andere locatie).

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Standeman schreef op dinsdag 11 december 2007 @ 17:05:
Kan je imo het beste gewoon de DB repliceren naar een andere machine, of moet alles real-time gebeuren.


[...]

Dit vind ik een non-issue. Waarom zou de administratie DB "even" niet werken? Een DB of machine kan natuurlijk down gaan, maar dat kan elke DB of machine zijn en het maakt opzich niet uit of het PassSysteem op dezelfde database draait of niet.
De kans dat het PassSysteem down gaat is dus net zo groot, zelfde DB of niet. Dat kan je alleen voorkomen als een fail-over systeem hebt (het liefst op een andere locatie).
Ja goed ik snap je punt wel, beide systemen kunnen natuurlijk ooit eens uitvallen, maar het gaat er hier om dat als administratie DB uitvalt (met opzet of niet) dat het PasSysteem er niet onder lijdt. Ik heb als opdracht gekregen beide systemen dus wel met elkaar te koppelen (maar onafhankelijk te laten functioneren).

Welke mogelijkheden heb ik hierin? Lijkt mij toch niet onmogelijk..?

-edit Ik denk toch wel real-time, aangezien op elk moment moet worden gekeken wie er zich in het pand bevindt met aanvullende gegevens die in administratie DB staan.

[ Voor 7% gewijzigd door Verwijderd op 11-12-2007 17:15 ]


Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 22:23

Standeman

Prutser 1e klasse

Dat ligt geheel aan welke DBMS-en die je gebruikt. Mircosoft SQL heeft wel wat tooling om data te kopieren van 1 DB naar de andere. Je kan ook zelf batch-jobjes schrijven om data te synchroniseren. Hoe up-to-date moet het PasSysteem zijn? Ga je elke transactie / dag / week synchroniseren? Kan je de administratie software aanpassen of niet?

Ik denk dat je wat duidelijker moet zijn wat betreft de eisen.

[ Voor 9% gewijzigd door Standeman op 11-12-2007 17:19 ]

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:31

TeeDee

CQB 241

Lees jij nu gewoon over whoami's reply heen?

Geef anders eerst eens wat specs.

(na je edit): Om zo'n rapport te bouwen hoef je imo nog niet eens te koppelen hoor.

Ik zou er gewoon een simpel, zelfgebouwd appje tussen hangen welke de 2 DB's kan querien. Kijk eerst welke users er binnen zijn en zoek vervolgens de extra gegevens daarbij op.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Standeman schreef op dinsdag 11 december 2007 @ 17:18:
synchroniseren? Kan je de administratie software aanpassen of niet?
Nee administratie staat al vast, poort systeem komt er als extra bij
TeeDee schreef op dinsdag 11 december 2007 @ 17:19:
Lees jij nu gewoon over whoami's reply heen?

Geef anders eerst eens wat specs.
Nee heb ik niet overheen gelezen, en over specs..zijn er nog niet zoveel specs aangezien alles nog een theoretisch plan moet worden, waarbij er al een bestaande administratie DB is.
Het is namelijk een project vanuit school, waarbij er FO (Functioneel ontwerp) naar TO (Technisch ontwerp) naar realisatie moet komen. Waarbij de opdracht is om deze 2 DB's wel te koppelen aan elkaar.

Voor dat simpele zelfgebouwd appje wil ik best als oplossing gebruiken, maar van programmeren heb ik nog geen kaas gegeten. Dus zou eigenlijk niet weten hoe dit zou moeten..?

Verwijderd

Topicstarter
Even een kleine kick..

Ben nog niet verder geweest met dit project, had ff wat andere dingen te doen.

Maar de twee DB's moeten dus elk op een aparte server staan, en met behulp van een stored procedure/trigger moeten de gegevens met elkaar synchroniseren (per 15 min ongeveer).

Software: MS SQL Server

Ik weet hoe je stored procedures maakt, maar hoe maak ik een stored procedure die deze twee DB's laat synchroniseren?

Verwijderd

Insert into Database2 values ( select * from Database 1 )?


Verder kun je (zoals al eerder aangegeven) beter kijken naar een manier om het voor je rapport af te vangen (bij het doel) in plaats van bij de bron.
Dit lijkt heel erg op de basisprincipes van een datamart/-warehouse, namelijk het samenvoegen van meerdere transactionele databasesystemen tbv een rapportage.
Je redundantie zit dan in een gecontroleerde omgeving die met een specifiek doel is opgezet. Je haalt dan niet (met alle gevaren van dien) de transactionele data door elkaar.

[ Voor 5% gewijzigd door Verwijderd op 20-12-2007 18:03 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:28
Hebben die DB's hetzelfde schema ?

[ Voor 78% gewijzigd door whoami op 20-12-2007 20:23 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op donderdag 20 december 2007 @ 20:23:
Hebben die DB's hetzelfde schema ?
Hoe bedoel je hetzelfde schema?

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Verwijderd schreef op donderdag 20 december 2007 @ 21:48:
[...]


Hoe bedoel je hetzelfde schema?
Zelfde soort tabbellen?

Ik denk dat je gewoon een interface tussen die 2 db's moet maken.

-Wijzingen bijhouden,
-interface om te schrijven en lezen tabblelen maken.
-wijzingen inlezen. in andere db


echte db sync tools zijn relatief duur (niet alleen in geld) en werken alleen als bijde db's gelijk zijn. En dan nog moet je iets vinden om conflicten tussen beide db's op te lossen. (b.v. als je de naam van een persoon wijzingd in de ene en andere, of als de ene een pas vrijgeeft en de andere blokkeerd)

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:28
Als de DB's hetzelfde schema hebben (zelfde tabellen, etc...) en je gebruikt SQL Server: gebruik dan de ingebouwde replicatie mogelijkheden van SQL Server.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

Als je de PasSystem DB alleen gaat gebruiken om id's weg te schrijven van mensen die naar binnen willen en een basis tabel om id's in om te zien wie er binnen mag, is het allemaal niet zo spannend. Je zou met X interval toegangsgegevens kunnen syncen naar de PasSystem DB en eens per dag je toegangslog uit de PasSystemDB terug syncen naar de andere DB zodat je je rapportage makkelijk kunt doen (neem aan dat dat niet realtime hoeft). Zolang je geen stamgegevens hoeft te editen in het PasSystem DB is het allemaal makkelijk te doen.

Ik vraag me wel af waarom jij de opdracht hebt gekregen om dit op te lossen en hier zelf niet uit kan komen. Als je zelf verantwoordelijk bent moet je misschien bedenken of je wel de juiste persoon op de juiste plek bent, zo niet, dan wordt je in iedergeval niet goed begeleid bij het bedrijf waar je nu werkt. Hoe dan ook, tijd voor actie zou ik zeggen. Ik weet dat dit misschien hard kan overkomen, maar het is niet vervelend bedoeld.

NKCSS - Projects - YouTube


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CMG schreef op vrijdag 21 december 2007 @ 00:09:

Ik vraag me wel af waarom jij de opdracht hebt gekregen om dit op te lossen en hier zelf niet uit kan komen. Als je zelf verantwoordelijk bent moet je misschien bedenken of je wel de juiste persoon op de juiste plek bent, zo niet, dan wordt je in iedergeval niet goed begeleid bij het bedrijf waar je nu werkt. Hoe dan ook, tijd voor actie zou ik zeggen. Ik weet dat dit misschien hard kan overkomen, maar het is niet vervelend bedoeld.
Is een schoolopdracht, gesimuleerd project

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024

CMG

Verwijderd schreef op vrijdag 21 december 2007 @ 00:34:
[...]

Is een schoolopdracht, gesimuleerd project
* feels stupid *

NKCSS - Projects - YouTube

Pagina: 1