Trang Chủ Tài chính Cá nhân Truy cập khóa tốc độ cao với các cửa hàng có giá trị NoSQL

Truy cập khóa tốc độ cao với các cửa hàng có giá trị NoSQL

Mục lục:

Video: [SMAC 2015] NEO4J 2025

Video: [SMAC 2015] NEO4J 2025
Anonim

Các kho khóa giá trị trong NoSQL đều là về tốc độ. Bạn có thể sử dụng các kỹ thuật khác nhau để tối đa hóa tốc độ đó, từ dữ liệu bộ nhớ đệm, đến việc có nhiều bản sao của dữ liệu hoặc sử dụng các cấu trúc lưu trữ thích hợp nhất.

Caching dữ liệu trong bộ nhớ

Vì dữ liệu có thể được truy cập dễ dàng khi nó được lưu trữ trong bộ nhớ truy cập ngẫu nhiên (RAM), việc chọn lưu trữ giá trị khóa để lưu trữ dữ liệu trong RAM có thể tăng tốc độ truy cập dữ liệu của bạn, chi phí máy chủ cao hơn.

Thông thường, mặc dù, sự cân bằng này là đáng làm. Bạn có thể dễ dàng tính toán phần trăm dữ liệu được lưu trữ của bạn được yêu cầu thường xuyên. Nếu bạn biết năm phần trăm thường được yêu cầu mỗi vài phút, sau đó lấy 5 phần trăm kích thước dữ liệu của bạn và thêm số đó làm khoảng trống RAM bổ sung trên các máy chủ cơ sở dữ liệu của bạn.

Hãy nhớ rằng hệ điều hành, các ứng dụng khác và máy chủ cơ sở dữ liệu cũng có yêu cầu về bộ nhớ.

Sao chép dữ liệu đến các nô lệ

Trong các kho khóa giá trị quan trọng, chìa khóa cụ thể được lưu trữ trên một trong các máy chủ trong cụm. Quá trình này được gọi là phân vùng chính . Điều này có nghĩa là nếu khoá này được liên tục yêu cầu, nút này sẽ nhận được phần lớn các yêu cầu. Do đó, nút này sẽ chậm hơn tốc độ yêu cầu trung bình của bạn, có thể ảnh hưởng đến chất lượng dịch vụ cho người dùng của bạn.

Để tránh trường hợp này, một số cửa hàng có giá trị khóa hỗ trợ thêm các bản sao chỉ đọc, còn được gọi là nô lệ. Redis, Riak, và Aerospike là những ví dụ điển hình. Nhân rộng cho phép khóa được lưu trữ nhiều lần trên một số máy chủ, làm tăng tốc độ phản ứng nhưng với chi phí của phần cứng hơn.

Một số kho khóa giá trị đảm bảo rằng các bản sao của khóa sẽ luôn luôn có giá trị giống như thầy. Bảo đảm này được gọi là hoàn toàn nhất quán. Nếu một cập nhật xảy ra trên máy chủ chủ giữ phím, tất cả các bản sao được đảm bảo được cập nhật.

Không phải tất cả các cửa hàng giá trị khóa đều đảm bảo trạng thái này (ví dụ như Riak), vì vậy nếu điều quan trọng là phải cập nhật cho mili giây, sau đó chọn một cơ sở dữ liệu có bản sao hoàn toàn nhất quán (như Aerospike).

Mô hình hóa dữ liệu trong các cửa hàng có giá trị khóa

Nhiều cửa hàng giá trị khóa chỉ hỗ trợ các cấu trúc cơ bản cho các loại giá trị của chúng, để lại lập trình ứng dụng với công việc giải thích dữ liệu. Hỗ trợ kiểu dữ liệu đơn giản thường bao gồm các chuỗi, số nguyên, JSON, và các giá trị nhị phân.

Đối với nhiều trường hợp sử dụng, điều này hoạt động tốt, nhưng đôi khi truy cập dữ liệu nhỏ hơn rất hữu ích.Ví dụ, Redis hỗ trợ các kiểu giá trị dữ liệu sau:

  • Dãy

  • Danh sách

  • Đặt

  • Bộ sưu tập

  • Bản đồ Hash

  • Mảng Bit

  • Nhật ký Hyperlog

được truy vấn để kết hợp các phạm vi của các giá trị - giống như truy vấn một chỉ mục các giá trị được sắp xếp theo ngày, rất hữu ích cho việc tìm kiếm tập con của dữ liệu đánh máy.

Hoạt động trên dữ liệu

Redis bao gồm các hoạt động để tăng và giảm các giá trị chính trực tiếp, mà không cần phải thực hiện các bước cài đặt lần đọc-sửa đổi-cập (RMU). Bạn có thể làm như vậy trong một giao dịch duy nhất để đảm bảo rằng không có ứng dụng khác thay đổi giá trị trong quá trình cập nhật. Các thao tác cụ thể kiểu dữ liệu này bao gồm thêm và xóa các mục vào danh sách và bộ.

Bạn thậm chí có thể cung cấp tính năng tự động hoàn thành trên giao diện người dùng của ứng dụng bằng cách sử dụng lệnh Redis ZRANGEBYLEX. Lệnh này lấy ra một tập hợp các phím mà một phần phù hợp với một chuỗi. Vì vậy, nếu bạn đã gõ "NoSQL for" trong thanh tìm kiếm của một ứng dụng được xây dựng trên Redis, bạn sẽ thấy đề xuất "NoSQL For Dummies. "

Đánh giá Redis

Redis tự hào là một cửa hiệu có trọng lượng rất nhẹ nhưng có tốc độ nhanh. Ban đầu nó được thiết kế để trở thành một cửa hàng có giá trị trong bộ nhớ, nhưng hiện nay nó tự hào về dung lượng lưu trữ trên đĩa.

Bạn có thể sử dụng Redis để bảo vệ dữ liệu bằng cách kích hoạt chế độ AOF (chỉ thêm tệp) và hướng Redis ép dữ liệu vào đĩa trên mỗi truy vấn (được gọi là fsync flushing>). AOF làm chậm viết, tất nhiên, nhưng nó cung cấp một mức độ cao hơn về độ bền cho dữ liệu. Tuy nhiên, lưu ý rằng vẫn có thể mất đến một giây lệnh. Ngoài ra, Redis chỉ mới đây hỗ trợ bổ sung cho clustering. Trên thực tế, vào thời điểm viết bài này, sự hỗ trợ clustering của Redis đang trong giai đoạn thử nghiệm beta. May mắn thay, Redis sử dụng một mô hình cluster không dùng chung, với các bậc thầy cho các khóa cụ thể và nô lệ mà không bao giờ được trực tiếp viết ra bởi một khách hàng; chỉ có bậc thầy làm như vậy. Cung cấp chia sẻ không có gì clustering nên làm cho nó dễ dàng hơn cho Redis thực hiện clustering đáng tin cậy hơn cho các cơ sở dữ liệu cho phép viết cho tất cả các bản sao.

Nếu bạn muốn có một bộ nhớ cache trong bộ nhớ ở tốc độ rất cao ở phía trước của cơ sở dữ liệu khác - MongoDB hoặc Riak thường được sử dụng với Redis - sau đó đánh giá Redis như là một lựa chọn. Khi sự hỗ trợ cho việc phân cụm và độ bền của dữ liệu tiến triển, có lẽ Redis có thể vượt qua các cơ sở dữ liệu back-end khác.

Truy cập khóa tốc độ cao với các cửa hàng có giá trị NoSQL

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 ...