Gli unici tipi di "fonti" di dati sono statici e dinamici?

3

Pensando che potrebbero essercene altri, ma non sono sicuro - ma prima di approfondire, lascia che ti spieghi cosa intendo per origini dati statiche e dinamiche.

  • Statico (o datastore) - Significa che lo stato dei dati non cambia e, se è stato modificato, questo sarebbe un nuovo stato e i vecchi dati sarebbero considerati senza stato; nel senso che non è più noto esistere o non esistere. Un altro modo di guardare un'origine dati statica potrebbe essere che se letto e scritto di nuovo senza modifiche, il checksum per prima e dopo dovrebbe essere esattamente lo stesso indipendentemente dalla durata del tempo tra la lettura e la riscrittura dei dati. Esempi: Foto, file, record del database,
  • Dinamico (o datastream) - Significa che lo stato dei dati è noto per essere in flusso e non dovrebbe mai essere uguale per input. Esempio: feed video / audio dal vivo, feed della borsa,

Prima lasciatemi dire che quanto sopra è una mappatura molto ampia dei concetti e sarei lieto di ricevere qualsiasi feedback.

Successivamente, sul nucleo della domanda, quell'essere sono questi gli unici due tipi di fonti di dati. La mia ipotesi è che sì, lo sono - ma che ci sono versioni ibride dei due. Detto questo, lo streaming di dati che ha uno stato fisso. Ad esempio, i dati in streaming hanno un checksum dato e ogni checksum unico è noto per essere una singola istanza di dati statici. Il rovescio della medaglia, i dati statici potrebbero essere concatenati tramite dire un sistema di controllo della versione; quando riprodotti, ogni versione può essere vista come un segmento di un flusso; la cosa è, il fatto stesso che possa essere riprodotto rende l'origine dei dati statica. Un altro tipo potrebbe essere che l'origine dei dati viene scoperta organicamente ed è semplicemente sconosciuto qual è lo stato.

Domande, feedback, richieste - solo commenti, grazie !!

    
posta blunders 26.02.2011 - 16:55
fonte

4 risposte

1

Per me ci sono tanti tipi di dati come quello che vuoi fare con loro. Tutti i dati che tu chiami statici o dinamici sono destinati a cambiare. La cosa che devi sapere è come cambia e cosa devi fare quando cambia.

Puoi pensare ai dati più statici come costanti. Se puoi garantire che alcuni dati non cambieranno mai nel corso della vita del tuo programma, e non avrai mai bisogno di testare valori diversi, allora hardcode che - esempi sono costanti matematiche come e o pi (alcune persone potrebbero ancora voler mantieni quelli configurabili se la loro applicazione consente una variazione di precisione).

C'è un sacco di dati molto statici che per qualche ragione non vuoi andare a scapito di creare un parametro configurabile per i tuoi programmi, li hai ancora hardcode, ma tieni presente che modificarli significa compilare e il lavoro (potrebbe richiedere un nuovo test completo).

Poi ci sono tutti i dati che sono statici e di grandi dimensioni, ma tu vuoi cambiare di tanto in tanto. Chiamare un database di riferimento o un set di parametri di configurazione. Qualunque sia il mezzo, hai un modo semplice per cambiare il set di dati senza ricompilare il progetto. Probabilmente vorresti controllare la versione di questo tipo di dati.

Dopo che hai un sacco di dati che di nuovo è generalmente abbastanza statico ma che gli utenti devono essere in grado di cambiare (direttamente o indirettamente). Questo può essere considerato come un dato informativo generale. Questo potrebbe essere l'indirizzo di un cliente, il suo nome ... Quindi non cambierà di frequente, ma può cambiare. Questo tipo di dati si potrebbe voler mantenere un backup di, ma probabilmente non versione controllata in quanto è in realtà l'uso operativo piuttosto che la configurazione del sistema. Alcune persone potrebbero voler controllare la versione in base ai requisiti aziendali.

Quindi vedrei i dati in tempo reale. Dati che derivano da un sistema o mezzo di accesso al tuo sistema. Questo è dinamico nella sua massima estensione. Naturalmente, come dici tu, alcuni dati dinamici potrebbero essere piuttosto statici. Ma se si tratta di un input esterno nel tuo sistema, probabilmente devi presupporre che possa cambiare in qualsiasi momento.

Ma anche i dati live possono essere archiviati per sempre e possibilmente controllati dalla versione. Di nuovo controlla i tuoi requisiti aziendali.

Sia che tu chiami uno di quei gruppi di dati statici o dinamici dipende da te e dalle persone con cui parli - assicurati che tutti siano in linea con la stessa lingua per una particolare applicazione o progetto.

    
risposta data 26.02.2011 - 19:07
fonte
0

Consente di eseguire il backup di un ulteriore passo avanti. Che cosa sono i dati? È un catalogo di fatti (possibilmente correlati). Un dato è una singola proposizione, che è vera o non vera. Raccogliendo quel particolare dato in un database, affermiamo che la proposizione è vera.

Un esempio di tale proposta potrebbe essere, per usare l'esempio del mercato azionario potrebbe essere

The price of Apple Stock is $348.16 per Share

La raccolta può riguardare le proposizioni distinte secondo un numero di predicati. Questi predicati possono essere pensati come dimensioni su cui le proposizioni possono variare. Ad esempio,

on Feb 25 at 4:00pm ET

Vale a dire, potremmo credere che una proposizione sia vera a seconda del momento della proposizione. Questa non è l'unica dimensione che potremmo voler considerare. Una proposizione può essere valida solo in una determinata località. Potremmo voler chiarire chi sta sostenendo la proposta. Potremmo imparare in un secondo momento che la proposizione sostenuta per un tempo precedente non era corretta, quindi dobbiamo sapere esattamente quando la proposizione è affermata come vera, ma anche quando la proposizione è stata rivendicata come vera.

Claim: The price of Apple Stock is $348.16 per Share

Source: Google Finance
Valid: Date: Feb 25 4:00pm ET
Location: NASDAQ
Transaction Date: Feb 26 10:00am CT
    
risposta data 26.02.2011 - 17:39
fonte
0

I termini static e dynamic possono riferirsi a molte cose diverse nel calcolo (allocazioni di memoria, sistemi di battitura, ecc.), quindi probabilmente vorrai usare una terminologia diversa . In finanza, abbiamo dati storici e streaming , sebbene la distinzione non sia basata sullo stato; si basa sul fatto che i dati debbano essere consumati in tempo reale o meno.

Potresti eventualmente ritagliare i messaggi di richiesta / risposta (FIX, HTTP) come set di dati separato se lo desideri. Devono essere consumati in tempo reale, ma gli eventi che scatenano sono molto più vari rispetto alla semplice osservazione.

    
risposta data 26.02.2011 - 17:38
fonte
0

Credo che come esseri umani ci piacciono le cose in categorie perché questo è il modo in cui funziona la nostra mente.

Allo stesso modo credo fermamente che questo sia un errore fondamentale nella programmazione - spesso tendiamo a categorizzare cose che semplicemente non hanno bisogno di essere in una categoria o di avere un tipo.

Evitare questa tendenza credo sia fondamentale per creare il design giusto.

Quindi per rispondere alla tua domanda no , i dati statici e dinamici sono identici. Alcuni dati cambiano più spesso di altri, ma ciò non garantisce una distinzione arbritratica.

Sono entrambi dati che provengono da qualche parte e probabilmente vanno da qualche parte, quindi mantienili semplici.

    
risposta data 26.02.2011 - 20:04
fonte

Leggi altre domande sui tag