CMS e database vs. fai-da-te

3

Ho programmato per molti anni, principalmente in PHP e simili e mi considererei un programmatore intermedio. Alcuni dei miei progetti online sono ormai diventati globali e ampiamente utilizzati, ora mi sto occupando in modo approfondito della scalabilità ecc.

Tutti i miei sistemi finora sono scritti in PHP, nessuna struttura di database conosciuta come MySQL ecc. Invece i nostri database usano un metodo di "stile di sistema operativo" per memorizzare informazioni, file e cartelle, se lo si desidera. Inoltre, non utilizziamo alcun software esterno o di terze parti o CMS, finora questo ha funzionato molto bene. La maggior parte delle persone, quando sentono parlare del modo in cui facciamo le cose, criticano e dicono che è un'idea idiota ma normalmente dopo aver visto i nostri sistemi in più reparti sono convertiti al nostro modo di fare le cose.

È davvero così brutto non usare un sistema di database standard e usare solo il linguaggio di PHP (leggermente più pesante di altri)?

Quanto bene a prima vista questo tipo di scala di installazione?

NB. I nostri sistemi includono elementi come la gestione degli account e degli utenti, lo sviluppo della documentazione e la gestione delle attività e dei progetti.

    
posta hozza 01.07.2011 - 18:12
fonte

1 risposta

4

Non c'è niente di sbagliato nell'usare il filesystem al posto di un database se stai solo servendo ciò che sono essenzialmente pagine statiche. Ci sono molti motori CMS e wiki scritti in questo modo (MoinMoin, DokuWiki). Il vantaggio di questi sistemi è che sono più facili da mantenere, poiché puoi semplicemente modificare i file sul filesystem. Per i piccoli siti con pochi visitatori, questi sistemi funzionano bene. Tuttavia, se si sta costruendo un sito di grandi dimensioni con molti contenuti e traffico elevato (si pensi a Wikipedia), sarà necessario un back-end del database per scalare con grazia. Un database fornisce alcune cose che un filesystem non può. In particolare ...

  • Memorizzazione nella cache dei dati richiesti di frequente
  • Blocco per impedire condizioni di competizione da scritture concorrenti
  • Ridimensionamento orizzontale. Il server del database può essere eseguito su un computer diverso dal tuo server web.
  • Indicizzazione dei risultati di ricerca
risposta data 01.07.2011 - 18:37
fonte

Leggi altre domande sui tag