MongoDB Atlas có phải là thời gian thực không?

MongoDB. live đã diễn ra vào tuần trước và Rockset đã có cơ hội tham gia cùng với các thành viên của cộng đồng MongoDB và chia sẻ về công việc của chúng tôi để làm cho dữ liệu MongoDB có thể truy cập được thông qua lập chỉ mục bên ngoài theo thời gian thực. Trong phiên của chúng tôi, chúng tôi đã thảo luận về nhu cầu của các ứng dụng dựa trên dữ liệu hiện đại để thực hiện các tập hợp và tham gia theo thời gian thực cũng như cách Rockset sử dụng các luồng thay đổi MongoDB và Lập chỉ mục hội tụ để cung cấp các truy vấn nhanh trên dữ liệu từ MongoDB

Các ứng dụng dựa trên dữ liệu cần tập hợp và tham gia theo thời gian thực

Các nhà phát triển ứng dụng dựa trên dữ liệu phải đối mặt với nhiều thách thức. Các ứng dụng ngày nay thường hoạt động trên dữ liệu từ nhiều nguồn—cơ sở dữ liệu như MongoDB, nền tảng phát trực tuyến và hồ dữ liệu. Và khối lượng dữ liệu mà các ứng dụng này cần phân tích thường được chia thành nhiều terabyte. Trên hết, các ứng dụng cần truy vấn nhanh trên dữ liệu trực tiếp để cá nhân hóa trải nghiệm người dùng, cung cấp thông tin 360 độ theo thời gian thực cho khách hàng hoặc phát hiện các tình huống bất thường, tùy từng trường hợp.

MongoDB Atlas có phải là thời gian thực không?

Ví dụ: ứng dụng cá nhân hóa bán lẻ đa kênh có thể yêu cầu dữ liệu đặt hàng từ MongoDB, luồng hoạt động của người dùng từ Kafka và dữ liệu của bên thứ ba từ hồ dữ liệu. Ứng dụng sẽ phải xác định khuyến nghị hoặc ưu đãi sản phẩm nào để cung cấp cho khách hàng trong thời gian thực, khi họ đang ở trên trang web

Kiến trúc thời gian thực ngày nay

Ngày nay, một trong hai tùy chọn thường được sử dụng để hỗ trợ các ứng dụng dựa trên dữ liệu thời gian thực này

  1. Chúng tôi có thể liên tục ETL tất cả dữ liệu mới từ nhiều nguồn dữ liệu, chẳng hạn như MongoDB, Kafka và Amazon S3, vào một hệ thống khác, như PostgreSQL, có thể hỗ trợ tổng hợp và tham gia. Tuy nhiên, cần có thời gian và nỗ lực để xây dựng và duy trì các đường ống ETL. Chúng tôi không chỉ phải cập nhật các quy trình của mình thường xuyên để xử lý các tập dữ liệu mới hoặc các lược đồ đã thay đổi, các quy trình này sẽ thêm độ trễ để dữ liệu sẽ cũ vào thời điểm nó có thể được truy vấn trong hệ thống thứ hai
  2. Chúng tôi có thể tải dữ liệu mới từ các nguồn dữ liệu khác—Kafka và Amazon S3—vào phiên bản MongoDB sản xuất của chúng tôi và chạy các truy vấn của chúng tôi ở đó. Chúng tôi sẽ chịu trách nhiệm xây dựng và duy trì các đường ống dẫn từ các nguồn này đến MongoDB. Giải pháp này hoạt động tốt ở quy mô nhỏ hơn, nhưng việc mở rộng dữ liệu, truy vấn và hiệu suất có thể gây khó khăn. Điều này sẽ yêu cầu quản lý nhiều chỉ mục trong MongoDB và viết logic phía ứng dụng để hỗ trợ các truy vấn phức tạp như tham gia

Phương pháp tiếp cận lập chỉ mục bên ngoài theo thời gian thực

Chúng ta có thể thực hiện một cách tiếp cận khác để đáp ứng các yêu cầu của ứng dụng dựa trên dữ liệu

MongoDB Atlas có phải là thời gian thực không?

Sử dụng Rockset để lập chỉ mục thời gian thực cho phép chúng tôi tạo API chỉ bằng cách sử dụng SQL để tìm kiếm, tổng hợp và tham gia. Điều này có nghĩa là không cần thêm logic phía ứng dụng để hỗ trợ các truy vấn phức tạp. Thay vì tạo và quản lý các chỉ mục của riêng chúng tôi, Rockset tự động xây dựng các chỉ mục trên dữ liệu đã nhập. Và Rockset nhập dữ liệu mà không yêu cầu lược đồ được xác định trước, vì vậy chúng tôi có thể bỏ qua các đường dẫn ETL và truy vấn dữ liệu mới nhất

Rockset cung cấp các trình kết nối tích hợp sẵn cho MongoDB và các nguồn dữ liệu phổ biến khác, vì vậy chúng tôi không phải xây dựng trình kết nối của riêng mình. Đối với MongoDB Atlas, trình kết nối Rockset sử dụng các luồng thay đổi MongoDB để đồng bộ hóa liên tục từ MongoDB mà không ảnh hưởng đến MongoDB sản xuất

MongoDB Atlas có phải là thời gian thực không?

Trong kiến ​​trúc này, không cần sửa đổi MongoDB để hỗ trợ các ứng dụng dựa trên dữ liệu, vì tất cả các lần đọc nặng từ các ứng dụng đều được giảm tải cho Rockset. Sử dụng SQL đầy đủ tính năng, chúng tôi có thể xây dựng các loại vi dịch vụ khác nhau trên Rockset, sao cho chúng được tách biệt khỏi khối lượng công việc MongoDB sản xuất

Rockset lập chỉ mục thời gian thực như thế nào

Rockset được thiết kế để trở thành lớp lập chỉ mục nhanh, được đồng bộ hóa với cơ sở dữ liệu chính. Một số khía cạnh của Rockset làm cho nó rất phù hợp với vai trò này

Lập chỉ mục hội tụ

Rockset's Converged Index™ là một tính năng dành riêng cho Rockset, trong đó tất cả các trường được lập chỉ mục tự động. Không cần tạo và duy trì chỉ mục hoặc lo lắng về trường nào cần lập chỉ mục. Rockset lập chỉ mục cho mọi trường đơn lẻ, bao gồm cả các trường lồng nhau. Chỉ mục hội tụ của Rockset là cách hiệu quả nhất để tổ chức dữ liệu của bạn và cho phép các truy vấn có sẵn gần như ngay lập tức và thực hiện cực kỳ nhanh

Rockset lưu trữ mọi trường của mọi tài liệu trong một chỉ mục đảo ngược (như Elaticsearch), chỉ mục dựa trên cột (như nhiều kho dữ liệu làm) và trong chỉ mục dựa trên hàng (như MongoDB hoặc PostgreSQL). Mỗi chỉ mục được tối ưu hóa cho các loại truy vấn khác nhau

MongoDB Atlas có phải là thời gian thực không?

Rockset có thể lập chỉ mục mọi thứ một cách hiệu quả bằng cách chia nhỏ tài liệu thành các cặp khóa-giá trị, lưu trữ chúng trong RocksDB, một kho lưu trữ khóa-giá trị. Không giống như các giải pháp lập chỉ mục khác, như Elaticsearch, mỗi trường có thể thay đổi, nghĩa là có thể thêm các trường mới hoặc cập nhật từng trường mà không cần phải lập chỉ mục lại toàn bộ tài liệu

Chỉ mục đảo ngược giúp tra cứu điểm, trong khi chỉ mục dựa trên cột giúp dễ dàng quét qua các giá trị cột để tổng hợp. Trình tối ưu hóa truy vấn có thể chọn các chỉ mục thích hợp nhất để sử dụng khi lên lịch thực hiện truy vấn

MongoDB Atlas có phải là thời gian thực không?

Schemaless nhập

Một yêu cầu quan trọng khác đối với lập chỉ mục thời gian thực là khả năng nhập dữ liệu mà không cần lược đồ xác định trước. Điều này cho phép tránh các bước xử lý ETL khi lập chỉ mục dữ liệu từ MongoDB, tương tự như vậy có một lược đồ linh hoạt

Tuy nhiên, chỉ riêng việc nhập liệu không có lược đồ không đặc biệt hữu ích nếu chúng ta không thể truy vấn dữ liệu đang được nhập vào. Để giải quyết vấn đề này, Rockset tự động tạo một lược đồ trên dữ liệu đã nhập để có thể truy vấn nó bằng SQL, một khái niệm được gọi là Lược đồ thông minh. Theo cách này, Rockset cho phép chạy các truy vấn SQL trên dữ liệu NoSQL, từ MongoDB, hồ dữ liệu hoặc luồng dữ liệu

MongoDB Atlas có phải là thời gian thực không?

Kiến trúc Aggregator-Leaf-Tailer phân tách

Đối với lập chỉ mục thời gian thực, điều cần thiết là cung cấp hiệu suất thời gian thực cho quá trình nhập và truy vấn. Để làm như vậy, Rockset sử dụng kiến ​​trúc Aggregator-Leaf-Tailer được phân tách để tận dụng tính đàn hồi của đám mây

MongoDB Atlas có phải là thời gian thực không?

Tailers nhập dữ liệu liên tục, để lại chỉ mục và lưu trữ dữ liệu được lập chỉ mục và trình tổng hợp phục vụ các truy vấn trên dữ liệu. Mỗi thành phần của kiến ​​trúc này được tách rời khỏi các thành phần khác. Trên thực tế, điều này có nghĩa là tính toán và lưu trữ có thể được thay đổi quy mô độc lập, tùy thuộc vào việc khối lượng công việc của ứng dụng thiên về tính toán hay lưu trữ

Hơn nữa, trong phần tính toán, tính toán nhập liệu có thể được chia tỷ lệ riêng biệt với tính toán truy vấn. Trên một lô hàng lớn, chúng tôi có thể quay nhiều máy may hơn để giảm thiểu thời gian cần thiết để nhập. Tương tự, trong thời gian hoạt động của ứng dụng tăng đột biến, chúng tôi có thể tạo ra nhiều bộ tổng hợp hơn để xử lý tỷ lệ truy vấn cao hơn. Rockset sau đó có thể tận dụng hiệu quả của đám mây để giảm thiểu độ trễ trong hệ thống

Sử dụng MongoDB và Rockset cùng nhau

MongoDB và Rockset gần đây đã hợp tác để cung cấp trình kết nối được quản lý hoàn toàn giữa MongoDB Atlas và Rockset. Sử dụng song song hai dịch vụ mang lại nhiều lợi ích cho người dùng

  1. Sử dụng bất kỳ dữ liệu nào trong thời gian thực với nhập liệu không cần lược đồ - Lập chỉ mục liên tục từ MongoDB, các cơ sở dữ liệu, luồng dữ liệu và hồ dữ liệu khác với các trình kết nối tích hợp
  2. Tạo API trong vài phút bằng SQL - Tạo API bằng SQL cho các truy vấn phức tạp, như tìm kiếm, tổng hợp và tham gia
  3. Mở rộng quy mô tốt hơn bằng cách giảm tải các lần đọc nặng thành một lớp tốc độ - Mở rộng quy mô thành hàng triệu lệnh gọi API nhanh mà không ảnh hưởng đến hiệu suất MongoDB sản xuất

MongoDB Atlas có phải là thời gian thực không?

Kết hợp MongoDB và Rockset với nhau chỉ cần một vài bước đơn giản. Chúng tôi đã ghi lại hướng dẫn từng bước tại đây để cho biết cách thực hiện. Bạn cũng có thể xem toàn bộ MongoDB của chúng tôi. phiên trực tiếp tại đây

MongoDB có hỗ trợ thời gian thực không?

Với MongoDB, các doanh nghiệp có thể phân tích mọi dữ liệu tại chỗ và cung cấp thông tin chi tiết theo thời gian thực .

Atlas thời gian thực là gì?

ATLAS Thời gian thực là ứng dụng tiên tiến và dễ thích nghi nhất trên thị trường . Nó được tích hợp với hệ thống dịch máy, chỉnh sửa hậu kỳ và hỗ trợ con người hàng đầu thị trường sử dụng proxy xuất bản đa ngôn ngữ “thông minh” để quản lý bản dịch của các trang web.

Làm cách nào để lấy dữ liệu thời gian thực từ MongoDB?

4 cách để nhận các bản cập nhật cơ sở dữ liệu theo thời gian thực từ MongoDB .
Móc trong lớp cơ sở dữ liệu của ứng dụng. Đây là một cách tiếp cận rất đơn giản và không có nhiều điều để giải thích. .
Kéo và tìm khác kết quả truy vấn. Đây là một cách tiếp cận nâng cao hơn một chút, đã từng được sử dụng trong Sao băng cho đến phiên bản 0. 7. .
nối đuôi oplog. .
Thay đổi luồng

MongoDB Atlas nhanh như thế nào?

So sánh các chỉ số MongoDB . AWS có Độ trễ ghi đĩa tối đa thấp hơn 10-20 lần (ổn định 1-2 mili giây, chỉ 1-2 đột biến trong vòng 1 giờ tối đa 6 mili giây ) so với Azure (40 .