В чем разница между крупнозернистым и мелкозернистым?
Я искал эти термины в Google, но не смог найти, что они означают.
terminology
granularity
LoveTW
источник
источник
Ответы:
Из Википедии (детализация) :
источник
Проще говоря
Лучше иметь более грубые сервисные операции, которые состоят из мелкозернистых операций.
источник
Крупнозернистый: несколько объектов содержат много связанных данных, поэтому сервисы имеют более широкий спектр функциональных возможностей. Пример: один объект «Учетная запись» содержит имя клиента, адрес, баланс счета, дату открытия, дату последнего изменения и т. Д. Таким образом: повышенная сложность дизайна, меньшее количество ячеек для различных операций
Детальный: больше объектов, каждый из которых содержит меньше данных, поэтому сервисы имеют более узкую функциональность. Пример: объект Account содержит баланс, объект Customer содержит имя и адрес, объект AccountOpenings содержит дату открытия и т. Д. Таким образом: меньшая сложность дизайна, большее количество ячеек для различных операций обслуживания. Это отношения, определенные между этими объектами.
источник
Еще один способ понять это - подумать о взаимодействии между процессами и потоками. Процессы взаимодействуют с помощью грубых механизмов связи, таких как сокеты, обработчики сигналов, разделяемая память, семафоры и файлы. С другой стороны, потоки имеют доступ к общему пространству памяти, которое принадлежит процессу, что позволяет им применять более тонкие механизмы связи.
Источник: параллелизм Java на практике
источник
С точки зрения набора данных, такого как текстовый файл, крупнозернистый означает, что мы можем преобразовать весь набор данных, но не отдельный элемент в наборе данных, а мелкозернистый означает, что мы можем преобразовать отдельный элемент в наборе данных.
источник
В разрезе услуг:
http://en.wikipedia.org/wiki/Service_Granularity_Principle
Детализированный интерфейс сервиса примерно такой же, как и болтливый интерфейс.
источник
И крупнозернистый, и мелкозернистый предназначены для оптимизации количества услуг. Но разница в уровне. Я люблю объяснять на примере, вы легко поймете.
Мелкозернистый : Для меня , например, 100 услуг , таких как findbyId, findbyCategry, FindByName ...... так далее. Вместо этого многие службы, почему мы не можем предоставить поиск (идентификатор, категория, имя и т. Д.). Таким образом, мы можем сократить количество услуг. Это всего лишь пример, но цель состоит в том, чтобы оптимизировать количество услуг.
Примерно : например, у меня 100 клиентов, у каждого клиента свой набор из 100 услуг. Так что я должен предоставить 100 * 100 услуг. Это очень сложно. Вместо этого я определяю все общие услуги, которые применяются к большинству клиентов, как один набор услуг и остаюсь отдельно. Например, из 100 сервисов 50 сервисов являются общими. Так что мне нужно управлять только 100 * 50 + 50.
источник
Крупная зернистость не всегда означает более крупные компоненты, если понимать буквально значение слова «грубая», она означает резкий или неподходящий. например, при управлении проектами программного обеспечения, если вы разбиваете небольшую систему на несколько компонентов, которые равны по размеру, но различаются по сложности и функциям, это может привести к грубой гранулярности. И наоборот, для детальной разбивки вы должны разделить компоненты на основе их связности с функциями, которые предоставляет каждый компонент.
источник
крупнозернистый и мелкозернистый. Оба этих режима определяют, как ядра распределяются между несколькими задачами Spark. Как следует из названия, мелкозернистый режим отвечает за совместное использование ядер на более детальном уровне. Детальный режим больше не поддерживается Spark и скоро будет удален.
источник
Корректные сервисы предоставляют более широкие функциональные возможности по сравнению с мелкозернистыми сервисами. В зависимости от бизнес-домена может быть создана одна служба для обслуживания одной бизнес-единицы или несколько специализированных детализированных служб, если подразделения в значительной степени независимы друг от друга. Крупнозернистый сервис может стать более сложным, а может быть менее адаптируемым к изменениям из-за своего размера, в то время как мелкозернистый сервис может внести дополнительную сложность в управление несколькими сервисами.
источник
С точки зрения тега POS (часть речи),
источник