Trang Chủ Tài chính Cá nhân Quản lý dữ liệu trong NoSQL - núm vú

Quản lý dữ liệu trong NoSQL - núm vú

Mục lục:

Video: Quản lý Database & Document trong MongoDB (Bài 4.1) 2025

Video: Quản lý Database & Document trong MongoDB (Bài 4.1) 2025
Anonim

Một khi bạn quản lý các khoá một cách hợp lý, bạn đã sẵn sàng để thiết kế cách lưu trữ dữ liệu với NoSQL và đảm bảo rằng nó an toàn và luôn luôn có thể truy cập được Bạn cần phải làm.

Loại dữ liệu trong các cửa hàng có giá trị khóa

Các cửa hàng có giá trị khóa thường hoạt động như & ldquo; xô & rdquo; cho dữ liệu nhị phân. Một số cơ sở dữ liệu cung cấp việc gõ dữ liệu nội bộ mạnh mẽ và thậm chí là hỗ trợ lược đồ. Những người khác chỉ đơn giản cung cấp các chức năng trợ giúp thuận tiện trong trình điều khiển khách hàng của họ để tuần tự các cấu trúc dữ liệu ứng dụng phổ biến cho một cửa hàng có giá trị khóa. Ví dụ bao gồm bản đồ, danh sách và bộ sắp xếp.

Lưu trữ nhị phân đơn giản

  • Hỗ trợ lược đồ Avro có cấu trúc cao

  • Một giản đồ Avro tương tự như một lược đồ cơ sở dữ liệu quan hệ - thực thi một tập rất nghiêm ngặt các quy tắc định dạng về Dữ liệu đối tượng JavaScript (JSON) được lưu trữ trong cơ sở dữ liệu, như minh họa ở đây:

{username: & ldquo; afowler & rdquo;, sessionid: 13452673, kể từ: 1408318745, chủ đề: & ldquo; bluesky & rdquo;}

Bạn định nghĩa một lược đồ Avro bằng một tài liệu JSON. Đây là một ví dụ của lược đồ Avro cho dữ liệu được lưu trữ được hiển thị trước đây:

{& ldquo; loại & rdquo;: & ldquo; ghi lại & rdquo;, & ldquo; không gian tên & rdquo;: & ldquo; com. ví dụ & rdquo;, & ldquo; tên & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; lĩnh vực & rdquo;: [{& ldquo; tên & rdquo;: & ldquo; tên người dùng & rdquo;, & ldquo; loại & rdquo;: [& ldquo; chuỗi & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; tên & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; loại & rdquo;: & ldquo; int & rdquo;}, {& ldquo; tên & rdquo;: & ldquo; vì & rdquo;, & ldquo; loại & rdquo;: & ldquo; dài & rdquo;}, {& ldquo; tên & rdquo;: & ldquo; chủ đề & rdquo;, & ldquo; loại & rdquo;: [& ldquo; chuỗi & rdquo;, & rdquo; null & rdquo;]}}}
Một lược đồ Avro cung cấp đánh máy rất mạnh trong cơ sở dữ liệu khi giản đồ là quan trọng. Trong ví dụ trước, bạn sẽ thấy dữ liệu chuỗi, id phiên số, ngày (mili giây, kể từ Kỷ nguyên Thời gian Unix, dưới dạng số nguyên dài) và cài đặt cá nhân cho chủ đề để sử dụng trên trang web.

Cũng lưu ý rằng kiểu username và theme có hai lựa chọn - string và null, đó là cách bạn hướng dẫn Oracle NoSQL rằng các giá trị null được cho phép. Bạn có thể đã thoát chủ đề dưới dạng chuỗi và cung cấp một tham số cấu hình bổ sung của & ldquo; mặc định & rdquo;: & ldquo; bluesky & rdquo;.

Cơ sở dữ liệu NoSQL khác cung cấp các chỉ mục thứ cấp trên bất kỳ thuộc tính tùy ý nào của một giá trị có nội dung JSON. Riak, ví dụ, cung cấp các chỉ mục phụ dựa trên

tài liệu phân vùng - về cơ bản, một thuộc tính đã biết trong một tài liệu JSON được lập chỉ mục với một loại.Điều này cho phép các truy vấn dãy (ít hơn hoặc lớn hơn) ngoài các so sánh đơn giản và không bằng nhau. Riak quản lý để cung cấp truy vấn phạm vi mà không có một lược đồ nghiêm ngặt - chỉ cần định nghĩa chỉ mục đơn giản. Nếu dữ liệu ở đó, nó sẽ được thêm vào chỉ mục. Sao lưu dữ liệu

Việc lưu trữ nhiều bản sao của cùng một dữ liệu trên các máy chủ khác, hoặc thậm chí các kệ của các máy chủ, giúp đảm bảo tính sẵn sàng của dữ liệu nếu một máy chủ không thành công. Lỗi máy chủ xảy ra chủ yếu trong cùng một cụm.

Bạn có thể vận hành bản sao theo hai cách chính:

Master-slave:

  • Tất cả các lần đọc và viết xảy ra với thầy. Nô lệ tiếp nhận và nhận yêu cầu chỉ khi chủ nhân thất bại. Việc nhân bản Master-Slave thường được sử dụng trên các cửa hàng có giá trị chính xác ACID. Để cho phép sự nhất quán tối đa, cửa hàng chính được ghi vào và tất cả các bản sao được cập nhật trước khi giao dịch kết thúc. Cơ chế này được gọi là

cam kết hai pha và tạo ra thêm mạng và thời gian xử lý trên các bản sao. Master-master:

  • Việc đọc và viết có thể xảy ra trên tất cả các nút quản lý khoá. Không có khái niệm về một & ldquo; tiểu học & rdquo; chủ sở hữu phân vùng. Các bản sao tổng thể tổng thể thường cuối cùng phù hợp, với cụm thực hiện hoạt động tự động để xác định giá trị mới nhất của khóa và loại bỏ các giá trị lỗi cũ hơn.

Trong hầu hết các cửa hàng có giá trị khóa, điều này xảy ra chậm - vào thời gian đọc. Riak là ngoại lệ ở đây bởi vì nó có một kiểm tra dịch vụ chống entropy cho sự nhất quán trong các hoạt động bình thường.

Dữ liệu lập bản đồ

Để kích hoạt giải pháp xung đột tự động, bạn cần một cơ chế để chỉ ra phiên bản mới nhất của dữ liệu. Các cửa hàng chính-giá trị cố định cuối cùng đạt được giải quyết xung đột theo những cách khác nhau.

Riak sử dụng cơ chế vector-đồng hồ để dự đoán bản sao nào là gần đây nhất. Các cửa hàng có giá trị quan trọng khác sử dụng dấu thời gian đơn giản để cho thấy sự mờ nhạt. Khi xung đột không thể được giải quyết tự động, cả hai bản sao của dữ liệu được gửi đến khách hàng. Xung đột dữ liệu được gửi tới máy khách có thể xảy ra trong trường hợp sau:

Khách hàng 1 ghi vào bản sao A 'Adam: {like: Cheese}'.

  1. Bản sao A sao chép dữ liệu đến bản sao B.

  2. Khách hàng 1 cập nhật dữ liệu trên bản sao A đến 'Adam: {thích: Cheese, hates: sunlight}'.

  3. Tại thời điểm này, bản sao A không có đủ thời gian để sao chép dữ liệu mới nhất vào bản sao B.

    Khách hàng 2 cập nhật dữ liệu trên bản sao B đến 'Adam: {thích: Chó, ghét: kangaroos}'.

  4. Tại thời điểm này, bản sao A và bản sao B đang trong xung đột và các cụm cơ sở dữ liệu không thể tự động giải quyết sự khác biệt.

    Cơ chế thay thế là sử dụng tem thời gian và tin tưởng chúng để chỉ ra dữ liệu mới nhất. Trong tình huống như vậy, thông thường cho ứng dụng để kiểm tra xem tem thời gian đọc giá trị mới nhất trước khi cập nhật giá trị.

kiểm tra cho

kiểm tra và đặt cơ chế, mà về cơ bản có nghĩa là 'Nếu phiên bản mới nhất vẫn là phiên bản 2, sau đó lưu phiên bản của tôi 3'. Cơ chế này đôi khi được gọi là viết tắt của đọc dữ liệu phù hợp (RMU) hoặc đọc so khớp viết (RMW). Cơ chế này là cơ chế mặc định được sử dụng bởi Oracle NoSQL, Redis, Riak và Voldemort.

Quản lý dữ liệu trong NoSQL - núm vú

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

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Chuyển mạch là chức năng quan trọng nhất trong thiết bị điện tử. Hãy nghĩ đến bộ TV của bạn: Bạn bật và tắt nguồn, chọn nguồn tín hiệu từ các lựa chọn đầu vào khác nhau (như đầu DVD, hộp cáp hoặc hệ thống chơi game) và thay đổi kênh truyền hình. Màn hình TV của bạn bao gồm hàng triệu điểm ảnh nhỏ (hình ảnh ...

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong dự án Điện tử của bạn < hình thức hàn phổ biến nhất khi tạo ra các dự án điện tử là thành phần hàn dẫn đến miếng đồng ở mặt sau của một bảng mạch in. Nếu bạn có thể làm điều đó, bạn sẽ không có vấn đề với các loại hàn khác, chẳng hạn như hàn hai dây với nhau hoặc hàn một dây vào một thiết bị đầu cuối chuyển đổi. Sau đây ...

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

Ở Light-O-Rama , một dãy được biểu diễn dưới dạng một lưới tương tự như lưới trong một chương trình bảng tính. Ví dụ, hình ảnh cho thấy một phần của một chuỗi rất đơn giản, trong đó đèn trên các kênh 1, 3 và 5 luân phiên bật và tắt mỗi nửa giây. Mỗi hàng trong lưới đại diện cho một ...

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

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Để Tạo một blog trong SharePoint, bạn tạo ra một trang web mới hoặc địa điểm phụ. Dành thời gian để xem xét nơi blog này sẽ nằm trong thứ bậc trang web của bạn. Mặc dù bạn có thể thay đổi quyền ở bất kỳ mức nào, bạn vẫn có thể có blog tổng thống của bạn trên trang chính của SharePoint Intranet của bạn (và ...

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Bạn tạo một ứng dụng tùy chỉnh sử dụng Custom Liệt kê ứng dụng. Ứng dụng Danh sách tùy chỉnh tạo ra một ứng dụng danh sách rất cơ bản mà sau đó bạn có thể tuỳ chỉnh cho kịch bản cụ thể của mình. Thực hiện theo các bước sau để tạo một ứng dụng tùy chỉnh: Nhấp vào biểu tượng bánh răng Cài đặt và chọn Thêm một ứng dụng. Trang Ứng dụng của bạn được hiển thị. Nhấp vào ...

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Thêm một ứng dụng thảo luận trên SharePoint một quá trình rất đơn giản. Bạn chỉ cần chọn ứng dụng Thảo luận từ trang Apps You Can Add. Bạn có thể thêm nhiều bảng thảo luận vào trang web của mình như bạn muốn. Bạn có thể thấy nó mang lại lợi ích cho việc tạo ra một bảng thảo luận cho mỗi khu chức năng để giữ ...

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

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Khi bạn khởi động trình mô phỏng thiết bị Android, tên của trình mô phỏng mới là cái gì đó giống như trình mô phỏng-5554 hoặc trình mô phỏng-5556. Tên bắt nguồn từ thực tế là mỗi lần chạy của trình mô phỏng Android sử dụng hai số cổng (hai kênh để giao tiếp với máy tính phát triển). Như bạn đã biết, trình duyệt web của bạn thường sử dụng số cổng 80 ...

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Bất cứ khi nào bạn chỉ định một giá trị mới cho chế độ xem nhất định tài sản (như khung và thuộc tính của trung tâm), chế độ xem sẽ được vẽ lại ngay lập tức và thay đổi hiển thị ngay lập tức trên màn hình. Ngoài ra, thay đổi đối với một số thuộc tính xem (chẳng hạn như các thuộc tính được đề cập) có thể được hoạt hình. Điều này có nghĩa là việc thay đổi thuộc tính sẽ tạo ra hình ảnh động ...

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Ngày nay, sử dụng một môi trường phát triển tích hợp (IDE) để phát triển Java dễ dàng hơn. IDE được chấp nhận rộng rãi nhất trong số các nhà phát triển Java là Eclipse. Bảng này cung cấp cho bạn các mẹo nhanh để sử dụng IDE Eclipse để phát triển các ứng dụng Android. Nhiệm vụ Làm thế nào để hoàn thành Bắt đầu một dự án mới của Android Từ màn hình Dự án mới, dưới Android ...