So sánh giữa hệ thống phân tán và hệ thống tập trung

Một phần của tài liệu Hệ thống quản lý phiên bản theo mô hình phân tán pptx (Trang 28 - 30)

CVCS DVCS Mục đích (http://stackoverflow.co m/questions/111031/ comparison-between- centralized-and-distributed- version-control-systems)

Được thiết kế với mục đích có một Source chuẩn nhất và tất cả các developer làm việc (check out) từ source đó,và sau đó lưu (commit) những thay đổi .Chỉ có sự khác biệt thực sự giữa CVS

,SVN,ClearCase,Perforce ,VisualSourceSafe và tất cả các CVCS khác là trong Workflow, hiệu xuất và tích hợp mỗi sản phẩm cung cấp

Hệ thống được thiết kế với mục đích là một Repo tốt tương đương với bất kì Repo khác,và merge từ một repo đến repo kahcs là chỉ khác hình thức giao tiếp.Bất kì giá trị ngữ nghĩa đáng tin cậy được áp đặt từ bên ngoài chứ không phải bản thân chương trình Mô hình làm việc (http://namheo.com/blog/ share/ph%E1%BA%A7n-i-git- h%E1%BB%87-th%E1%BB %91ng-qu%E1%BA%A3n-ly- source-phan-tan/)

repository gốc sẽ được lưu trữ trên server và lập trình viên sẽ checkout về một bản copy mới nhất từ source code trên server đó để làm việc. Và khi ta muốn apply thay đổi của ta từ local ta sẽ send yêu cầu đó lên server. Đó chính là nguyên tắc

Quản lý phân là một repositories không cần có chung một nơi để lưu trữ, mà m thành viên sẽ có một repository ở local của họ. Tất cả thao tác ta làm việc với Git đều ở trên máy của ta, local repository,

chung của source control khi quyết định đưa những thay đổi đó lên server ta chỉ cần một thao tác "push" nó lên server. Chúng ta vẫn có thể share thay đổi của chúng ta cho thành viên khác, bằng cách commit hoặc update trực tế

từ máy của họ mà không phải thông qua repositories gốc trên server (thông qua share ssh cho nhau)

An toàn (http://namheo.com/blog/ share/ph%E1%BA%A7n-i-git- h%E1%BB%87-th%E1%BB %91ng-qu%E1%BA%A3n-ly- source-phan-tan/)

Khi server bị dow hoặc lỗi sẽ không làm việc

được hoặc mất dữ liệu khi server bị down, các thành viên vẫn có thể làm việc offline, họ vẫn có thể

commit và update trên local của họ hoặ

thậm chí với nhau mà không cần thông qua server. Khi server hoạt động trở lại, họ có thể cập nhật (push)tất cả lên lại server Tốc độ (http://whygitisbetterthanx.co m /#cheap-local-branching)

CVCS làm việc giữa client và server nên tốc độ

chậm Git làm việc với mọi thao tác trực tiếp

trên Repository của Local nên nhanh hơn.

Kích thước Repository (http://nguontrithuc.net/mybb/

thread-2318-post- 8470.html#pid8470)

Kích thước repository thường chỉ bằng 1.5 lần kích thước project nó chứaRepository của Mozilla chiếm khoảng 12GB khi dùng SVN

khi chuyển sang Git thì chỉ chiếm khoảng 400MB.

Phạm vi ứng dụng Có thể sử dụng trong các dự án private ,các công ty ,tổ chức vì có mô hình Client – Server nên việc thực hiện các Workflow cho các cộng đồng mã nguồn mở như “mạng xã hội cho lập trình viên” như github hoặc dự án lớn đông người như linux kernel là rất khó khăn,

Có thể sử dụng ở mọi phạm vi ,rất thích hợp cho việc phát triển cộng đồng mã nguồn mở và với các dự án lớn đông người tham gia cùng phát triển

Dung lượng

Repository ở client

Nhỏ vì client khi làm việc chỉ lấy về một phiên bản từ server nếu muốn phiên bản khác họ có thể cập nhật ,nên cũng chính vì thế mà khởi đầu nó nhanh hơn DVCS

Repository của DVCS là một bản sao của Repository trên server ,nó chúa tất cả các phiên bản và lịch sử làm việc nên nó sẽ tốn nhiều dung lượng nếu developer làm việc với dự án lớn. Khời đầu chậm hơn

Cơ chế khóa Là một phần của hầu hết CVCS Thiếu cơ chế khóa

Một phần của tài liệu Hệ thống quản lý phiên bản theo mô hình phân tán pptx (Trang 28 - 30)

Tải bản đầy đủ (DOCX)

(49 trang)
w