Trang chủ Thủ Thuật Có gì mới trong MongoDB 5.0?

Có gì mới trong MongoDB 5.0?

0
52

Có gì mới trong MongoDB 5.0?

Illustration showing the MongoDB logo

Bản phát hành chính mới nhất của MongoDB, v5.0, được phát hành vào ngày 13 tháng 7 năm 2021. Lần lặp lại này của cơ sở dữ liệu hướng tài liệu bổ sung các tính năng và cải tiến mới cũng như nhịp phát hành sửa đổi cho các phiên bản trong tương lai.

Dữ liệu chuỗi thời gian

Một trong những bổ sung tính năng tiêu đề là hỗ trợ hạng nhất cho dữ liệu chuỗi thời gian. Mặc dù một số nhà phát triển đã xây dựng công cụ chuỗi thời gian của riêng họ xung quanh MongoDB, việc có sẵn các loại dữ liệu chuỗi thời gian nguyên bản sẽ giúp nhiều hơn nữa để bắt đầu.

“Chuỗi thời gian” đề cập đến bất kỳ loại dữ liệu nào trong đó các bản ghi được tạo tuần tự tại các thời điểm khác nhau. Các trường hợp sử dụng phổ biến bao gồm các luồng đo lường cảm biến và nhật ký lịch sử giao dịch, trong đó mỗi bản ghi tương ứng trực tiếp với một thời điểm cụ thể.

Bộ sưu tập chuỗi thời gian mới cung cấp kho dữ liệu đặc biệt được tối ưu hóa cho dữ liệu có các đặc điểm này. Các giá trị sẽ được nén thành một cấu trúc giản đồ duy nhất khi được lưu vào đĩa, cung cấp khả năng lập chỉ mục tốt hơn, sử dụng lưu trữ hiệu quả hơn và giảm tải máy chủ. Bạn có thể đặt mức độ chi tiết của dữ liệu thời gian thành giây, phút hoặc giờ. Cũng có thể tự động hết hạn dữ liệu sau một số giây đã định.

db.createCollection (
    "đo",
    {
        chuỗi thời gian: {
            timeField: "dấu thời gian",
            mức độ chi tiết: "phút"
        },
        expireAfterSeconds: 3600
    }
);

Đoạn mã trên xác định một tập hợp chuỗi thời gian được gọi là measurements . Mức độ chi tiết của nó được đặt thành phút. Các tài liệu trong bộ sưu tập sẽ tự động bị xóa sau một giờ.

Quảng cáo

MongoDB 5.0 cung cấp hỗ trợ tích hợp để truy vấn và thao tác dữ liệu chuỗi thời gian. Bạn có thể trích xuất các đường trung bình động dựa trên thời gian để theo dõi các xu hướng thời gian với mã tối thiểu của riêng bạn.

db.measurements.aggregate ([
    {
        $ dự án: {
            ngày: {
                $ dateToParts: {date: "$ timestamp"}
            }
        },
        $ nhóm: {
            _Tôi: {
                thời gian: {
                    giờ: "$ date.hour",
                    phút: "$ date.minute"
                }
            },
            AverageMeasurement: {$ avg: "Measure"}
        }
    }
]);

Giả sử một bộ sưu tập chuỗi thời gian với measurementtimestamp , lệnh tổng hợp ở trên sẽ xuất ra một cái gì đó như sau:

 {
    "_Tôi": {
        "thời gian": {
            "giờ": 12,
            "tháng": 30
        },
        "AverageMeasurement": 1,5
    },
    "_Tôi": {
        "thời gian": {
            "giờ": 12,
            "tháng": 45
        },
        "AverageMeasurement": 2,7
    }
}

Các bản ghi được nhóm theo dấu thời gian của chúng bằng phép chiếu. measurement của mỗi nhóm sau đó được tính trung bình vào trường averageMeasurement .

Nạp tiền trực tiếp

Một trong những thách thức lớn nhất khi mở rộng quy mô theo chiều ngang của MongoDB là cách tiếp cận của nó đối với sharding. Việc chọn khóa phân đoạn chính xác là rất quan trọng đối với hiệu suất của cụm của bạn nhưng trước đây chỉ là hoạt động một chiều. Khi bạn đã đặt chìa khóa, bạn không thể thay đổi nó, khiến bạn bất lực nếu bạn đưa ra quyết định sai vào ngày đầu tiên. Bản thân MongoDB đã mô tả lựa chọn phím phân đoạn là “bước nhảy dù một chiều” được giải quyết tốt nhất bằng cách tạo một cụm hoàn toàn mới.

MongoDB 5.0 cuối cùng đã chấm dứt cơn ác mộng về khóa phân đoạn. Nếu bạn hiểu sai, bạn có thể lập chỉ mục lại bộ sưu tập của mình bằng cách sử dụng khóa phân đoạn mới. MongoDB sẽ xử lý toàn bộ quá trình di chuyển cho bạn mà không gây ra bất kỳ thời gian ngừng hoạt động cơ sở dữ liệu nào. Điều này giúp dễ dàng thoát khỏi hiệu suất subpar do cấu hình phân đoạn không chính xác.

Phiên bản và phát hành

MongoDB 5.0 mang đến những cải tiến đáng kể trong tương lai. Cơ sở dữ liệu đã có được một API được phiên bản cho phép bạn tránh làm hỏng các thay đổi khi nâng cấp lên các bản phát hành mới.

Quảng cáo

Bạn sẽ có thể cập nhật lên các phiên bản trong tương lai mà không cần sửa đổi mã ứng dụng của mình. Mọi thứ sẽ hoạt động trơn tru miễn là bản phát hành mới hỗ trợ phiên bản API mà bạn nhắm mục tiêu. Nó có nghĩa là ứng dụng của bạn được tách biệt nhiều hơn với phiên bản cơ sở dữ liệu bên dưới, vì vậy bạn có thể nâng cấp lên các phiên bản MongoDB mới trước đó mà không có nguy cơ bị hỏng mã.

Đi kèm với sự thay đổi này là lịch phát hành mới. MongoDB sẽ bắt đầu vận chuyển các phiên bản trong tương lai nhanh hơn, với “Bản phát hành nhanh” sẽ ra mắt hàng quý. Đây sẽ là những phiên bản ngữ nghĩa nhỏ không có thay đổi đột ngột, cung cấp các tính năng mới trong một chu kỳ tăng tốc. Mỗi năm, một bản phát hành chính mới sẽ đến, tung ra các Bản phát hành nhanh và có khả năng phá vỡ khả năng tương thích ngược.

Mô hình phát hành mới cho phép bạn truy cập các tính năng mới nổi nhanh hơn mà không ảnh hưởng đến sự ổn định tổng thể của MongoDB. Nếu bạn không muốn nâng cấp mỗi quý, bạn có thể ở lại nhánh phát hành chính và giữ lại nhịp độ hàng năm. Các bản phát hành nhanh sẽ chỉ được hỗ trợ chính thức trong dịch vụ Atlas được quản lý của MongoDB. Chúng sẽ có sẵn cho người dùng tự lưu trữ dưới dạng bản dựng phát triển tùy chọn.

Serverless MongoDB

MongoDB cũng đã tung ra bản xem trước các phiên bản Atlas không máy chủ mới của mình. Atlas là dịch vụ cung cấp cơ sở dữ liệu chính thức của công ty cho các nền tảng đám mây phổ biến.

Với triển khai không máy chủ, bạn sẽ nhận được tự động cung cấp tài nguyên chính xác cho khối lượng công việc hiện tại của mình. Nền tảng tự động thích ứng với các nhu cầu thay đổi, vì vậy bạn không cần phải mở rộng quy mô cơ sở hạ tầng của mình theo cách thủ công. Bạn sẽ chỉ được lập hóa đơn cho những gì bạn sử dụng.

Serverless Atlas được quản lý bởi MongoDB. Nó sử dụng phiên bản phát hành cơ sở dữ liệu mới nhất với hỗ trợ nâng cấp tự động. Tạo phiên bản không máy chủ cho phép bạn truy cập các cụm MongoDB mới mà không cần tự định cấu hình chúng. Bạn chọn nhà cung cấp dịch vụ đám mây, tạo cơ sở dữ liệu mới và kết nối từ ứng dụng của mình.

Tóm lược

MongoDB 5.0 mở rộng cơ sở dữ liệu với nhiều khả năng nâng cao tính linh hoạt của nó. Nó cũng củng cố vị trí của mình như một nền tảng đám mây gốc có sẵn trong một loạt các giải pháp được quản lý, hiện bao gồm cả các tùy chọn không máy chủ.

Quảng cáo

Bên cạnh những thay đổi về tiêu đề, còn có một loạt các cải tiến và cải tiến hệ sinh thái lành mạnh. MongoDB Shell mới đơn giản hóa sự tương tác của nhà phát triển với cơ sở dữ liệu bằng cách cung cấp tính năng đánh dấu cú pháp và tự động hoàn thành. Các SDK mới cũng giúp tích hợp MongoDB với nhiều ngôn ngữ lập trình và khuôn khổ hơn, bao gồm Unity, Flutter và Kotlin.

Về mặt bảo mật, hỗ trợ mở rộng cho Mã hóa mức trường phía máy khách cho phép bạn mã hóa dữ liệu nằm trong cơ sở dữ liệu đa đám mây. Các cải tiến về luân chuyển chứng chỉ tạo điều kiện thuận lợi cho việc hoán đổi x509 mà không cần thời gian chết, giảm tác động của các quy trình làm cứng thông thường.

MongoDB 5.0 hiện có sẵn thông qua Atlas, các nhà cung cấp đám mây công cộng và là một giải pháp mã nguồn mở tự lưu trữ. Có các gói chính thức cho Amazon Linux, Debian, RedHat, SUSE, Ubuntu và Windows, cũng như hình ảnh Docker cho các môi trường chứa.

Penetration Testing Has More Benefits Than You Think

Kiểm tra thâm nhập có nhiều lợi ích hơn bạn nghĩ

How To Setup Google Analytics For Your Website

Cách thiết lập Google Analytics cho trang web của bạn

How to Secure Sensitive Data With Docker Compose Secrets

Cách bảo mật dữ liệu nhạy cảm với Docker Compose Secrets

How “Chaos Engineering” Helps You Avoid Unplanned Downtime

Cách “Kỹ thuật hỗn loạn” giúp bạn tránh thời gian ngừng hoạt động ngoài kế hoạch

What is Data Scraping, And Why Is It a Threat?

Scraping dữ liệu là gì, và tại sao nó lại là một mối đe dọa?

How to Set Up Automated Deployments to Your Servers with Visual Studio and FTP

Cách thiết lập triển khai tự động cho máy chủ của bạn với Visual Studio và FTP

Dịch từ: https://www.cloudsavvyit.com/12809/whats-new-in-mongodb-5-0/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây