it-swarm-eu.dev

Grobkörnig gegen feinkörnig

Was ist der Unterschied zwischen grobkörnig und feinkörnig?

Ich habe diese Begriffe bei Google gesucht, konnte aber nicht finden, was sie bedeuten.

93
LoveTW

Aus Wikipedia (Granularität) :

Granularität ist der Umfang, in dem a System ist in kleine .__ zerlegt. Teile, entweder das System selbst oder seine Beschreibung oder Beobachtung. Es ist der Umfang, in dem eine größere Entität ist unterteilt. Zum Beispiel ist ein Yard defekt in Zoll hat eine feinere Granularität als ein Hof in Fuß gebrochen.

Grobkörnige Systeme bestehen aus weniger, größere Bauteile als feinkörnige Systeme; ein grobkörniges Beschreibung eines Systems betrifft große Unterkomponenten während eine feinkörnige Beschreibung bezieht sich auf kleinere Komponenten von denen die größeren zusammengesetzt sind.

103

In einfachen Worten

  • Grobkörnige - größere Bauteile als feinkörnige, große Unterkomponenten. Wickelt einfach einen oder mehrere feinkörnige Dienste zu einem grobkörnigeren Vorgang zusammen. 
  • Feinkörnige - kleinere Komponenten, aus denen die größeren Komponenten bestehen, niedrigerer Service

Es ist besser, grobkörnigere Serviceoperationen zu haben, die sich aus feinkörnigen Operationen zusammensetzen

enter image description here

23
Techie

Grobkörnig: Einige Objekte enthalten viele verwandte Daten, weshalb Dienste einen größeren Funktionsumfang bieten. Beispiel: Ein einzelnes "Konto" -Objekt enthält den Kundennamen, die Adresse, den Kontostand, das Eröffnungsdatum, das Datum der letzten Änderung usw. Also: Erhöhte Design-Komplexität, geringere Anzahl von Zellen für verschiedene Operationen

Feinkörnig: Mehr Objekte, die jeweils weniger Daten enthalten, deshalb haben Dienste einen engeren Funktionsumfang. Beispiel: Ein Account-Objekt enthält ein Guthaben, ein Customer-Objekt enthält Namen und Adresse, ein AccountOpenings-Objekt enthält ein Eröffnungsdatum usw. Also: Verringerte Entwurfskomplexität, höhere Anzahl von Zellen für verschiedene Serviceoperationen . Dies sind Beziehungen, die zwischen diesen Objekten definiert sind. 

19

Ein weiterer Weg zum Verständnis wäre das Denken in Kommunikation zwischen Prozessen und Threads. Prozesse kommunizieren mit Hilfe von grobkörnigen Kommunikationsmechanismen wie Sockets, Signalhandlern, Shared Memory, Semaphoren und Dateien. Auf der anderen Seite haben Threads Zugriff auf einen gemeinsamen Speicherbereich, der zu einem Prozess gehört, wodurch sie feinkörnigere Kommunikationsmechanismen anwenden können. 

Quelle: Java Parallelität in der Praxis

5
Sumeer Sinha

Im Zusammenhang mit Dienstleistungen:

http://en.wikipedia.org/wiki/Service_Granularity_Principle

Per Definition hat eine grobkörnige Serviceoperation einen breiteren Anwendungsbereich als ein feinkörniger Dienst, obwohl die Ausdrücke relativ sind. Das Former erfordert normalerweise eine erhöhte Entwurfskomplexität, kann jedoch die Reduzierung von Die Anzahl der Anrufe, die zum Abschließen einer Aufgabe erforderlich sind.

Eine feinkörnige Service-Schnittstelle ist ungefähr die gleiche wie eine gesprächige Schnittstelle.

2
user3285954

In Bezug auf ein Dataset wie eine Textdatei kann mit der Bezeichnung "grobkörnig" der gesamte Dataset, nicht jedoch ein einzelnes Element des Datasets transformiert werden. Feinkörnig bedeutet, dass wir einzelne Elemente des Datasets transformieren können. 

1
Manish Pansari

grobkörnig und feinkörnig. Beide Modi definieren, wie die Kerne von mehreren Spark-Tasks gemeinsam genutzt werden. Wie der Name schon sagt, ist der feinkörnige Modus für die gemeinsame Nutzung der Kerne auf einer feineren Ebene verantwortlich. Der feinkörnige Modus wurde von Spark abgelehnt und wird bald entfernt.

1

Grobkörnige Granularität bedeutet nicht immer größere Komponenten. Wenn Sie wörtlich die Bedeutung des Wortes grob verstehen, bedeutet es grob oder nicht passend. z.B. Wenn Sie bei der Verwaltung von Softwareprojekten ein kleines System in wenige Komponenten unterteilen, die gleich groß sind, sich aber in Komplexität und Funktionen unterscheiden, kann dies zu einer grobkörnigen Granularität führen. Umgekehrt würden Sie für eine feinkörnige Aufteilung die Komponenten basierend auf ihrem Zusammenhalt der von jeder Komponente bereitgestellten Funktionalitäten unterteilen.

1
Abhishek Singh

Grobkörnig und feinkörnig denken beide über die Optimierung einer Reihe von Wartungsarbeiten nach. Der Unterschied liegt jedoch im Niveau. Ich erkläre es gerne mit einem Beispiel, das Sie leicht verstehen werden.

Feinkörnig : Zum Beispiel habe ich 100 Dienste wie findbyId, findbyCategry, findbyName ...... so weiter. Anstelle dieser vielen Dienste können wir find (ID, Kategorie, Name usw.) nicht anbieten. Auf diese Weise können wir die Dienste reduzieren. Dies ist nur ein Beispiel, aber das Ziel besteht darin, die Anzahl der Dienste zu optimieren.

grobkörnig : Zum Beispiel habe ich 100 Kunden, jeder Kunde hat seinen eigenen Satz von 100 Diensten. Also muss ich insgesamt 100 * 100 Services anbieten. Das ist sehr schwer. Anstelle dessen, was ich tue, identifiziere ich alle gängigen Dienste, die für die meisten Kunden gelten, als einen Dienstsatz, der separat bleibt. Zum Beispiel sind in 100 Diensten 50 Dienste üblich. Ich muss also nur 100 * 50 + 50 verwalten. 

0
Sun

Corse-Grained-Services bieten im Vergleich zu Fine-Grained-Services umfassendere Funktionen. Abhängig von der Geschäftsdomäne kann ein einzelner Service für eine einzelne Geschäftseinheit erstellt werden, oder es können spezialisierte, mehrstufige Services erstellt werden, wenn die Untereinheiten weitgehend unabhängig voneinander sind. Ein grobkörniger Dienst kann schwieriger werden und aufgrund seiner Größe möglicherweise weniger anpassungsfähig sein, während ein feinkörniger Dienst eine zusätzliche Komplexität für die Verwaltung mehrerer Dienste mit sich bringt.

0
Sagar Sharma