Backend - own database vs live parsing

1

Sto sviluppando un'app mobile che dipende da alcuni dati quasi statici.

Raccoglierò quei dati inizialmente da un sito web esistente facendo un po 'di analisi HTML.

Ora potrei creare un database da quei dati e usarlo come back-end per l'app. Ogni volta che ci sono nuovi dati, eseguirò manualmente il mio programma di analisi sul sito Web e aggiungerò i nuovi elementi al mio database. Ma dal momento che sto analizzando tutto il tempo, comunque, ho pensato che potrei usare il sito web come back-end, cioè, invece di interrogare un database, potrei eseguire direttamente l'analisi.

Che ne pensi? Funzionerà o è troppo instabile?

Grazie in anticipo!

    
posta selmaohneh 14.05.2018 - 15:19
fonte

1 risposta

8

Raccomando vivamente di utilizzare un database con uno schema ben definito. Perché? Indipendenza / disaccoppiamento. Con un database, le cose sono sotto il tuo controllo, non le loro. Vediamo i pro e i contro di ciascun approccio:

analisi live

  • Pro : sempre aggiornato
  • Con : la disponibilità dipende dal sito Web di origine
  • Con : le prestazioni / la velocità dipendono dal sito Web di origine
  • Con : se il sito Web di origine modifica il formato, il sito è inattivo. Immediatamente.
  • Con : circa il doppio del traffico da & sul tuo server che dovrai pagare per

database

  • Con : non sempre aggiornato, il ritardo degli aggiornamenti è difficile da ottenere al di sotto di 1 minuto
  • Pro : sei indipendente. Sei in una buona posizione se
    • Il sito di origine è inattivo (il sito rimarrà attivo)
    • Il sito di origine cambia formato (il tuo sito rimane attivo e puoi adattare il tuo codice senza fretta
    • La velocità dipende dal ridimensionamento dei server, non da loro.
    • Pro : se decidi di raccogliere i tuoi dati da qualche altra parte, la transizione è molto più semplice e molto meno lavoro per te.

Inoltre, considera l'aspetto legale di questo. Assicurati di poter utilizzare i dati della tua fonte. Se decidono di bloccarti o denunciarti dall'usare i loro dati, devi essere flessibile. Con un database, hai quella flessibilità. Con l'analisi dal vivo avrai anche quella flessibilità, ma con più lavoro e meno stabilità del tuo servizio.

Ultimo, ma non meno importante, il database ha due importanti vantaggi che l'analisi live non può darti: puoi impostare lo schema in modo che tu possa

  • traccia la cronologia dei dati e mostra cronologie e statistiche
  • correggi / correggi determinati punti dati che ritieni non corretti
risposta data 14.05.2018 - 15:48
fonte

Leggi altre domande sui tag