teo prome ha scritto:
prenotazioni-pagamenti-utente certo che sono relazionati, nel caso di Azure Table avranno appositi PartitionKey e RowKey, occorre uscire però dal modo classico di intendere le relazioni facendole direttamente a storage; personalmente quel metodo non mi è mai piaciuto, voglio avere una struttura con la massima flessibilità, se cambio storage non voglio passare il mio tempo a ricostruire relazioni o altro, ho sempre preferito avere un layer di codice apposito dove eventualmente relazionare le chiamate. Se un utente fa un'azione che comporta due-tre chiamate, magari asincrone, che poi relaziono col codice per me è perfetto; se voglio cambiare la risposta, perché magari il cliente vuole che escano dati diversi, perfetto, cambio due righe di codice.
Cosa mi da in più? A me conviene in termini di flessibilità, portabilità, modificabilità, pulizia, velocità, e mille altre cose, ma ognuno valuterà in base al suo progetto; non esiste una buona scelta in generale per tutti i progetti, ma solo una scelta valida ad ottenere un buon risultato finale per quel progetto.
PowerBI l'ho solo visto di sfuggita, non ho idea quindi di come possa trattare i dati su diversi tipi di storage.
Modificato da teo prome il 04 maggio 2020 09:11 -
Ok condivido il punto di vista e proprio per questo sono interessato a capire.
Quello che però ancora non comprendo è se hai il classico gestionale dove
- registrati un cliente
- registri ordini per quel cliente
- in seguito modifichi anagrafica cliente
In un modello relazionale ordine ha la foreign key a cliente quindi la prossima volta che recupero i dati di ordine troverò quelli del cliente aggiornati.
Non capisco come funzioni tutto ciò invece su uno storage come azure table o ancora come mongodb, etc...
Se volessi ancora per esempio ottenere tutti gli ordini di un cliente e paginarli a video come faccio?
Grazie per le risposte, sono davvero interessato a capire come possa essere fatto diversamente.
Il vantaggio di archiviare dati con forma diversa senza definirla è indubbiamente potente ma quale poi il prezzo di gestire tutta la logica nel codice?
Un DataAccess su questi sistemi che gestisce dati di questo tipo che "forma ha"? Come recupera o salva i dati in transazione?