Hạt thô vs hạt mịn


126

Sự khác biệt giữa hạt thô và hạt mịn là gì?

Tôi đã tìm kiếm các thuật ngữ này trên Google, nhưng tôi không thể tìm thấy ý nghĩa của chúng.


Tôi nghĩ rằng câu hỏi không đủ cụ thể. Những thuật ngữ này không chỉ được sử dụng để mô tả mức độ chi tiết của các thành phần hệ thống . Chúng cũng được sử dụng để mô tả mức độ chi tiết của kiểm soát truy cập (và có thể có nhiều cách sử dụng hơn ...).
fose

Câu trả lời:


136

Từ Wikipedia (độ chi tiết) :

Độ chi tiết là mức độ mà một hệ thống được chia thành các phần nhỏ, hoặc chính hệ thống hoặc mô tả hoặc quan sát của nó. Đó là mức độ mà một thực thể lớn hơn được chia nhỏ. Ví dụ, một sân bị vỡ thành inch có độ chi tiết mịn hơn so với một sân bị vỡ thành chân.

Các hệ thống hạt thô bao gồm ít hơn, các thành phần lớn hơn các hệ thống hạt mịn; một mô tả chi tiết thô của một hệ thống liên quan đến các thành phần phụ lớn trong khi một mô tả chi tiết liên quan đến các thành phần nhỏ hơn trong đó các thành phần lớn hơn được cấu thành.


37

Nói một cách đơn giản

  • Hạt thô - thành phần lớn hơn hạt mịn, thành phần phụ lớn. Đơn giản chỉ cần kết hợp một hoặc nhiều dịch vụ hạt mịn với nhau thành một hoạt động chi tiết thô hơn.
  • Hạt mịn - các thành phần nhỏ hơn trong đó các thành phần lớn hơn được cấu thành, dịch vụ cấp dưới

Tốt hơn là có các hoạt động dịch vụ chi tiết thô hơn, được cấu thành bởi các hoạt động chi tiết mịn

nhập mô tả hình ảnh ở đây


24

Phân loại thô: Một vài từ chối chứa nhiều dữ liệu liên quan, đó là lý do tại sao các dịch vụ có phạm vi rộng hơn về chức năng. Ví dụ: Một đối tượng "Tài khoản" duy nhất giữ tên khách hàng, địa chỉ, số dư tài khoản, ngày mở cửa, ngày thay đổi cuối cùng, v.v. Do đó: Tăng độ phức tạp trong thiết kế, số lượng ô nhỏ hơn cho các hoạt động khác nhau

Hạt mịn: Nhiều đối tượng hơn, mỗi đối tượng chứa ít dữ liệu hơn, đó là lý do tại sao các dịch vụ có phạm vi hẹp hơn về chức năng. Ví dụ: Đối tượng Tài khoản giữ số dư, đối tượng Khách hàng giữ tên và địa chỉ, đối tượng AccountOpenings giữ ngày mở cửa, v.v ... Do đó: Giảm độ phức tạp trong thiết kế, số lượng ô cao hơn cho các hoạt động dịch vụ khác nhau. Đây là những mối quan hệ được xác định giữa các đối tượng này.


Nó là tốt hơn để có nhiều hoạt động dịch vụ hạt thô, được bao gồm bởi các hoạt động hạt mịn.
Humaun Rashid Naya


6

Một cách nữa để hiểu là suy nghĩ về mặt giao tiếp giữa các tiến trình và luồng. Các quy trình giao tiếp với sự trợ giúp của các cơ chế giao tiếp chi tiết thô như ổ cắm, bộ xử lý tín hiệu, bộ nhớ dùng chung, semaphores và tập tin. Mặt khác, các luồng có quyền truy cập vào không gian bộ nhớ dùng chung thuộc một quy trình, cho phép chúng áp dụng các cơ chế giao tiếp hạt mịn hơn.

Nguồn: Java đồng thời trong thực tế


3

Trong thuật ngữ của tập dữ liệu như một tệp văn bản, nghĩa là chúng ta có thể chuyển đổi toàn bộ tập dữ liệu nhưng không phải là một phần tử riêng lẻ trên tập dữ liệu Trong khi hạt mịn có nghĩa là chúng ta có thể chuyển đổi phần tử riêng lẻ trên tập dữ liệu.


2

Trong bối cảnh dịch vụ:

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

Theo định nghĩa, hoạt động dịch vụ chi tiết thô có phạm vi rộng hơn dịch vụ chi tiết, mặc dù các điều khoản này là tương đối. Trước đây thường yêu cầu tăng độ phức tạp thiết kế nhưng có thể giảm số lượng cuộc gọi cần thiết để hoàn thành một nhiệm vụ.

Một giao diện dịch vụ chi tiết tốt giống như giao diện trò chuyện.


2

Cả hạt thô và hạt mịn đều nghĩ về việc tối ưu hóa một số người hầu. Nhưng sự khác biệt là ở cấp độ. Tôi muốn giải thích với một ví dụ, bạn sẽ dễ hiểu.

Được phân loại tốt : Ví dụ: tôi có 100 dịch vụ như findbyId, findbyCargetry, findbyName ...... v.v. Thay vì nhiều dịch vụ tại sao chúng tôi không thể cung cấp find (id, danh mục, tên .... vv). Vì vậy, cách này chúng ta có thể giảm các dịch vụ. Đây chỉ là một ví dụ, nhưng mục tiêu là làm thế nào để tối ưu hóa số lượng dịch vụ.

Phân loại thô : Ví dụ: tôi có 100 khách hàng, mỗi khách hàng có bộ 100 dịch vụ riêng. Vì vậy, tôi phải cung cấp tổng số 100 * 100 dịch vụ. Nó là rất nhiều khó khăn. Thay vì những gì tôi làm là, tôi xác định tất cả các dịch vụ phổ biến áp dụng cho hầu hết các khách hàng là một bộ dịch vụ và còn lại riêng biệt. Ví dụ trong 100 dịch vụ 50 dịch vụ là phổ biến. Vì vậy, tôi phải quản lý 100 * 50 + 50 mà thôi.


1

Độ chi tiết của hạt thô không phải lúc nào cũng có nghĩa là các thành phần lớn hơn, nếu bạn đi theo nghĩa đen của từ thô, nó có nghĩa là khắc nghiệt, hoặc không phù hợp. vd Ngược lại, đối với phân tích chi tiết, bạn sẽ phân chia các thành phần dựa trên tính cố kết của chúng đối với các chức năng mà mỗi thành phần đang cung cấp.


1

hạt thô và hạt mịn. Cả hai chế độ này đều xác định cách các lõi được chia sẻ giữa nhiều tác vụ Spark. Như tên cho thấy, chế độ hạt mịn chịu trách nhiệm chia sẻ các lõi ở mức độ chi tiết hơn. Chế độ hạt mịn đã bị Spark phản đối và sẽ sớm bị xóa.


1

Dịch vụ hạt mịn cung cấp các chức năng rộng hơn so với dịch vụ hạt mịn. Tùy thuộc vào lĩnh vực kinh doanh, một dịch vụ có thể được tạo để phục vụ một đơn vị kinh doanh hoặc nhiều dịch vụ chuyên biệt có thể được tạo nếu các tiểu đơn vị độc lập với nhau. Dịch vụ hạt thô có thể trở nên khó khăn hơn có thể ít thích ứng với thay đổi do quy mô của nó trong khi dịch vụ hạt mịn có thể giới thiệu thêm sự phức tạp của việc quản lý nhiều dịch vụ.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.