Крупнозернистый против мелкозернистого

72

В чем разница между крупнозернистым и мелкозернистым?

Я искал эти условия в Google, но я не мог найти, что они означают.

  • 0
    Я думаю, что вопрос не достаточно конкретен. Эти термины используются не только для описания гранулярности компонентов системы . Они также используются для описания гранулярности контроля доступа (и, возможно, есть еще способы использования ...).
Теги:
design
terminology
granularity

8 ответов

82
Лучший ответ

Из Википедия (гранулярность):

Гранулярность - это степень, в которой система разбита на мелкие частей, либо самой системы, либо ее описание или наблюдение. Это в какой степени более крупная организация подразделяют. Например, разбитый двор в дюймы имеет более тонкую гранулярность, чем двор, разбитый на ноги.

Крупнозернистые системы состоят из меньше, более крупных компонентов, чем мелкозернистые системы; крупнозернистый описание системы рассматривает большие подкомпоненты, в то время как мелкозернистые описание относится к меньшим компонентам из которых состоят более крупные.

17

Простыми словами

  • Крупнозернистые - более крупные компоненты, чем мелкозернистые, крупные подкомпоненты. Просто обертывает одно или несколько мелкозернистых услуг вместе в более крупнозернистую операцию.
  • мелкозернистый - более мелкие компоненты, из которых состоят более крупные, низкоуровневая служба

Лучше иметь более крупнозернистые операции обслуживания, которые состоят из мелкозернистых операций

Изображение 7888

14

Крупнозернистый:. В нескольких объектах содержится множество взаимосвязанных данных о том, почему услуги имеют более широкую функциональность. Пример. Один объект "Учетная запись" содержит имя, адрес, баланс счета, дату открытия, дату последнего изменения и т.д. Таким образом: Повышенная сложность дизайна, меньшее количество ячеек для различных операций

Изобразительное: Больше объектов, каждый из которых содержит меньше данных, поэтому службы имеют более узкую функциональность. Пример. Объект Account имеет баланс, объект Customer имеет имя и адрес, объект AccountOpenings имеет дату открытия и т.д. Таким образом: Сниженная сложность дизайна, большее количество ячеек для различных сервисных операций. Это отношения, определенные между этими объектами.

  • 0
    Лучше иметь более грубые сервисные операции, которые состоят из мелких операций.
3

Еще один способ понять - подумать в терминах связи между процессами и потоками. Процессы взаимодействуют с помощью грубых зернистых механизмов связи, таких как сокеты, обработчики сигналов, разделяемая память, семафоры и файлы. С другой стороны, потоки имеют доступ к пространству разделяемой памяти, которое принадлежит процессу, что позволяет им применять более мелкие механизмы обмена зерном.

Источник: Java concurrency на практике

3

В контексте сервисов:

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

По определению крупномасштабная операция обслуживания имеет более широкий охват чем мелкозернистая служба, хотя термины относительны. прежний обычно требует повышенной сложности конструкции, но может уменьшить количество вызовов, необходимых для выполнения задачи.

Интерфейс с мелкозернистым сервисом примерно такой же, как chatty-интерфейс.

1

В терминах набора данных, таких как текстовый файл, грубый смысл мы можем преобразовать весь набор данных, но не отдельный элемент в наборе данных. В то время как мелкозернистые средства мы можем преобразовать отдельный элемент в набор данных.

1

крупнозернистый и мелкозернистый. Оба этих режима определяют способ совместного использования ядер между несколькими задачами Spark. Как следует из названия, мелкозернистый режим ответственный за совместное использование ядер на более узком уровне. Мелкозернистый режим устарел от Spark и скоро будет удален.

1

Грубозернистая зернистость не всегда означает более крупные компоненты, если вы понимаете буквально значение грубого слова, это означает жесткость или нецелесообразность. например В управлении проектами программного обеспечения, если вы разбиваете небольшую систему на несколько компонентов, которые равны по размеру, но различаются по сложности и особенностям, это может привести к крупнозернистой детализации. В обратном случае для мелкозернистого разбиения вы разделите компоненты на основе их согласованности функциональных возможностей, предоставляемых каждым компонентом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню