Helpex - Trao đổi & giúp đỡ Đăng nhập

Kiến trúc cơ sở dữ liệu master-master vs master-slave?

Phan Hòa Hiệp
· 16:02 17/09/2010
4 ngày trước

Tôi đã nghe nói về hai loại kiến ​​trúc cơ sở dữ liệu.

  • Sư phụ sư phụ

  • chủ-nô

Không phải master-master phù hợp hơn với web ngày nay vì nó giống như Git, mọi đơn vị đều có toàn bộ tập hợp dữ liệu và nếu một đơn vị bị hỏng, nó không hoàn toàn quan trọng.

Master-slave nhắc tôi về SVN (mà tôi không thích) nơi bạn có một đơn vị trung tâm xử lý mọi thứ.

Câu hỏi:

  1. Ưu và nhược điểm của từng loại là gì?

  2. Nếu bạn muốn có một cơ sở dữ liệu cục bộ trong điện thoại di động của mình như iPhone, thì cái nào thích hợp hơn?

  3. Việc lựa chọn một trong những điều này có phải là một yếu tố quan trọng cần xem xét kỹ lưỡng?

120 hữu ích 1 bình luận 88k xem chia sẻ
Dương Thùy Minh
· 17:21 17/09/2010
17:21:12 17/09/2010

Chúng tôi đang đánh đổi tính khả dụng, tính nhất quán và độ phức tạp. Để giải quyết câu hỏi cuối cùng trước tiên: Điều này có quan trọng không? Vâng rất nhiều! Các lựa chọn liên quan đến cách quản lý dữ liệu của bạn là hoàn toàn cơ bản và không có "Phương pháp hay nhất" nào né tránh các quyết định. Bạn cần hiểu các yêu cầu cụ thể của bạn.

Có một căng thẳng cơ bản:

Một bản sao: sự nhất quán rất dễ dàng, nhưng nếu nó xảy ra sự cố thì mọi người đều ở ngoài nước, và nếu mọi người ở xa thì có thể phải trả chi phí liên lạc khủng khiếp. Mang các thiết bị di động, có thể cần hoạt động không kết nối, vào ảnh và một bản sao sẽ không cắt nó.

Master Slave: tính nhất quán không quá khó vì mỗi phần dữ liệu có chính xác một master sở hữu. Nhưng sau đó bạn sẽ làm gì nếu bạn không thể nhìn thấy chủ nhân đó, một số loại công việc bị hoãn lại là cần thiết.

Master-Master: tốt nếu bạn có thể làm cho nó hoạt động thì nó dường như cung cấp tất cả mọi thứ, không có điểm thất bại nào, mọi người đều có thể làm việc mọi lúc. Vấn đề với điều này là rất khó để giữ được tính nhất quán tuyệt đối. Xem bài viết wikipedia để biết thêm.

Wikipedia dường như có một bản tóm tắt tốt đẹp về những ưu điểm và nhược điểm

Ưu điểm

  • Nếu một cái không thành công, những cái khác sẽ tiếp tục cập nhật cơ sở dữ liệu.

  • Thạc sĩ có thể được đặt tại một số trang web vật lý, tức là được phân phối trên mạng.

Nhược điểm

  • Hầu hết các hệ thống sao chép đa chủ chỉ nhất quán lỏng lẻo, tức là lười biếng và không đồng bộ, vi phạm các thuộc tính ACID.

  • Hệ thống sao chép háo hức rất phức tạp và gây ra một số độ trễ giao tiếp.

  • Các vấn đề như giải quyết xung đột có thể trở nên khó chữa khi số lượng các nút liên quan tăng lên và độ trễ cần thiết giảm xuống.

93 hữu ích 5 bình luận chia sẻ
Hoàng Kim Khánh
· 18:08 25/07/2014
18:08:21 25/07/2014

Trong khi nghiên cứu các kiến ​​trúc cơ sở dữ liệu khác nhau. Tôi đã tổng hợp một số thông tin hữu ích có thể liên quan đến những người khác đang nghiên cứu trong tương lai. Tôi đã xem qua

  1. Master-Slave Replication
  2. Bản sao Master-Master
  3. Cụm MySQL

Tôi đã quyết định sử dụng MySQL Cluster cho trường hợp sử dụng của mình. Tuy nhiên, vui lòng xem bên dưới để biết những ưu và nhược điểm khác nhau mà tôi đã tổng hợp

1. Nhân bản Master-Slave

Ưu điểm

  • Các ứng dụng phân tích có thể đọc từ (các) ứng dụng phụ mà không ảnh hưởng đến ứng dụng chính
  • Bản sao lưu của toàn bộ cơ sở dữ liệu tương đối không ảnh hưởng đến bản chính
  • Các nô lệ có thể được đưa vào ngoại tuyến và đồng bộ hóa trở lại trang chủ mà không có bất kỳ thời gian chết nào

Nhược điểm

  • Trong trường hợp thất bại, một nô lệ phải được thăng cấp lên thành chủ để tiếp quản vị trí của nó. Không có chuyển đổi dự phòng tự động
  • Thời gian ngừng hoạt động và có thể mất dữ liệu khi bản chính bị lỗi
  • Tất cả các ghi cũng phải được thực hiện cho chủ trong thiết kế chủ-nô
  • Mỗi nô lệ bổ sung thêm một số tải cho chủ vì phải đọc nhật ký nhị phân và dữ liệu được sao chép vào mỗi nô lệ
  • Ứng dụng có thể phải được khởi động lại

2. Nhân bản Master-Master

Ưu điểm

  • Các ứng dụng có thể đọc từ cả hai bản chính
  • Phân phối tải ghi trên cả hai nút chính
  • Chuyển đổi dự phòng đơn giản, tự động và nhanh chóng

Nhược điểm

  • Nhất quán lỏng lẻo
  • Không đơn giản như master-slave để cấu hình và triển khai

3. Cụm MySQL

Đứa trẻ mới trong thị trấn dựa trên thiết kế cụm MySQL. MySQL cluster được phát triển với tính sẵn sàng và khả năng mở rộng cao và là giải pháp lý tưởng được sử dụng cho các môi trường không yêu cầu thời gian chết, khả năng phổ biến cao và khả năng mở rộng theo chiều ngang.

Xem MySQL Cluster 101 để biết thêm thông tin

Ưu điểm

  • (Tính khả dụng cao) Không có điểm hỏng hóc nào
  • Thông lượng rất cao
  • 99,99% thời gian hoạt động
  • Tự động làm sắc nét
  • Phản hồi thời gian thực
  • Hoạt động trực tuyến (thay đổi lược đồ, v.v.)
  • Viết phân tán

Nhược điểm

Bạn có thể truy cập để biết thông tin chi tiết đầy đủ về Blog của tôi bao gồm các sơ đồ kiến ​​trúc đi sâu hơn vào chi tiết về 3 kiến ​​trúc được đề cập.

102 hữu ích 3 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ database , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm