Trang Chủ Tài chính Cá nhân Xử lý phân vùng trong NoSQL - núm vú

Xử lý phân vùng trong NoSQL - núm vú

Mục lục:

Video: Hệ quản trị CSDL: Cập nhật cơ sở dữ liệu phân tán (distributed database) 2025

Video: Hệ quản trị CSDL: Cập nhật cơ sở dữ liệu phân tán (distributed database) 2025
Anonim

Phân vùng chữ được sử dụng cho hai khái niệm khác nhau trong NoSQL. Một phân vùng dữ liệu là một cơ chế để đảm bảo rằng dữ liệu được phân bố đều trên một cụm. Mặt khác, phân vùng mạng xảy ra khi hai phần của cùng một cluster cơ sở dữ liệu không thể giao tiếp.

Trên các hệ thống clustered rất lớn, ngày càng có nhiều khả năng sự thất bại của một thiết bị sẽ xảy ra. Nếu một sự chuyển đổi mạng giữa các máy chủ trong một cụm không thành công, một hiện tượng được gọi là (trong ngữ cảnh máy tính) phân chia não xảy ra. Trong trường hợp này, các máy chủ cá nhân vẫn nhận được yêu cầu, nhưng họ không thể giao tiếp với nhau.

Kịch bản này có thể dẫn đến sự không nhất quán của dữ liệu hoặc chỉ đơn giản là giảm khả năng lưu trữ dữ liệu vì phân vùng mạng với ít máy chủ nhất sẽ được gỡ bỏ khỏi cluster (hoặc "bỏ phiếu" theo đúng Big Brother thời trang).

Phân vùng dung sai

Bạn có hai lựa chọn khi phân vùng mạng xảy ra:

  • Tiếp tục, ở một mức độ nào đó, để phục vụ các thao tác đọc và ghi.

  • "Bỏ phiếu" một phần của phân vùng và quyết định sửa dữ liệu sau đó khi cả hai bộ phận có thể giao tiếp. Điều này thường liên quan đến việc bỏ phiếu bầu một bản sao đã đọc làm chủ mới cho mỗi nút phân vùng chính bị mất.

Riak xử lý ghi khi máy chủ phân vùng chính bị tắt bằng cách sử dụng một hệ thống gọi là

ngụ ý bàn giao . Khi dữ liệu ban đầu được nhân bản, nút đầu tiên của một phân vùng khóa đặc biệt được ghi vào, cùng với (theo mặc định) hai nút lân cận sau đây.

Nếu không thể ghi được chính, nút tiếp theo trong vòng được ghi vào. Những bài viết này được chuyển giao hiệu quả đến nút tiếp theo. Khi máy chủ chính trở lại, các bài viết được phát lại đến nút đó trước khi nó thực hiện các hoạt động ghi chính.

Trong cả hai thao tác này, phiên bản mâu thuẫn có thể xảy ra vì các bản sao khác nhau có thể ở các trạng thái phiên bản khác nhau, thậm chí chỉ trong vài mili giây.

Riak sử dụng thêm một hệ thống gọi là

hoạt động chống - entropy để giảm bớt vấn đề này. Hệ thống này trawls thông qua các giá trị cập nhật và đảm bảo rằng các bản sao được cập nhật tại một số điểm, tốt hơn là sớm hơn chứ không phải là sau này.Điều này giúp tránh xung đột khi đọc, đồng thời duy trì tốc độ nhập dữ liệu cao, tránh được cam kết hai pha được sử dụng bởi các cơ sở dữ liệu NoSQL khác với sự hỗ trợ phân cấp không có sự hỗ trợ của master-slave. Nếu xung đột về đọc xảy ra, Riak sử dụng

đọc sửa để cố gắng chỉ trả lại dữ liệu mới nhất. Cuối cùng, mặc dù, và tùy thuộc vào sự nhất quán và tính sẵn sàng cài đặt bạn sử dụng, ứng dụng khách hàng có thể được trình bày với nhiều phiên bản và yêu cầu tự quyết định cho chính nó. Trong một số trường hợp, sự cân bằng này là mong muốn, và nhiều ứng dụng có thể trực giác biết, dựa trên dữ liệu được trình bày, phiên bản sử dụng và phiên bản nào để loại bỏ.

Chỉ mục thứ hai

Chỉ mục thứ cấp là các chỉ mục về dữ liệu cụ thể trong một giá trị. Hầu hết các cửa hàng có giá trị khóa đều để lại lập chỉ mục này cho ứng dụng. Tuy nhiên, Riak là khác nhau, sử dụng một chương trình được gọi là

tài liệu - dựa trên phân vùng cho phép lập chỉ mục thứ cấp. Phân vùng dựa trên tài liệu giả định rằng bạn đang viết các cấu trúc JSON vào cơ sở dữ liệu Riak. Sau đó, bạn có thể thiết lập chỉ mục cho các thuộc tính được đặt tên cụ thể trong cấu trúc JSON này, như được hiển thị:

{"order-id": 5001, "customer-id": 1429857, "order-date": "2014-09-24 "," Total ": 134. 24}

Nếu bạn có một ứng dụng hiển thị đơn đặt hàng của khách hàng cho tháng trước, thì bạn muốn truy vấn tất cả các bản ghi, như được hiển thị, trong đó id khách hàng là một giá trị cố định (1429857) và ngày đặt hàng nằm trong một phạm vi cụ thể (ngày bắt đầu và kết thúc của tháng).

Trong hầu hết các cửa hàng có giá trị khóa, bạn tạo một nhóm khác có trọng số là số khách hàng và tháng kết hợp và giá trị đó là một danh sách id đơn đặt hàng. Tuy nhiên, trong Riak, bạn chỉ cần thêm một chỉ mục thứ yếu vào cả hai id khách hàng (số nguyên) và ngày đặt hàng (ngày), mà sẽ mất thêm không gian lưu trữ nhưng có lợi thế là minh bạch cho các nhà phát triển ứng dụng.

Các chỉ mục này cũng được cập nhật trực tuyến - có nghĩa là không có sự tụt hậu giữa việc cập nhật giá trị tài liệu trong Riak và các chỉ mục được cập nhật. Việc truy cập trực tiếp vào dữ liệu này khó có thể kéo ra ngoài dường như. Xét cho cùng, nếu các chỉ mục không nhất quán, bạn sẽ không bao giờ tìm thấy dữ liệu được giữ ổn định!

Đánh giá Riak

Basho, một thực thể thương mại đằng sau Riak, cho biết phiên bản sắp tới của nó 2. 0 Cơ sở dữ liệu NoSQL luôn có tính nhất quán mạnh mẽ, một yêu cầu mà các nhà cung cấp NoSQL khác đưa ra. Các yêu cầu bồi thường của nhà cung cấp NoSQL để luôn luôn có tính nhất quán mạnh mẽ cũng giống như tuyên bố là một người ăn chay mạnh … ngoại trừ các ngày chủ nhật khi bạn có thịt bò nướng.

Riak không phải là cơ sở dữ liệu phù hợp với ACID. Cấu hình của nó không thể thay đổi để nó chạy trong chế độ tuân thủ ACID. Khách hàng có thể nhận dữ liệu không nhất quán trong quá trình hoạt động bình thường hoặc trong các phân vùng mạng. Riak có tính nhất quán tuyệt đối để tăng tính sẵn sàng và dung sai phân vùng.

Chạy Riak ở chế độ thống nhất mạnh có nghĩa là bản sao bản đọc của nó được cập nhật đồng thời với trình lưu trữ chính. Điều này liên quan đến cam kết hai pha - về cơ bản, nút chính viết cho các nút khác trước khi nó xác nhận rằng việc ghi hoàn tất.

Vào thời điểm viết bài này, chế độ nhất quán mạnh mẽ của Riak không hỗ trợ các chỉ mục phụ hoặc các kiểu dữ liệu phức tạp (ví dụ JSON). Hy vọng rằng, Basho sẽ khắc phục vấn đề này trong bản phát hành sắp tới của cơ sở dữ liệu.

Tìm kiếm Riak (công cụ tìm kiếm Apache Solr được gắn thương hiệu và tích hợp sử dụng mô hình cập nhật cuối cùng nhất quán) có thể tạo ra sai tích cực khi sử dụng tính nhất quán mạnh mẽ. Tình huống này xảy ra vì dữ liệu có thể được ghi và sau đó giao dịch bị hủy, nhưng dữ liệu vẫn được sử dụng để lập chỉ mục - để lại kết quả tìm kiếm "dương tính" - kết quả không thực sự còn hợp lệ cho truy vấn tìm kiếm.

xác định riêng

để xác định nút nào sẽ trở thành bậc thầy trong các điều kiện chuyển đổi dự phòng. Tuy nhiên, quy trình này không có sẵn, có nghĩa là trong vài giây, có thể trong khi một bản sao mới của quy trình trọng điểm được đưa lên mạng, một nút mới không thể được thêm vào hoặc một thạc sĩ được bầu. Bạn cần phải nhận thức được khả năng này trong điều kiện chuyển đổi dự phòng cao.

-

cấp trong các phiên bản trong tương lai, nó sẽ trở thành một sản phẩm tốt nhất.

Xử lý phân vùng trong NoSQL - núm vú

Lựa chọn của người biên tập

Web Marketing: Loại bỏ đăng ký và đăng nhập để đảm bảo khả năng hiển thị - núm vú

Web Marketing: Loại bỏ đăng ký và đăng nhập để đảm bảo khả năng hiển thị - núm vú

Tiếp thị web, một cách để đảm bảo khả năng hiển thị là để loại bỏ đăng ký và các hình thức đăng nhập. Khách truy cập thường phải hoàn thành các biểu mẫu này trước khi họ có thể tải xuống một số loại nội dung cao cấp, chẳng hạn như giấy trắng hoặc trước khi họ có thể đọc một số bài viết trên trang web. Các công ty đã đưa chúng vào vị trí vì họ muốn dẫn ...

Web Marketing: Làm thế nào để Tránh Duplicate Content - núm vú

Web Marketing: Làm thế nào để Tránh Duplicate Content - núm vú

Duplicate nội dung cần tránh trong web tiếp thị và Google cung cấp công cụ để phát hiện thông tin lặp lại. Không có gì gây tổn hại cho việc tìm kiếm nội dung có liên quan của công cụ tìm kiếm cũng như tìm ra chính xác những từ giống nhau trên hai trang khác nhau. Sao chép là xấu vì những lý do này: Sao chép được sử dụng để được một chiến thuật được sử dụng để đánh lừa ...

Web Marketing: Làm thế nào để Deal với Broken Links - núm vú

Web Marketing: Làm thế nào để Deal với Broken Links - núm vú

Trong bài hát của họ. Là một nhà tiếp thị web, việc xử lý các liên kết hỏng này có thể giúp đảm bảo sự thành công của trang web của bạn. Nếu một công cụ tìm kiếm đạt đến một liên kết bị hỏng, nó không thể tìm thấy trang bạn dự định (rõ ràng) - nhưng nó cũng có thể bỏ trên trang web của bạn hoặc giảm sự liên quan ...

Lựa chọn của người biên tập

Các kiểu dữ liệu điểm nổi trong Java - núm vú

Các kiểu dữ liệu điểm nổi trong Java - núm vú

Số dấu phẩy động là số có các phần phân đoạn (thường được thể hiện bằng dấu thập phân). Bạn nên sử dụng một kiểu điểm nổi trong các chương trình Java bất cứ khi nào bạn cần một số có số thập phân, như là 19. 95 hoặc 3. 1415. Java có hai kiểu nguyên thủy cho các số dấu phẩy: float: Sử dụng 4 byte gấp đôi: Sử dụng 8 bytes Trong hầu hết tất cả ...

Tải phiên bản mới nhất của Java - núm vú

Tải phiên bản mới nhất của Java - núm vú

Trước khi bạn có thể viết các chương trình Java cho các thiết bị Android, bạn cần một số phần mềm công cụ, bao gồm cả phiên bản mới nhất của Java. Bạn có thể có được phiên bản Java mới nhất và lớn nhất bằng cách truy cập vào trang web Java. Trang web cung cấp một số lựa chọn thay thế. (Được giới thiệu) Nhấp chuột vào nút Free Java Download trên trang chính của trang web. Đối với hầu hết các máy tính, ...

Thử nghiệm với JShell - núm vú

Thử nghiệm với JShell - núm vú

JShell là một công cụ Java 9 cho phép bạn khám phá về lập trình. JShell làm cho nó dễ dàng để chơi xung quanh mà không sợ hậu quả thảm khốc. Các chương trình Java thường sử dụng cùng kiểu cũ, lúng túng: public class SomethingOrOther {public static void main (String args []) {Một chương trình Java đòi hỏi sự giới thiệu này bởi vì trong Java ...

Lựa chọn của người biên tập

Hẹn hò Sau 50: Tâm linh và Tôn giáo - những con voi

Hẹn hò Sau 50: Tâm linh và Tôn giáo - những con voi

Bản quyền © 2014 AARP Tất cả các quyền được bảo lưu. Tâm linh và tôn giáo, tình dục, những trò vui nhộn nhịp, sự tham gia của gia đình, lối sống và tiền bạc - tất cả những điều này thường quan trọng đối với những người trên 50 tuổi, nhưng bạn có thể đặt một số cao hơn những người khác. Trong bất kỳ trường hợp nào, điều quan trọng là phải suy nghĩ về họ trước để bạn có thể thảo luận ...

Hẹn hò Sau 50: Nói về Monogami - vú

Hẹn hò Sau 50: Nói về Monogami - vú

Bản quyền © 2014 AARP. Đã đăng ký Bản quyền. Một vợ một chồng là một vấn đề lớn cho dù bạn là người chưa sẵn sàng cho vợ chồng một vợ chồng và muốn hẹn hò xung quanh hay người chỉ có thể quan hệ tình dục với một người một lần. Đảm bảo đối tác hẹn hò của bạn biết bạn đang đứng ở đâu (hoặc nằm xuống) đối với vợ chồng một vợ chồng ...

Hẹn hò Sau 50: Thảo luận về sức khoẻ cá nhân của bạn - những con voi

Hẹn hò Sau 50: Thảo luận về sức khoẻ cá nhân của bạn - những con voi

Bản quyền © 2014 AARP. Đã đăng ký Bản quyền. Nếu bạn bị bệnh mãn tính hoặc đe dọa đến mạng sống khi bạn còn nhỏ, bạn đã có kinh nghiệm về sức khoẻ của mình. Có thể bạn phải liên tục kể câu chuyện về vết sẹo ngực hoặc nẹp chân hoặc giải thích số ít các viên thuốc mà bạn phải dùng mỗi ngày. Nó không phải ...