Là một ứng dụng phân phối theo địa lý với bản sao SQL Server có phải là một ý tưởng tốt không?


7

Chúng tôi hiện đang suy nghĩ về một kiến ​​trúc mục tiêu cho một ứng dụng phân phối theo địa lý.

Ứng dụng này theo dõi và lên lịch các chuyển động của tất cả các đơn vị vật liệu trên các trang web sản xuất khác nhau.

Sẽ có hai thực thể logic:

  • Người đầu tiên chịu trách nhiệm quản lý hoạt động / cục bộ của một cửa hàng cụ thể - có nhiều trường hợp của thực thể này cũng như có các cửa hàng
  • Người thứ hai chịu trách nhiệm quản lý toàn cầu (ví dụ: đơn vị chuyển giữa các cửa hàng) và do đó giao tiếp với tất cả các thực thể hoạt động / địa phương

Dưới đây là sơ đồ logic của ứng dụng:

Kiến trúc logic

Việc triển khai ứng dụng này không thể được lấy trực tiếp từ sơ đồ trước vì chúng ta phải tính đến các ràng buộc sau:

  • Các cửa hàng được đặt tại các khu vực khác nhau (thường là một vài cửa hàng cho mỗi khu vực) và nếu khu vực đó tạm thời cách ly với mạng toàn cầu, hệ thống vẫn sẽ hoạt động trong một khoảng thời gian giới hạn.
  • Thực thể hoạt động yêu cầu thực thể toàn cầu làm việc

Do đó, tôi đã nghĩ về một kiến ​​trúc mới nơi chúng ta sẽ tạo các thể hiện giống hệt nhau của thực thể toàn cầu (cùng các tệp thực thi) với cơ sở dữ liệu được đồng bộ hóa cho từng khu vực:

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

Tôi đã tự hỏi nếu có ai đã sử dụng bản sao SQL Server để đạt được cùng một mục tiêu.

Đó có phải là cách đúng đắn để tiến hành? Tất cả các khuyến nghị / cảnh báo đều được chào đón!

Cảm ơn rất nhiều, Sébastien.


2
Có một nhu cầu thực tế để sao chép dữ liệu cho mỗi cửa hàng? Đây là cho một ứng dụng nhà cung cấp, hay đây là một dự án mới? Bạn đã xem xét một cái gì đó giống như mô hình SaaS trong đó các máy chủ ứng dụng / web được đặt theo địa lý ở các khu vực khác nhau, với một bản sao được sao chép ngang hàng của cơ sở dữ liệu cục bộ cho mỗi trang trại web?
Jon Seigel

Xin chào Jon và cảm ơn đã trả lời. Đây là một dự án mới: đây là phiên bản hoàn toàn mới của một ứng dụng đã có sẵn. Tôi không chắc liệu mô hình SaaS có phù hợp với nhu cầu của chúng tôi hay không vì các máy chủ toàn cầu sẽ giống hệt nhau (cùng một dữ liệu). Tuy nhiên, cơ sở dữ liệu sao chép ngang hàng có vẻ thực sự phù hợp với trường hợp của chúng tôi.
Seb_Lz

Được chứ. Hãy để tôi đề cập bây giờ rằng bạn có thể không có được câu trả lời tốt cho câu hỏi của bạn vì các yêu cầu cụ thể cho ứng dụng này. Điều tôi sẽ nói là nói chung, càng ít bản sao dữ liệu bạn có và càng ít cơ sở dữ liệu với các dữ liệu khác nhau , thì việc quản lý hệ thống càng dễ dàng. Đó là lý do tại sao tôi hỏi nếu thực hiện loại phân phối mà bạn yêu cầu là thực sự cần thiết. Tôi không biết hiện tại bạn có bao nhiêu cửa hàng, nhưng việc mở rộng hệ thống theo cách đó có thể dẫn đến các giới hạn hoặc thách thức trong tương lai, thay vì tập trung mọi thứ, ít nhất là một chút như tôi đề xuất.
Jon Seigel

Ok, tôi hoàn toàn hiểu điều này và những câu trả lời tôi nhận được đã giúp tôi trong suy nghĩ của mình. Tôi nghĩ có nhiều khả năng có nhiều giải pháp khác nhau cho vấn đề của tôi. Vì tôi không chắc lắm về các thực tiễn tốt nhất trong lĩnh vực này, tôi muốn chắc chắn rằng mình đã không đi sai hướng.
Seb_Lz

Câu trả lời:


3

Sao chép từ một hộp đến các máy chủ khu vực, sau đó có các máy chủ khu vực đó sao chép vào các máy chủ cửa hàng trong khu vực đó thật dễ dàng. Thiết lập sao chép để cung cấp từ hai máy chủ khu vực khác nhau cho mỗi máy chủ cửa hàng sẽ không thực sự khả thi. Bạn có thể có thể hack nó để làm việc, nhưng nó sẽ không dễ dàng như vậy.

Bạn sẽ tốt hơn nếu thiết lập các máy chủ khu vực có tính sẵn sàng cao để cơ hội cho máy chủ khu vực ngoại tuyến ở mức tối thiểu.


Xin chào mrdenny và cảm ơn đã trả lời. Việc sao chép chỉ nên xảy ra giữa các máy chủ toàn cầu (không phải giữa máy chủ toàn cầu và máy chủ cục bộ). Mỗi máy chủ toàn cầu sẽ sửa đổi cơ sở dữ liệu của nó do tương tác với các cửa hàng địa phương. Những thay đổi đó nên được nhân rộng đến mọi máy chủ toàn cầu khác. Trong kiến ​​trúc đó, sẽ có khoảng 5-6 máy chủ toàn cầu.
Seb_Lz

Đó là điều có thể làm được, nhưng đó là một thiết kế lớn. Đây là một trong những cấu hình sẽ cần phải được thiết kế rất cẩn thận và kết hợp rất cẩn thận với một bằng chứng lớn về khái niệm để đảm bảo rằng mọi thứ đều hoạt động chính xác.
mrdenny

0

Nó phụ thuộc vào có bao nhiêu lĩnh vực bạn có. Nếu bạn có nhiều thứ trong số này ngoài việc quản lý sao chép cơ sở dữ liệu giữa chúng sẽ là một cơn ác mộng.

Tôi sẽ cố gắng hết sức để có tất cả dữ liệu ở một nơi tập trung với mọi tùy chọn khả dụng cao có thể có. Nếu điều đó là không thể, bạn có thể thử chỉ với hai hoặc ba máy chủ toàn cầu và không phải một máy chủ cho mỗi khu vực.

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.