MSSQL -> MySQL replication valkuilen?

Pagina: 1
Acties:

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
We hebben hier een MSSQL server draaien met allerlei product informatie, nu willen we deze gaan synchen met een mysql database voor de website. Nu heb ik al aardig wat rondgesurfd en ik heb begrepen dat ik replication kan gebruiken om deze mysql up to date te kunnen houden vanuit de MSSQL. Echter wat ik nergens echt duidelijk kon vinden is of het raadzaam is om 2 verschillende SQL's te gaan koppelen. Microsoft kennende kunnen er best wel wat addertjes onder het gras zitten >:)

Is de replication vanuit MSSQL geschikt om een MySQL up te daten?
of is de enige manier om dit uit te vinden door het echt te gaan doen?

Mijn rig


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Waarom gebruik je een ander type databank voor die website?

https://fgheysels.github.io/


Verwijderd

Replication werkt alleen tussen mssql servers, je kan beter een dts package maken wat een kopieer slag doet naar je mysql bak 1x per dag ofzo.

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
dts package, ok, die term ken ik niet.

Zou je dat kunnen toelichten?

de reden dat we een MySQL server willen gebruiken is omdat die gratis is :)
Een andere MSSQL zou wel kunnen als het echt niet anders mogelijk is, maar liever niet natuurlijk.

Mijn rig


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
DTS : data transformation service dacht ik.
't Is een utility binnen SQL Server.

Maar je zegt dat je al een sql server hebt... Die heb je toch ook niet gratis staan, daar heb je toch een licentie voor?

https://fgheysels.github.io/


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
het geval is dat de MSSQL server van een relatie van ons is en wij doen hun websitebeheer. Om nu alleen voor de website database nog een MSSQL server neer te zetten is wel iets overdreven imo, vandaar de keuze voor MySQL.

en idd, ze hebben wel een licentie, maar das alleen voor die server he :P

Mijn rig


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
marko77 schreef op 12 September 2003 @ 12:12:
het geval is dat de MSSQL server van een relatie van ons is en wij doen hun websitebeheer. Om nu alleen voor de website database nog een MSSQL server neer te zetten is wel iets overdreven imo, vandaar de keuze voor MySQL.

en idd, ze hebben wel een licentie, maar das alleen voor die server he :P
Maar, je kan die SQL Server die je daar staan hebt toch gebruiken?
Desnoods maak je een nieuwe DB aan in die Sql Server...

https://fgheysels.github.io/


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
jaa, dat kan ook wel, maar om b.v. bandbreed technische redenen willen we die DB graag gemirrored hebben.

Ik begrijp dat het wellicht onlogisch is maar we hebben alle opties bekeken.

Mijn rig


Verwijderd

Als bandbreedte de enige reden is kan ik wel wat anders bedenken dan een brakke MySQL server gebruiken. In plaats van die 2 databases steeds te syncen kan je gewoon xml files laten genereren die de data voorzien voor je website.
Ik geef toe dat het voor zoekfuncties dan niet zo handig is maar hoeveel sites gebruiken daarvoor niet gewoon google?

[ Voor 21% gewijzigd door Verwijderd op 12-09-2003 12:43 ]


  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 21-06 09:59

soepkip

Kratjes kunnen nu ook voorin

Je hebt natuurlijk het probleem dat relaties en procedures en andersoortige objecten niet meekomen bij de overgang, wat je wel kunt doen als het alleen om de data uit een of enkele tabellen gaat zonder relaties is een simpele automatische export naar bijvoorbeeld een comma delimited file van je MSSQL server, en deze automatisch weer te importeren.
dit zou je via een XML generator met vertaalslag ook kunnen doen. het is maar net hoe 'netjes' je het wilt doen.
het voordeel van deze manieren is dat je het kunt timen om bandbreedte te sparen, bv iedere nacht wanneer het rustig is op het netwerk

Beste film ooit


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
ok, dat is duidelijk maar we dwalen af :P

als ik het goed begrijp is een synch tussen MSSQL en MySQL dus niet haalbaar?

Mijn rig


Verwijderd

Ik heb een vraag die hier veel op lijkt, dus stel ik hem maar in dit topic.

Ik wil een verkoop systeem gaan maken met daaraan vast gekoppeld een websysteem waar de gebruiker producten online kan bestellen.

Het verkoop systeem zal bestaan uit een windows applicatie (gemaakt in Delphi) waarbij je facturen kan maken, voorraad wijzigingen, enz... (dus een soort kassa systeem). Deze applicatie zal gebruik maken van een postgresql database.

Het websysteem zal gemaakt worden in PHP en maakt ook gebruik van een postgresql database.

Deze 2 systemen maken is geen probleem. Het gaat om de koppeling er tussen.

Nu dacht ik om die db online te gooien bij een hosting bedrijf en dan zal dus zowel de website als de windows applicatie daar gebruik van kunnen maken. Maar dit heeft 1 groot nadeel: wat te doen als de internetverbinding er uit legt. Dan kan je dus geen verkopen registreren, enz...

Oftewel dat is dus geen goede methode. Na dit topic ook gelezen te hebben denk ik dat ik er misschien 2 db's voor moet gebruiken (1 bij het hosting bedrijf en 1 bij de winkel). Vervolgens zullen deze zich steeds up to date moeten houden d.m.v. dat replication?

Is dit de juiste methode en moet je dus hier dat replication voor gebruiken of moet het totaal anders?

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
volgens mij kun jij idd replication gewoon gebruiken, als je 2 dezelfde databases hebt moet dat geen probleem zijn.

Mijn rig


  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 21-06 09:59

soepkip

Kratjes kunnen nu ook voorin

Replication kun je gaan proberen te gebruiken, maar het kan ook veel simpeler.
Houd rekening met deze wensen in het design van je shop en probeer 2 losse systemen te maken, met verschillende databases die wel informatie uit elkaar kunnen inlezen
(via vieuws, maar verstandiger is via informatieuitwisseling DMV bv batch-files die om de zoveel tijd lopen)
Maar niet zo afhankelijk van elkaar zijn dat ze elkaar nodi hebben om
functioneren

Jouw windows applicatie heeft bijna zeker niet alle informatie nodig die een webshop nodig heeft om te functioneren.

[ Voor 10% gewijzigd door soepkip op 12-09-2003 13:27 ]

Beste film ooit


Verwijderd

De rede dat ik eigenlijk 1 centrale db zou willen gebruiken is om een real-time systeem te kunnen bouwen. Daar bedoel ik mee dat de gebruikers op de site precies de voorraad kunnen controleren. Met 2 aparte db's wordt dat veel ingewikkelder.

soepkip: hoe bedoel je dat precies met die batch files?

[ Voor 13% gewijzigd door Verwijderd op 12-09-2003 13:51 ]


Verwijderd

Bij de plannen van tweakers.net kwam ik het volgende tegen:

De goede werking van replication betekent tevens dat MySQL een belangrijk streepje voor heeft op Postgres en SAP DB. Deze twee open source DBMS'en moeten het nog zonder replication functionaliteit stellen.

Maar bij de postgresql site zie ik wel een paar replication projecten staan (alleen weer niet bijgewerkt tot de laatste versie van postgresql 7.3.4.)

Heeft er iemand ervaring met postgresql icm replication.

En wat is anders dan een goed alternatief (en dan niet MySQL) ?

Verwijderd

De data zul je wel over gepompt kunnen krijgen, alle achterliggende database geintjes zoals triggers, stored procedures en constraint ed, zullen een probleem gaan opleveren. Simpelweg omdat MySQL dit alles niet ondersteund.

Als het puur voor datamirroring (backup) is, hoeft dit geen probleem te zijn, maar als die MySQL DB ook functioneel gebruikt gaat worden, dan zou ik eerst goed uitzoeken welke functionaliteit er nog meer op de MSSQL server in gebruik is (zie onderdelen eerder in deze post).
Daarbij opgeteld dat je voor commercieel gebruik ook voor MySQL (meen ik, niet boos worden als dit niet zo is :)) een licentie nodig is (400$ meen ik, weer niet boos worden :)) dus geld kan imho niet een reden zijn.

Zie dit meer als een losse opmerking en tipopsomming, weet namelijk niet precies hoe die replication werkt binnen MSSQL en wat hiervan het resultaat is, ook alternatieven kan ik zo snel niet bedenken.

Veel succes iig.

[ Voor 2% gewijzigd door Verwijderd op 12-09-2003 16:23 . Reden: typfouten verwijderd ]


  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

@6-pack:
Je hoeft niet te betalen voor commercieel gebruik van MySQL als je je houd aan de voorwaarden van de GPL.

@TS
Het realtime repliceren van een MySQL en MSSQL database lijkt me ondoenlijk. Volgens mij kan je geen gebruik maken van de replicatie functie van MySQL/MS SQL zelf omdat ie alleen geschikt is voor dezelfde database. Ik ben nog geen realtime-replication-vertaler tegengekomen.
Zoals 6-pack al aangeeft zijn er behoorlijk wat verschillen in beide databases, met name de stored procedures. Je zou MySQL nog wel op ANSI SQL mode kunnen zetten om beter overeen te komen met MS SQL maar dat is het dan wel. Realtime heb je er niks aan. Of je moet met allerlei XML zooi gaan zitten klooien en dat is meer geklooi dan wat het oplevert. Schaf gewoon een extra licentie aan en je bent klaar. Of kies voor een dagelijkse / wekelijkse export naar MySQL als je niet al te veel problemen voorziet met de verschillen.

To study and not think is a waste. To think and not study is dangerous.


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
Qua functionaliteit is er niets dat we nodig hebben dat MySQL niet ondersteunt, eigenlijk moeten we heel simpel alleen de data eruit trekken, ingewikkelde queries zijn niet nodig.
Echter ik denk toch dat we een 2e MSSQL moeten gebruiken omdat de twee teveel verschillen voor realtime replicatie

iig bedankt voor de input allen :)

Mijn rig

Pagina: 1