Phân mảnh chuỗi thời gian MongoDB

MongoDB cho dữ liệu chuỗi thời gian. Chia sẻ từ MongoDB

Chia lại cơ sở dữ liệu phân tán là một trong những nhiệm vụ tốn thời gian nhất mà các DBA được yêu cầu thực hiện. Nhưng nỗi đau đó có thể đã là dĩ vãng, ít nhất là với cơ sở dữ liệu của MongoDB, mang đến khả năng phân chia lại tự động mới trong phiên bản 5, cùng với sự hỗ trợ cho dữ liệu chuỗi thời gian và các tính năng dữ liệu mới khác

Chức năng chia lại phân đoạn tự động mới sẽ cho phép khách hàng tăng tốc cơ sở dữ liệu của họ mà không gặp rắc rối và thời gian ngừng hoạt động liên quan đến việc phân chia lại dữ liệu theo cách thủ công. Garaudy Etienne, giám đốc sản phẩm sharding của MongoDB, đã thảo luận về tầm quan trọng của tính năng mới trong một bài thuyết trình tại MongoDB ngày hôm nay. sự kiện trực tiếp,

“Hãy lấy một cơ sở dữ liệu nơi bạn thu thập các đơn đặt hàng và bạn muốn phân phối đồng đều các đơn đặt hàng của mình,” Etienne nói. “Bạn quyết định chọn ID đơn hàng được tạo ngẫu nhiên tại khóa phân đoạn. Các đơn đặt hàng sau đó được phân phối trên tất cả các phân đoạn theo ID đơn đặt hàng. ”

Tuy nhiên, khi bạn bắt đầu chạy khối lượng công việc cơ sở dữ liệu bằng khóa phân đoạn đó, Etienne nói, bạn bắt đầu nhận ra rằng thật sai lầm khi phân phối dữ liệu theo cách đó

“Vì khách hàng sẽ có nhiều hơn một đơn đặt hàng… nên có khả năng truy vấn sẽ cần truy cập vào nhiều phân đoạn,” anh ấy nói. “Vì lý do hiệu suất, bạn muốn tránh các truy vấn nhiều phân đoạn không cần thiết. Nhìn lại, sẽ tốt hơn nếu có các đơn đặt hàng của từng khách hàng trong một phân đoạn duy nhất. ”

Trong ví dụ này, sẽ tốt hơn nếu chia nhỏ dữ liệu dựa trên sự kết hợp giữa ID khách hàng và ID đơn đặt hàng

Ông giải thích: “Các hoàn cảnh và yêu cầu kinh doanh đã thay đổi, và bây giờ bạn cần cách dữ liệu được phân phối trên các phân đoạn để thích ứng với những thay đổi này. “Trước đây, điều này có nghĩa là bạn sẽ cần thay đổi khóa phân đoạn theo cách thủ công. Bạn sẽ kết xuất và tải lại dữ liệu của mình bằng khóa phân đoạn mới, điều này có thể có nghĩa là ứng dụng của bạn sẽ ngừng hoạt động. Hoặc bạn sẽ viết các tập lệnh di chuyển của riêng mình, tập lệnh này sẽ di chuyển dữ liệu trong nền sang một cụm mới trong khi ứng dụng của bạn đang hoạt động. ”

Phân mảnh chuỗi thời gian MongoDB

Cả hai đều là những quy trình phức tạp và tốn kém, có thể mất vài ngày hoặc thậm chí vài tuần để hoàn thành, Etienne nói. “Nhưng với MongoDB 5. 0, chúng tôi đang giới thiệu tính năng chia sẻ lại trực tiếp,” anh ấy nói. “Nó làm tất cả công việc cho bạn. Nó hoàn toàn tự động và nó chạy ở chế độ nền. Vì vậy, bạn có thể phân mảnh lại bộ sưu tập của mình mà không cần bất kỳ thời gian chết hoặc thao tác thủ công nào. ”

Bản phát hành này cũng giới thiệu hỗ trợ cho các bộ sưu tập dữ liệu chuỗi thời gian, công ty cho biết sẽ có lợi cho một số loại ứng dụng trong đó thời gian là một yếu tố quan trọng

Mark Porter, CTO của MongoDB, cho biết trong một bài thuyết trình tại MongoDB: “Đây là một công cụ thay đổi cuộc chơi dành cho tất cả những người phát triển và chạy các ứng dụng sản xuất hoặc cần xử lý một lượng lớn dữ liệu chuỗi thời gian. sống hôm nay

“Ví dụ: trong IoT, trong phân tích tài chính hoặc trong điều tra hoạt động, với bộ sưu tập chuỗi thời gian mới của chúng tôi, bạn không cần phải sử dụng kho lưu trữ dữ liệu riêng biệt nữa cho dữ liệu chuỗi thời gian của mình. Tất cả đều có trong MongoDB. ”

Một người đầu tiên sử dụng dữ liệu chuỗi thời gian là Bosch IoT Insights, công ty phát triển dịch vụ dựa trên đám mây để phân tích dữ liệu IoT. Erwin Segerer, một nhà phát triển phần mềm của Bosch cho biết, trước khi áp dụng cơ sở dữ liệu mới, Bosch đã dựa vào một giải pháp tùy chỉnh với mô hình dữ liệu riêng biệt của riêng mình cho dữ liệu chuỗi thời gian, điều này làm tăng thêm độ phức tạp và khó khăn cho nhà phát triển cũng như khách hàng. IO

“MongoDB 5. 0 và các bộ sưu tập chuỗi thời gian của nó đơn giản hóa triệt để ngăn xếp công nghệ của chúng tôi và cải thiện trải nghiệm người dùng,” Segerer cho biết trong một thông cáo báo chí. “Dữ liệu IoT được tự động lưu trữ ở định dạng được tối ưu hóa cao giúp giảm mức tiêu thụ bộ nhớ đồng thời cho phép truy vấn và phân tích dữ liệu nhanh chóng và hiệu quả. Do đó, người dùng mở khóa thông tin chuyên sâu nhanh hơn–bất kể đó là dữ liệu chuỗi thời gian hay không theo chuỗi thời gian–tất cả trong khi làm việc với một API truy vấn mạnh mẽ và trực quan duy nhất. ”

Một tính năng mới khác trong MongoDB 5. 0 là API được phiên bản. Theo Porter, khả năng này sẽ đảm bảo rằng API vẫn giữ nguyên, ngay cả khi ứng dụng hoặc cơ sở dữ liệu thay đổi bên dưới nó

“Bắt đầu với MongoDB 5. 0, bạn có thể gắn thẻ ứng dụng của mình với chức năng API cơ sở dữ liệu mà ban đầu bạn đã xây dựng ứng dụng của mình và chúng tôi sẽ giữ API đó khả dụng, hoạt động chính xác như cũ trong nhiều năm,” Porter nói trong video. “Vì vậy, bạn không cần phải nâng cấp ứng dụng của mình theo lịch trình mà bộ phận CNTT đặt ra cho cơ sở dữ liệu của bạn. Thay vào đó, bạn nâng cấp theo lịch trình phù hợp với bạn và phù hợp với ứng dụng của bạn. ”

Bản phát hành này cũng mang đến sự hỗ trợ cho mã hóa cấp trường phía máy khách trong môi trường nhiều đám mây, điều này sẽ tăng cường quyền riêng tư, MongoDB cho biết. Chức năng này sẽ hoạt động với Atlas, dịch vụ cơ sở dữ liệu được lưu trữ trên MongoDB

MongoDB cũng đang triển khai bản xem trước của dịch vụ không có máy chủ mới cho Atlas, điều này sẽ cải thiện cách các nhà phát triển tương tác với dịch vụ được lưu trữ trên máy chủ. MongoDB cũng đang đưa chức năng chấm điểm vào Tìm kiếm Atlas, cho phép người dùng áp dụng các công thức toán học cho các trường trong tài liệu để cải thiện mức độ liên quan của chúng

MongoDB có tốt cho dữ liệu chuỗi thời gian không?

MongoDB là cơ sở dữ liệu có mục đích chung dựa trên tài liệu với thiết kế lược đồ linh hoạt và ngôn ngữ truy vấn phong phú. Kể từ MongoDB 5. 0, MongoDB vốn hỗ trợ dữ liệu chuỗi thời gian .

MongoDB có sử dụng shending không?

Sharding là phương pháp phân phối dữ liệu trên nhiều máy. MongoDB sử dụng sharding để hỗ trợ triển khai với tập dữ liệu rất lớn và hoạt động có thông lượng cao.

Sharding có cải thiện hiệu suất trong MongoDB không?

Các cụm được phân mảnh trong MongoDB là một cách khác để có khả năng cải thiện hiệu suất . Giống như sao chép, sharding là một cách để phân phối các tập dữ liệu lớn trên nhiều máy chủ. Sử dụng cái được gọi là khóa phân đoạn, nhà phát triển có thể sao chép các mẩu dữ liệu (hoặc “phân đoạn”) trên nhiều máy chủ.

Cái nào tốt hơn sharding hoặc nhân rộng?

Sự khác biệt giữa sao chép và sharding là gì? . Nút máy chủ chính sao chép dữ liệu vào các nút máy chủ phụ. Điều này có thể giúp tăng tính khả dụng của dữ liệu và hoạt động như một bản sao lưu, trong trường hợp nếu máy chủ chính bị lỗi. sharding. Xử lý chia tỷ lệ ngang trên các máy chủ bằng khóa phân đoạn