Was ist der Unterschied zwischen grobkörnig und feinkörnig?
Ich habe diese Begriffe bei Google gesucht, konnte aber nicht finden, was sie bedeuten.
terminology
granularity
LoveTW
quelle
quelle
Antworten:
Aus Wikipedia (Granularität) :
quelle
In einfachen Worten
Es ist besser, grobkörnigere Servicevorgänge zu haben, die sich aus feinkörnigen Vorgängen zusammensetzen
quelle
Grobkörnig: Einige Objekte enthalten viele verwandte Daten, weshalb Dienste einen breiteren Funktionsumfang haben. Beispiel: Ein einzelnes "Konto" -Objekt enthält den Kundennamen, die Adresse, den Kontostand, das Eröffnungsdatum, das Datum der letzten Änderung usw. So: Erhöhte Designkomplexität, geringere Anzahl von Zellen für verschiedene Vorgänge
Feinkörnig: Mehr Objekte mit jeweils weniger Daten, weshalb Dienste einen engeren Funktionsumfang haben. Beispiel: Ein Account-Objekt enthält den Kontostand, ein Customer-Objekt den Namen und die Adresse, ein AccountOpenings-Objekt das Eröffnungsdatum usw. So: Verringerte Entwurfskomplexität, höhere Anzahl von Zellen für verschiedene Servicevorgänge. Dies sind Beziehungen, die zwischen diesen Objekten definiert sind.
quelle
Ein weiterer Weg zu verstehen wäre, in der Kommunikation zwischen Prozessen und Threads zu denken. Prozesse kommunizieren mit Hilfe von grobkörnigen Kommunikationsmechanismen wie Sockets, Signalhandlern, gemeinsam genutztem Speicher, Semaphoren und Dateien. Threads haben andererseits Zugriff auf gemeinsam genutzten Speicherplatz, der zu einem Prozess gehört, wodurch sie feinkörnigere Kommunikationsmechanismen anwenden können.
Quelle: Java-Parallelität in der Praxis
quelle
In Bezug auf einen Datensatz wie eine Textdatei bedeutet grobkörnig, dass wir den gesamten Datensatz transformieren können, jedoch kein einzelnes Element im Datensatz. Während feinkörnig bedeutet, dass wir einzelne Elemente im Datensatz transformieren können.
quelle
Im Zusammenhang mit Dienstleistungen:
http://en.wikipedia.org/wiki/Service_Granularity_Principle
Eine feinkörnige Serviceschnittstelle entspricht in etwa der gesprächigen Benutzeroberfläche.
quelle
Sowohl grobkörnig als auch feinkörnig denken beide darüber nach, eine Reihe von Serviceleistungen zu optimieren. Aber der Unterschied liegt im Niveau. Ich möchte mit einem Beispiel erklären, Sie werden leicht verstehen.
Feinkörnig : Zum Beispiel habe ich 100 Dienste wie findbyId, findbyCategry, findbyName ...... usw. Anstelle dieser vielen Dienste können wir keine Suche anbieten (ID, Kategorie, Name ... usw.). Auf diese Weise können wir die Dienstleistungen reduzieren. Dies ist nur ein Beispiel, aber das Ziel ist, die Anzahl der Dienste zu optimieren.
Grobkörnig : Zum Beispiel habe ich 100 Kunden, jeder Kunde hat seinen eigenen Satz von 100 Diensten. Ich muss also insgesamt 100 * 100 Dienstleistungen erbringen. Es ist sehr schwierig. Stattdessen identifiziere ich alle allgemeinen Dienste, die für die meisten Clients gelten, als einen Dienstsatz und verbleibe separat. Zum Beispiel sind in 100 Diensten 50 Dienste üblich. Ich muss also nur 100 * 50 + 50 verwalten.
quelle
Grobkörnige Granularität bedeutet nicht immer größere Komponenten. Wenn Sie wörtlich das Wort grob verstehen, bedeutet dies hart oder nicht angemessen. Wenn Sie beispielsweise bei der Verwaltung von Softwareprojekten ein kleines System in wenige Komponenten aufteilen, die gleich groß sind, sich jedoch 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 Aufschlüsselung die Komponenten basierend auf ihrer Kohäsivität der Funktionen, die jede Komponente bereitstellt, unterteilen.
quelle
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 detaillierteren Ebene verantwortlich. Der feinkörnige Modus wurde von Spark veraltet und wird bald entfernt.
quelle
Corse-Grained-Services bieten im Vergleich zu Fine-Grained-Services umfassendere Funktionen. Abhängig von der Geschäftsdomäne kann ein einzelner Dienst für eine einzelne Geschäftseinheit erstellt werden, oder es können spezialisierte mehrere feinkörnige Dienste erstellt werden, wenn die Untereinheiten weitgehend unabhängig voneinander sind. Grobkörniger Dienst kann schwieriger werden und aufgrund seiner Größe weniger anpassungsfähig sein, während feinkörniger Dienst die Verwaltung mehrerer Dienste zusätzlich komplexer machen kann.
quelle