Avatar billede megaf Nybegynder
02. december 2003 - 18:39 Der er 18 kommentarer

Problem med stor database til webshop

Hej Eksperter!
Jeg har et lille problem med en produkt database, som jeg skal bruge i forbindelse en webshop, selve databasen er på 2GB, og den bliver hosted af firma "Y", og selve websiden bliver hosted af "X". Dem som hoster databasen ønsker ikke at have en "åben" forbindelse fra siden direkte til databasen, sådan at opslag på produkterne går direkte via dem. Mit problem er så hvordan jeg kan løse dette uden alt for meget at generere alt for meget traffik. Jeg tænkte først på at lave et cronjob som ville replikere databasen over på en anden server, men det var før jeg fandt ud af dens egentlige størelse, 2gb hver dag hele året rundt bliver lige en lidt for stor mundfuld traffik for begge parter.
Mit spg. er simpelthen om der er nogen der kender til nogen smart metoder for, at løse dette problem på?
Avatar billede arne_v Ekspert
02. december 2003 - 18:47 #1
Der er kun en god løsning: database og web app hos samme firma !
Avatar billede arne_v Ekspert
02. december 2003 - 18:48 #2
Høker løsningen er: replikering af ændringer.

Du har "lastupdated" felter i tabeller og flytter det der har ændret sig
siden sidst.

Men det er ikke nogen god løsning.
Avatar billede Slettet bruger
02. december 2003 - 18:55 #3
Jeg synes det lyder som en blindgyde, og mener at eneste svar må være at flytte enten database eller website!
Avatar billede erikjacobsen Ekspert
02. december 2003 - 18:56 #4
Må du lave en webservice på maskinen/hos firmaet med databasen?

Det er da rart at sådan "politiske" beslutninger kan give en masse
(godt betalt? *g*) programmørarbejde ...
Avatar billede megaf Nybegynder
02. december 2003 - 19:36 #5
arne_v; Well, hverken databasen eller webhotellet kan ikke flyttes.
Hvorfor skulle "lastupdated" ikke være nogen god løsning?`

erikjacobsen: Der skal laves en webshop for et firma, de har et nyt webhotel som understøtter alt det vi skal bruge, og de har betalt nogle år ud i fremtiden. Der hvor databasen står skal den blive, og dem som hoster den har begrænset båndbredde, så selvom at man kunne lege med tanken om at sætte web hostingen der, kan det altså ikke lade sige gøre. Så setuppet er klart, sql database hosted et sted, og webhostingen er et andet sted. Desværre :(
Avatar billede erikjacobsen Ekspert
02. december 2003 - 19:41 #6
Jeg siger: webservice, ikke webhosting. Du kan groft sagt sige at du
pakker sql-forespørgslerne ind i lidt XML og sender til webservicen, der
sender svaret tilbage som en ny omgang XML. Dermed er der ikke direkte adgang
til databasen. Og de må jo forvente noget trafik, ik'?
Avatar billede arne_v Ekspert
02. december 2003 - 19:49 #7
Det er ikke helt ukompliceret at lave en sådan inkremental replikering.
Avatar billede megaf Nybegynder
02. december 2003 - 19:49 #8
Joda, lidt traffik er ok. Kan du uddybe den løsning med xml lidt? jeg har personligt ikke været så meget inde i det før.
Avatar billede megaf Nybegynder
02. december 2003 - 19:50 #9
arne_v skidt med om det er kompliseret eller let, spørgsmålet er bare om det er muligt :) , har folk som skal fikse det for mig :)
Avatar billede arne_v Ekspert
02. december 2003 - 19:51 #10
Den slags er lavet før.
Avatar billede arne_v Ekspert
02. december 2003 - 19:54 #11
Web Service - i dette tilfælde uden tvivl SOAP over HTTP - vil kræve
en web server med web service support hos database firmaet og noget
hos web app firmatet som kan bruges til web service client (det sidste
er næppe et problem).
Avatar billede erikjacobsen Ekspert
02. december 2003 - 19:56 #12
Det er ikke XML-delen, der som sådan er vigtig. Det er bare en
standardiseret indpakning. Skal du have oplysninger om varer, sender
du (inden i maven af mere XML) fx dette

<hentvarer>
  <vare nr="117"/>
  <vare nr="7913"/>
</hentvarer>

og får svaret

<vare>
  <id>117<</id><navn>Øllebrødspulver</navn>
</vare>
<vare>
  <id>7913</id><navn>Fjerpen med blæk</navn>
</vare>

....eller hvad man nu bestemmer der skal stå. Det "styres" på samme
måde som en almindelig webserver.
Avatar billede arne_v Ekspert
02. december 2003 - 20:13 #13
Ovenstående er princippet i SOAP. Den rigtige XML er noget mere kompleks.
Avatar billede megaf Nybegynder
02. december 2003 - 22:44 #14
Ok, så vidt jeg ved bliver shoppen skrevet i php, ved ikke lige hvordan det er med at intergrere php'n med xml'n?
Avatar billede erikjacobsen Ekspert
02. december 2003 - 22:48 #15
Det er indbygget (i fornuftige PHP installationer, anyways)
Avatar billede arne_v Ekspert
02. december 2003 - 22:52 #16
Client side bør være nem. Jeg er 100% sikker på at web service clients
i PHP er nemt.

Det er mere hvad du kan få sat op på server side (DB sitet).

IIS + ASP.NET + C# eller Tomcat + Axis + Java eller ... ?
Avatar billede erikjacobsen Ekspert
02. december 2003 - 22:58 #17
Eller Apache+PHP ;)  og http://pear.php.net/package/SOAP
Avatar billede arne_v Ekspert
26. december 2003 - 16:54 #18
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester