Qual è la differenza tra grana grossa e grana fine?
Ho cercato questi termini su Google, ma non sono riuscito a trovare il loro significato.
Qual è la differenza tra grana grossa e grana fine?
Ho cercato questi termini su Google, ma non sono riuscito a trovare il loro significato.
Risposte:
La granularità è la misura in cui un sistema è suddiviso in piccole parti, o il sistema stesso o la sua descrizione o osservazione. È la misura in cui un'entità più grande è suddivisa. Ad esempio, un cortile rotto in pollici ha una granularità più fine di un cortile rotto in piedi.
I sistemi a grana grossa sono costituiti da un minor numero di componenti più grandi rispetto ai sistemi a grana fine; una descrizione a grana grossa di un sistema riguarda i sottocomponenti di grandi dimensioni mentre una descrizione a grana fine riguarda i componenti più piccoli di cui sono composti quelli più grandi.
In parole povere
È preferibile eseguire operazioni di servizio a grana grossa, che sono composte da operazioni a grana fine
A grana grossa: alcuni oject contengono molti dati correlati, motivo per cui i servizi hanno un ambito più ampio di funzionalità. Esempio: un singolo oggetto "Conto" contiene il nome del cliente, l'indirizzo, il saldo del conto, la data di apertura, la data dell'ultima modifica, ecc. Pertanto: maggiore complessità del progetto, numero minore di celle per varie operazioni
A grana fine: più oggetti contengono ciascuno meno dati, per questo motivo i servizi hanno un ambito più limitato di funzionalità. Esempio: un oggetto Conto contiene saldo, un oggetto Cliente contiene nome e indirizzo, un oggetto AccountOpenings contiene data di apertura, ecc. Pertanto: Diminuzione della complessità del progetto, maggior numero di celle per varie operazioni di servizio. Queste sono relazioni definite tra questi oggetti.
Un altro modo per capire sarebbe pensare in termini di comunicazione tra processi e thread. I processi comunicano con l'aiuto di meccanismi di comunicazione a grana grossa come socket, gestori di segnali, memoria condivisa, semafori e file. I thread, d'altra parte, hanno accesso allo spazio di memoria condivisa che appartiene a un processo, che consente loro di applicare meccanismi di comunicazione più fini.
Fonte: concorrenza Java in pratica
In termini di set di dati come un file di testo, significato a grana grossa possiamo trasformare l'intero set di dati ma non un singolo elemento nel set di dati Mentre a grana fine significa che possiamo trasformare un singolo elemento nel set di dati.
Nel contesto dei servizi:
http://en.wikipedia.org/wiki/Service_Granularity_Principle
Per definizione un'operazione di servizio a grana grossa ha una portata più ampia di un servizio a grana fine, sebbene i termini siano relativi. Il primo richiede in genere una maggiore complessità di progettazione, ma può ridurre il numero di chiamate necessarie per completare un'attività.
Un'interfaccia di servizio a grana fine è quasi la stessa dell'interfaccia chiacchierone.
Entrambi a grana grossa e a grana fine pensano entrambi a ottimizzare un certo numero di servizi. Ma la differenza sta nel livello. Mi piace spiegare con un esempio, capirai facilmente.
A grana fine : ad esempio, ho 100 servizi come findbyId, findbyCategry, findbyName ...... ecc. Invece di tanti servizi perché non possiamo fornire find (id, categoria, nome .... ecc.). In questo modo possiamo ridurre i servizi. Questo è solo un esempio, ma l'obiettivo è come ottimizzare il numero di servizi.
A grana grossa : ad esempio, ho 100 clienti, ogni cliente ha il proprio set di 100 servizi. Quindi devo fornire servizi totali 100 * 100. È molto difficile. Invece di quello che faccio, identifico tutti i servizi comuni che si applicano alla maggior parte dei clienti come un unico set di servizi e rimanendo separatamente. Ad esempio, in 100 servizi sono comuni 50 servizi. Quindi devo gestire solo 100 * 50 + 50.
La granularità a grana grossa non significa sempre componenti più grandi, se si passa letteralmente dal significato di parola grossa, significa duro o non appropriato. ad es. nella gestione di progetti software, se si suddivide un piccolo sistema in pochi componenti, che sono uguali per dimensioni, ma varia in termini di complessità e funzionalità, ciò potrebbe comportare una granularità grossolana. Al contrario, per una suddivisione a grana fine, si dividerebbero i componenti in base alla loro coesione delle funzionalità fornite da ciascun componente.
a grana grossa e a grana fine. Entrambe queste modalità definiscono la modalità di condivisione dei core tra più attività Spark. Come suggerisce il nome, la modalità a grana fine è responsabile della condivisione dei core a un livello più granulare. La modalità a grana fine è stata deprecata da Spark e verrà presto rimossa.
I servizi a grana grossa offrono funzionalità più ampie rispetto al servizio a grana fine. A seconda del dominio aziendale, è possibile creare un singolo servizio per servire una singola unità aziendale o creare servizi specializzati multipli a grana fine se le subunità sono in gran parte indipendenti l'una dall'altra. Il servizio a grana grossa può diventare più difficile può essere meno adattabile ai cambiamenti a causa delle sue dimensioni, mentre il servizio a grana fine può introdurre ulteriore complessità nella gestione di più servizi.
Nei termini del tag POS (parte del discorso),