Đưa dữ liệu lên mây với MongoDB Atlas

Tram Ho

Với những tín đồ của NoSQL thì MongoDB là một sự lựa chọn tuyệt vời, và trong thời đại mà ai ai cũng đòi đi đua đưa thì chẳng lý do gì mà chúng ta không thử get high đưa dữ liệu lên mây ?

MongoDB Atlascloud database của MongoDB được ra mắt vào năm 2016 chạy trên AWS, Microsoft Azure và Google Cloud Platform.

Dữ liệu trong mỗi Cluster ở Atlas được lưu trữ theo cơ chế Replication, với 3 nodes: 1 master (primary) và 2 slaves (secondary)

1. Get Started

Để bắt đầu sử dụng Atlas các bạn hay truy cập vào đây và nhấn ngay nút Start Free nhé ?

Cứ mạnh dạn mà đăng ký và yên tâm rằng với bản free thì Atlas sẽ không yêu cầu thẻ tín dụng để nhăm nhe trừ tiền mỗi khi bạn sơ suất như AWS đâu ?

Ngay sau khi đăng ký thành công bạn có thể chọn lựa chọn dịch vụ, và coder nghèo như mình thì hiển nhiên chọn option free ?

Tiếp đến là lựa chọn nơi đặt database của bạn cũng như các option kèm theo. Người ta bảo của rẻ là của ôi nên nếu không muốn mất đồng nào thì bạn chỉ được xài 512MB Storage, Shared RAM, 100 max connections và Low network performance ?

Lựa chọn Create Cluster bạn sẽ được chuyển đến giao diện quản lý, điều mình thích ở Atlas là giao diện của nó cực kỳ thân thiện chứ không rối mắt như thằng AWS ?

2. Database Access

Bấm vào Database Access bạn sẽ đi đến màn hình quản lý user. Tại đây bạn có thể tạo ra user với các quyền là: Admin, Read and Write, Only Read và bạn có thể tạo ra Custom Role như quyền write hoặc read một Database cụ thể.

Có hai các để đăng nhập là sử dụng PasswordCertificate

3. Network Access

Click vào Network Access bạn sẽ đi đến màn hình quản lý Network.

Tại đây bạn có thể quản lý những IP được phép connect đến Database của bạn. Bấm vào ADD IP ADDRESS để thực hiện thêm địa chỉ IP.

Nếu bạn muốn access tất cả các địa chỉ IP thì có thể click vào ALLOW ACCESS FROM ANYWHERE

4. Connect

Click vào Clusters để quản lý các clusters của bạn. Tại đây sẽ có đầy đủ report về Cluster của bạn kể cả biểu đồ Read, Write, Connect,…

Click vào Connect để lấy url connect cũng như đọc hướng dẫn.

Bạn có thể connect đến MongoAtlas bằng cách:

  • SSH qua MongoDB Shell

  • Connect bằng code trên application của bạn hoặc MongoDB Compass

  • Connect đến ứng dụng bên thứ 3 như Robo3T: với cách này bạn cần chọn connect đến ReplicaSet thay vì Direct

5. Triggers

Nếu bạn đã làm việc với SQL thì chắc hẳn đã nghe đến tính năng này.
Nó là tính tăng chạy một số câu lệnh mỗi khi có sự thay đổi về mặt dữ liệu, có thể là before hoặc after (insert, update, delete).

Thực ra ban đầu MongoDB không có hỗ trợ cho Triggers, người ta phải lắng nghe một thứ gọi là Replica Set Oplog, khi bạn chạy MongoDB trong Replica Set, tất cả các hành động của MongoDB được ghi vào nhật ký hoạt động (được gọi là oplog).

Tuy nhiên từ phiên bản 3.6, MongoDB có một tính năng gọi là Change Streams hỗ trợ bạn stream các thay đổi. Tuy nhiên mình sẽ nói đến tính năng này trong một bài viết khác.

Ở bài viết này, mình sẽ nói về Triggers mà Atlas hỗ trợ. Nó được viết dựa trên Change Streams của MongoDB.

Click vào Triggers trên màn hình Altas của bạn để có thể quản lý các Triggers. Với MongoDB bạn có thể thực hiện Trigger với các Event: Insert, Update, Delete, Replace.

Có hai cách để thực hiện Trigger:

  • Function: là dạng một hàm được Trigger, tại đây bạn có thể thao tác với Database, gọi một function mà bạn define trong Mongo hoặc call API.
  • EventBridge: Bạn có thể connect đến AWS EventBridge để Trigger các serverless trên AWS Lambda.

Ở bài viết này mình sẽ nói chi tiết về function.

changeEvent:

Database Trigger sẽ được call với một changeEvent parameter.

Thao tác với MongoDB Data:

Call function:

Call http service:

Bạn có thể tìm hiểu thêm về context ở đây.

6. Kết luận

Bài viết trên mình đã hướng dẫn các bạn để có thể bắt đầu với MongoDB Atlas, chúng khá đơn giản nếu bạn đã làm quen với MongoDB. Hi vọng với bài viết này các bạn sẽ có thêm một lựa chọn trong tech stack của mình. ☺️?

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo