Websites op een directory met 2 databases

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan Fransen

Stefan Fransen

06/08/2015 21:21:16
Quote Anchor link
Hallo Phpers,

Ik ben bezig met een project waar ik helaas niet al te veel over kwijt wil. Maar om mijn vraag toch duidelijk te maken zal ik een voorbeeld geven.

Mijn vraag is of het mogelijk is om meerdere websites met verschillende databases te runnen op een directory.

bijvoorbeeld:
example.com
met database example
en
example2.com
met database example2

Deze websites hebben maken gebruik van de zelfde public folder maar de content word uit hun eigen database gehaald.

Ik zat te denken om in de config file simpelweg het domein te pakken en de tld te verwijderen.
helaas zal dit denk ik niet werken omdat:
Wanneer de zelfde site een ander tld heeft heb ik een conflict.

Wel word er een hoofd database gebruikt om alle klant gegevens vast te houden dus ook domein- en database naam. kan hier een link mee worden gelegd zonder dat er 2 open database verbindingen hoeven te zijn. wil namelijk niet dat elke verbinding moet starten met het opvragen van de tabel naam.

Graag hoor ik ideen van jullie om dit op te lossen of natuurlijk wanneer dit niet kan.
Alvast bedankt voor het lezen mocht er iets niet duidelijk zijn vraag het gerust.

MVG,
Stefan
 
PHP hulp

PHP hulp

22/11/2024 05:04:38
 
Thomas van den Heuvel

Thomas van den Heuvel

07/08/2015 01:12:01
Quote Anchor link
Het klinkt alsof je een idee hebt voor een site/verzameling van sites maar dat je het ontwerp nog niet helemaal hebt uitgedacht.

Ik kan verschillende opzetten bedenken. Het komt vaker voor dat je één "codebase" hebt die je (her)gebruikt voor meerdere domeinen; je zou op grond van hostname een switch-statement kunnen maken wat op grond hiervna een verbinding legt met een specifieke database, maar je geeft zelf al aan dat er ook een centraal gedeelte is met gezamenlijke klantgegevens.

Er valt iets voor te zeggen om alles in één database te stoppen en dan je tabellen of voorziet van een identificatie van een hostname, of je zou kunnen denken aan een hostname-specifieke tabelprefix (waarbij dus dezelfde tabellen meerdere keren voorkomen in een database). Beide methoden hebben voor en nadelen. Ik denk wel dat dit wel kan opwegen tegen een variant met afzonderlijke databases.

Mogelijke voordelen van een enkele database: geen duplicatie van data, geen synchronisatie tussen verschillende database nodig, het gebruik van transacties (wordt een beetje lastig met meerdere databases).

Je zult wel moeten streven naar een zekere balans: als je database te "breed" wordt (teveel hostname-specifieke tabellen) of te "diep" (teveel data in tabellen doordat je alle data van verschillende hostnames in dezelfde tabellen propt).

En dan zul je dus moeten kijken naar de schaalbaarheid van je oplossing: hoeveel sites ga je stapelen? Hoe druk zal elke hostname bezocht worden et cetera.

Maar deze ontwerpbeslissingen hangen heel erg af van de aard en toepassing van de applicatie.

Je kunt dus twee dingen doen: of ons meer info geven wat je probeert te bereiken, of het bovenstaande meenemen in je overwegingen/besluitvorming en zelf een knoop doorhakken.
Gewijzigd op 07/08/2015 01:14:51 door Thomas van den Heuvel
 
Stefan Fransen

Stefan Fransen

07/08/2015 17:19:42
Quote Anchor link
Ik heb denk ik de beste oplossing gevonden.
De klant maakt namelijk geen database aan dus kan ik de domein naam + tld gebruiken als database naam.
De reden dat ik voor iedere klant een eigen database wil is omdat ik verschillende pakketten aan bied die ook hun eigen database nodig hebben. En wanneer een klant een database om zeep helpt niet alles er meteen uit ligt en mijn website dus ook.

Het beheer van klant gegevens zullen dan op het maindb komen.
En de website gegevens op het klantdb

of heeft iemand een betere oplossing?
 
Ramon van Dongen

Ramon van Dongen

08/08/2015 08:13:52
Quote Anchor link
Quote:
En wanneer een klant een database om zeep helpt

Dan heb jij als ontwikkelaar misschien wel de grootste fout gemaakt om het zo te maken dat een klant een database om zeep KAN helpen.
 
Stefan Fransen

Stefan Fransen

08/08/2015 19:58:54
Quote Anchor link
Buiten dat kan zoiets altijd gebeuren en daar ben ik liever op voorbereid
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.