Computer >> Máy Tính >  >> Lập trình >> Redis

Giải thích sao chép dữ liệu:Ví dụ, loại và trường hợp sử dụng

Sao chép dữ liệu là gì?

Sao chép dữ liệu là một phương pháp sao chép dữ liệu để đảm bảo rằng tất cả thông tin luôn giống hệt nhau trong thời gian thực giữa tất cả các tài nguyên dữ liệu. Hãy coi sao chép cơ sở dữ liệu như một mạng lưới bắt thông tin của bạn và giữ cho thông tin của bạn lọt qua các khe nứt và bị mất. Dữ liệu hầu như không bị trì trệ. Nó luôn thay đổi. Đó là một quá trình liên tục đảm bảo dữ liệu từ cơ sở dữ liệu chính được sao chép trong một bản sao, thậm chí một bản sao nằm ở phía bên kia của hành tinh.

Ngày nay, "tức thời" không đủ nhanh. Giảm độ trễ xuống khoảng dưới mili giây là mục tiêu chung. Tất cả chúng ta đều đã gặp trường hợp này trước đây - nhấn nút làm mới trên một trang web, đợi cảm giác như vô tận (giây) để xem thông tin của bạn được cập nhật. Độ trễ làm giảm năng suất của người dùng. Đạt được gần thời gian thực là mục tiêu. Độ trễ thời gian bằng 0 là lý tưởng mới cho mọi trường hợp sử dụng.

Sao chép dữ liệu hoạt động như thế nào?

Sao chép dữ liệu là sao chép dữ liệu từ máy chủ này sang máy chủ khác, chẳng hạn như giữa hai máy chủ lưu trữ hoặc một máy chủ lưu trữ tại chỗ vào đám mây, v.v. Mục đích là đạt được tính nhất quán trong thời gian thực với dữ liệu cho tất cả người dùng, dù họ đang truy cập dữ liệu từ đâu. Các mô hình kinh doanh theo hướng dữ liệu (DDBM), giống như ngành công nghiệp trò chơi, chủ yếu dựa vào phân tích thu được thông qua dữ liệu thời gian thực. Để hiểu rõ hơn về mức độ cần thiết của khả năng truy cập theo thời gian thực đối với DDBM, hãy xem video này bên dưới:

Lợi ích của việc sao chép dữ liệu là gì?

Cải thiện độ tin cậy / Khôi phục sau thảm họa

Trong trường hợp khẩn cấp, nếu bản sao chính của bạn bị xâm phạm, điều quan trọng là phải có các ứng dụng quan trọng về sứ mệnh được bảo vệ bằng một bản sao có thể hoán đổi vị trí của nó. Các phương pháp sao chép phục hồi sau thảm họa hoạt động tương tự như một máy phát điện dự phòng; hãy tưởng tượng việc thổi một cầu chì quan trọng hoặc lưới điện của bạn bị tối - bạn sẽ không phải lo lắng vì bạn có một máy phát điện dự phòng để thay thế và giữ cho đèn của bạn hoạt động.

Vì các bản sao là bản sao chính xác của các bản chính, bạn có thể đảm bảo hiệu suất sẽ không bị chùn bước, bất kể điều gì xảy ra với bản chính của bạn. Ngay cả khi liên kết giữa bản chính và bản sao bị đứt, hiệu suất vẫn được đảm bảo vì bản chính sẽ thực hiện đồng bộ hóa lại một phần, thu thập các lệnh không được gửi đến bản sao trong quá trình ngắt kết nối. Nếu không thể, quá trình đồng bộ hóa lại đầy đủ sẽ được bắt đầu bằng cách sử dụng ảnh chụp nhanh.

Tăng hiệu suất ứng dụng

Bằng cách phân bổ dữ liệu trên nhiều trường hợp, bạn đang giúp tối ưu hóa hiệu suất đọc. Hiệu suất cũng được tối ưu hóa bằng cách cho phép dữ liệu của bạn có thể truy cập ở nhiều vị trí, do đó giảm thiểu mọi vấn đề về độ trễ. Ngoài ra, khi các bản sao được hướng đến xử lý hầu hết các lần đọc của bạn, điều đó sẽ mở ra không gian cho bản sao chính của bạn để giải quyết hầu hết các công việc ghi nặng nề.

Nhóm CNTT hiệu quả hơn

Giảm lao động CNTT để sao chép dữ liệu theo cách thủ công.

Hiểu sao chép toàn bộ dữ liệu so với sao chép một phần

Sao chép toàn bộ cơ sở dữ liệu xảy ra khi toàn bộ cơ sở dữ liệu chính được sao chép trong mọi phiên bản sao có sẵn. Đây là một cách tiếp cận tổng thể phản ánh dữ liệu đã có trước, mới và cập nhật cho tất cả các điểm đến. Mặc dù cách tiếp cận này rất toàn diện, nhưng nó cũng đòi hỏi một lượng công suất xử lý đáng kể và gây mã hóa tải mạng do kích thước lớn của dữ liệu được sao chép.

Không giống như sao chép toàn bộ, sao chép một phần chỉ phản ánh một số phần của dữ liệu, thường là dữ liệu được cập nhật gần đây. Sao chép từng phần cô lập các bit dữ liệu cụ thể theo tầm quan trọng của dữ liệu tại một vị trí cụ thể. Ví dụ, một công ty tài chính lớn có trụ sở chính ở London có thể có nhiều văn phòng vệ tinh hoạt động trên khắp thế giới, với một văn phòng ở Boston, một văn phòng khác ở Kuala Lumpur, v.v.

Việc sao chép một phần cho phép các nhà phân tích ở London chỉ có dữ liệu phù hợp với Vương quốc Anh tại trang web của họ và chỉ dữ liệu đó mới được sao chép nhất quán cho nhu cầu của họ. Các văn phòng vệ tinh khác ở Hoa Kỳ và Malaysia, tương tự, có thể làm điều tương tự và không sa lầy vào bất kỳ hệ thống nào, điều này giúp cải thiện hiệu suất và giảm thiểu lưu lượng mạng.

Ví dụ về Sao chép Dữ liệu

Sao chép giao dịch

Dạng sao chép cơ sở dữ liệu này xem dữ liệu từ cơ sở dữ liệu chính sao chép dữ liệu trong thời gian thực sang một bản sao bằng cách sao chép những thay đổi này theo thứ tự chúng được thực hiện trong cơ sở dữ liệu chính. Điều này tối ưu hóa tính nhất quán. Việc sao chép lấy cái được gọi là “ảnh chụp nhanh” của dữ liệu trong dữ liệu chính và sử dụng ảnh chụp nhanh đó làm bản thiết kế của những gì cần được sao chép ở nơi khác. Với nhân rộng giao dịch, bạn có thể theo dõi và phân phối các thay đổi khi cần thiết. Với nhân rộng giao dịch, bạn có thể theo dõi và phân phối các thay đổi khi cần thiết.

Giải thích sao chép dữ liệu:Ví dụ, loại và trường hợp sử dụng Giải thích sao chép dữ liệu:Ví dụ, loại và trường hợp sử dụng

Với tính chất gia tăng của quá trình này, sao chép giao dịch không phải là lựa chọn tối ưu khi tìm kiếm một tùy chọn cơ sở dữ liệu dự phòng. Sao chép giao dịch là một lựa chọn hữu ích trong các tình huống mà bạn cần tính nhất quán theo thời gian thực trên tất cả các vị trí dữ liệu, nơi mỗi thay đổi nhỏ cần được tính đến, không chỉ tác động tổng thể của các thay đổi và nếu dữ liệu thường xuyên thay đổi từ một vị trí cụ thể.

Sao chép ảnh chụp nhanh

Như tên gọi của nó cho thấy, sao chép ảnh chụp nhanh lấy “ảnh chụp nhanh” dữ liệu từ dữ liệu chính khi nó xuất hiện tại một thời điểm cụ thể và di chuyển nó cùng với bản sao. Giống như một bức ảnh, bản sao ảnh chụp nhanh ghi lại dữ liệu trông như thế nào tại một thời điểm, giống như khi nó di chuyển từ bản chính sang bản sao, nhưng không tính đến cách nó được cập nhật sau này. Do đó, không sử dụng sao chép ảnh chụp nhanh để tạo bản sao lưu.

Trong trường hợp lưu trữ bị lỗi, sao chép ảnh chụp nhanh sẽ không có đường dẫn đến thông tin cập nhật. Để giữ cho thông tin của bạn nhất quán, bạn có thể bắt đầu bằng một ảnh chụp nhanh, nhưng sau đó đảm bảo rằng tất cả các thay đổi được thực hiện cho bản chính sau đó sẽ được chuyển cho mọi bản sao.

Mặt khác, phương pháp này khá hữu ích cho việc khôi phục trong trường hợp vô tình xóa. Hãy coi nó giống như Lịch sử Phiên bản của bạn trên Google Tài liệu. Ước gì bạn có thể làm việc trên bản trình bày của mình như cách nó trông bốn giờ trước? Nếu Google Tài liệu chụp nhanh công việc của bạn vào các khoảng thời gian hàng giờ, bạn có thể nhấp lại vào phiên bản đó hoặc "ảnh chụp nhanh" từ bốn giờ trước và xem thông tin của bạn trông như thế nào sau đó.

Merge Replication

Phương pháp này thường bắt đầu bằng một ảnh chụp nhanh dữ liệu và phân phối dữ liệu đó đến các bản sao của nó và duy trì đồng bộ hóa dữ liệu giữa toàn bộ hệ thống. Điều làm cho việc sao chép hợp nhất trở nên khác biệt là nó cho phép mỗi nút thực hiện các thay đổi đối với dữ liệu một cách độc lập, nhưng hợp nhất tất cả các bản cập nhật đó thành một thể thống nhất.

Hợp nhất sao chép cũng tính cho mỗi thay đổi được thực hiện tại mỗi nút. Để quay lại ví dụ về Google Tài liệu trước đây của chúng tôi, nếu bạn đã từng chia sẻ tài liệu với đồng nghiệp, những người sau đó để lại nhận xét và chỉnh sửa trên tài liệu của bạn, bạn sẽ biết ai đã thực hiện những thay đổi nào và vào thời điểm nào. Hợp nhất các chức năng sao chép theo một cách rất giống nhau.

Sao chép dựa trên khóa

Còn được gọi là sao chép dữ liệu gia tăng dựa trên khóa, phương pháp này sử dụng khóa sao chép để xác định, định vị và chỉ thay đổi dữ liệu cụ thể đã được thay đổi kể từ lần cập nhật cuối cùng. Bằng cách cô lập thông tin đó, nó tạo điều kiện thuận lợi cho quá trình sao lưu, chỉ làm việc với mức tải nhiều nhất có thể. Mặc dù sao chép dựa trên khóa tạo ra một phương pháp làm mới dữ liệu mới nhanh chóng, nhưng nó đi kèm với nhược điểm là không thể sao chép dữ liệu đã xóa.

Active-Active Geo-Distribution

Phân phối địa lý đang hoạt động, còn được gọi là sao chép ngang hàng , hoạt động giống như sao chép giao dịch, vì nó dựa trên dữ liệu giao dịch liên tục thông qua các nút. Với hoạt động tích cực, tất cả các nút trong cùng một mạng liên tục gửi dữ liệu cho nhau bằng cách đồng bộ hóa cơ sở dữ liệu với tất cả các nút tương ứng. Tất cả các nút cũng có thể ghi được, có nghĩa là bất kỳ ai cũng có thể thay đổi dữ liệu, ở bất kỳ đâu trên thế giới và nó sẽ phản ánh trong tất cả các nút khác. Điều này đảm bảo tính nhất quán trong thời gian thực, bất kể thay đổi có thể xảy ra ở đâu trên toàn cầu.

Loại dữ liệu được sao chép (CRDT) không có xung đột xác định cách dữ liệu này được sao chép. Trong trường hợp mạng bị lỗi với một trong các bản sao hoặc các nút, các bản sao khác sẽ có sẵn tất cả dữ liệu cần thiết để sao chép khi nút đó trực tuyến trở lại. Đây là một giải pháp vững chắc cho các doanh nghiệp cần một số trung tâm dữ liệu đặt trên toàn cầu. Hãy xem video bên dưới để biết ví dụ về các trường hợp sử dụng Active-Active Geo-Distribution.

Sao chép đồng bộ / không đồng bộ

Với sao chép đồng bộ, dữ liệu được ghi trong cả bản sao chính và bản sao cùng một lúc, do đó có tên như vậy. Mặt khác, sao chép không đồng bộ chỉ sao chép dữ liệu vào bản sao khi quá trình ghi đã xảy ra trong bản chính. Sao chép không đồng bộ không có xu hướng xảy ra trong thời gian thực, mặc dù điều đó có thể xảy ra. Do các hoạt động ghi theo lịch trình có xu hướng xảy ra theo lô với tính năng không đồng bộ, đôi khi dữ liệu bị mất, trong hầu hết các trường hợp khi sự kiện chuyển lỗi xảy ra. Tuy nhiên, không đồng bộ là một giải pháp phù hợp khi phải sao chép dữ liệu trong khoảng cách dài, vì thành phần thời gian thực không phải là yếu tố quan trọng.

Các thách thức triển khai sao chép dữ liệu phổ biến là gì?

Việc duy trì dữ liệu trên nhiều trường hợp yêu cầu một bộ tài nguyên nhất quán. Chi phí của việc có một chính với nhiều bản sao có thể khá cao trong nhiều trường hợp. Để duy trì các hoạt động này và đảm bảo rằng không có lỗi hệ thống nào xảy ra, cần có nhóm chuyên dụng của các chuyên gia. Và tùy thuộc vào kiến ​​trúc, mạng băng thông có thể bị quá tải khi các quy trình mới được đưa vào, điều này có thể ảnh hưởng đến độ trễ, đọc và ghi.

Redis làm cho việc sao chép dữ liệu trở nên nhanh chóng, tiết kiệm chi phí và đơn giản để thực hiện. Bạn đã sẵn sàng cho việc điều trị Redis Enterprise chưa?