1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình

53 37 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Và Ứng Dụng Mô Hình Dịch Vụ DBaaS Vào Lập Trình
Tác giả Nguyễn Văn Hoàng, Võ Đức Hiên
Người hướng dẫn TS. Nguyễn Tiến Đạt
Trường học Trường Đại Học Mở Thành Phố Hồ Chí Minh
Chuyên ngành Khoa Học Máy Tính
Thể loại Đồ Án Ngành
Năm xuất bản <NĂM>
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 2,15 MB

Cấu trúc

  • DANH MỤC HÌNH VẼ

  • DANH MỤC TỪ VIẾT TẮT

  • LỜI CAM ĐOAN

  • MỞ ĐẦU

  • Chương 1. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY (CLOUD COMPUTING)

    • 1.1. Đĩnh nghĩa về điện toán đám mây (Cloud Computing)

    • 1.2. Lợi ích của điện toán đám mây

    • 1.3. [ CITATION ĐỗĐ20 l 1033 ]Mô hình triển khai điện toán đám mây (Deploying Models)

      • 1.3.1. Public Cloud – Đám mây công cộng

      • 1.3.2. Private Cloud – Đám mây nội bộ

      • 1.3.3. Hybrid Cloud – Đám mây lai

    • 1.4. Mô hình dịch vụ Điện toán đám mây (Service Models)

      • 1.4.1. Cơ sở hạ tầng như một dịch vụ - IaaS

  • Tài nguyên mà mô hình IaaS cung cấp bao gồm: máy chủ, thiết bị mạng, bộ nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu. Mô hình dịch vụ có khả năng mở rộng linh hoạt, chi phí của dịch vụ tùy thuộc vào nhu cầu sử dụng của người dùng, nhiều người thuê có thể dùng chung trên một tài nguyên.

    • 1.4.2. Nền tảng như một dịch vụ - PaaS

    • 1.4.3. Phần mềm như một dịch vụ - SaaS

    • 1.4.4. Các mô hình dịch vụ khác

  • Chương 2. DBaaS (Database as a Service)

    • 2.1. Định nghĩa về DBaaS

    • 2.2. Lợi ích của việc sử dụng DbaaS

    • 2.3. Ưu điểm của DBaaS

      • 2.3.1. Năng Suất

      • 2.3.2. Dễ sử dụng

      • 2.3.3. Nhanh

      • 2.3.4. Tính khả dụng và khả năng mở rộng cao

      • 2.3.5. Bảo vệ

      • 2.3.6. Chi phí DBaaS

  • Chương 3. MongoDB Atlas

    • 3.1. Định nghĩa về MongoDB

      • 3.1.1. NoSQL

      • 3.1.2. Ưu điểm của MongoDB

      • 3.1.3. Nhược điểm của MongoDB

    • 3.2. MongoDB Atlas là gì ?

    • 3.3. Các tính năng nổi bật của MongoDB Atlas

    • 3.4. Automation at the Core

    • 3.5. Tính linh hoạt và hỗ trợ

    • 3.6. Security

    • 3.7. Khả năng mở rộng

    • 3.8. Hiệu suất cao

    • 3.9. Get Started with Atlas

  • Chương 4. Dự án giới thiệu tính ứng dụng của Atlas

    • 4.1. Tổng quan về dự án

    • 4.2. Về MERN Stack

      • 4.2.1. React.js

      • 4.2.2. Express.js và Node.js

      • 4.2.3. MongoDB Atlas

      • 4.2.4. Ưu điểm của MERN

    • 4.3. Dự án sẽ bao gồm những gì ?

      • 4.3.1. Về giao diện và các tính năng

      • 4.3.2. Về Cơ Sở Dữ Liệu

  • PHỤ LỤC

  • TÀI LIỆU THAM KHẢO

Nội dung

Đĩnh nghĩa điện toán đám mây (Cloud Computing) .3 1.2 Lợi ích điện tốn đám mây 1.3 [2]Mơ hình triển khai điện tốn đám mây (Deploying Models) .3 1.3.1 Public Cloud – Đám mây công cộng 1.3.2 Private Cloud – Đám mây nội 1.3.3 Hybrid Cloud – Đám mây lai 1.4 Mơ hình dịch vụ Điện tốn đám mây (Service Models) 1.4.1 Cơ sở hạ tầng dịch vụ - IaaS Tài nguyên mà mơ hình IaaS cung cấp bao gồm: máy chủ, thiết bị mạng, nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm liệu Mơ hình dịch vụ có khả mở rộng linh hoạt, chi phí dịch vụ tùy thuộc vào nhu cầu sử dụng người dùng, nhiều người thuê dùng chung tài nguyên 1.4.2 Nền tảng dịch vụ - PaaS 1.4.3 Phần mềm dịch vụ - SaaS 11 1.4.4 Các mơ hình dịch vụ khác 12 Chương DBaaS (Database as a Service) 14 2.1 Định nghĩa DBaaS 14 2.2 Lợi ích việc sử dụng DbaaS .14 2.3 Ưu điểm DBaaS 15 2.3.1 Năng Suất 15 2.3.2 Dễ sử dụng 15 2.3.3 Nhanh 15 2.3.4 Tính khả dụng khả mở rộng cao 16 2.3.5 Bảo vệ 16 2.3.6 Chi phí DBaaS 16 Chương MongoDB Atlas .18 3.1 Định nghĩa MongoDB 18 3.1.1 NoSQL 18 3.1.2 Ưu điểm MongoDB 18 3.1.3 Nhược điểm MongoDB 19 3.2 MongoDB Atlas ? .19 3.3 Các tính bật MongoDB Atlas 19 3.4 Automation at the Core .20 3.5 Tính linh hoạt hỗ trợ .20 3.6 Security 20 3.7 Khả mở rộng 21 3.8 Hiệu suất cao 21 3.9 Get Started with Atlas 22 Chương Dự n giớ i thiệu tính ứ ng dụ ng củ a Atlas

TO"NG QỤAN VẼ ĐÌẼ%N TOA&N ĐA&M MA%Y (CLOỤD COMPỤTÌNG)

Đĩnh nghĩa về điện toán đám mây (Cloud Computing)

Điện toán truyền thống yêu cầu người dùng phải truy cập tài nguyên thông qua một máy chủ vật lý gần vị trí của họ, dẫn đến hạn chế về không gian truy cập Để sử dụng mô hình này, thiết bị của người dùng cần có kết nối với máy chủ Để khắc phục những vấn đề này, điện toán đám mây (Cloud Computing) đã ra đời, cho phép lưu trữ phần mềm, dịch vụ và dữ liệu trên các máy chủ ảo, tức là "đám mây", trên internet Người dùng có thể truy cập và sử dụng tài nguyên trên đám mây mọi lúc, mọi nơi, chỉ cần có kết nối internet.

Lợi ích của điện toán đám mây

1.3 [ CITATION ĐỗĐ20 \l 1033 ]Mô hình triển khai điện toán đám mây (Deploying Models)

Mô hình điện toán đám mây được cung cấp và quản lý bởi các nhà cung cấp dịch vụ, với ba mô hình chính được triển khai dựa trên nhu cầu và hình thức cung cấp của người dùng.

1.3.1 Public Cloud – Đám mây công cộng

Các trung tâm dữ liệu như Google, Amazon và Viettel IDC là ví dụ điển hình cho mô hình cung cấp dịch vụ Cloud Những nhà cung cấp này mang đến cho người dùng một loạt các dịch vụ Cloud đa dạng và phong phú.

Các ứng dụng của người dùng được lưu trữ trên hệ thống Cloud, nơi nhà cung cấp dịch vụ quản lý và triển khai các dịch vụ qua internet Khách hàng hưởng lợi từ việc giảm chi phí đầu tư và hạn chế rủi ro, vì nhà cung cấp đảm nhận quản lý hệ thống, cơ sở hạ tầng và bảo mật Hơn nữa, Public Cloud cho phép thay đổi quy mô linh hoạt theo nhu cầu sử dụng của khách hàng.

Mặc dù Public Cloud mang lại nhiều lợi ích, nhưng nó cũng tồn tại những hạn chế như mất kiểm soát dữ liệu và vấn đề bảo mật Trong mô hình này, nhà cung cấp dịch vụ chịu trách nhiệm bảo vệ và quản lý toàn bộ dữ liệu trên nền tảng cloud Do đó, nhiều khách hàng, đặc biệt là các công ty lớn, lo ngại về tính an toàn của dữ liệu quan trọng khi sử dụng dịch vụ Cloud.

1.3.2 Private Cloud – Đám mây nội bộ

Private Cloud là giải pháp lý tưởng cho các tổ chức và doanh nghiệp, cung cấp tài nguyên tính toán, lưu trữ và mạng ảo hóa độc lập Mô hình này tạo ra một môi trường ảo hóa đám mây an toàn, chỉ cho phép người dùng cố định như nhân viên công ty hoặc khách hàng truy cập vào dữ liệu.

Private Cloud luôn được bảo vệ ngăn chặn sự xâm nhập tự bên ngoài nhờ triển khai hệ thống tường lửa.

Các hình thức triển khai mô hình Private Cloud:

Bằng cách sử dụng các mô hình công nghệ điện toán đám mây, người dùng có thể dễ dàng triển khai Private Cloud trên cụm máy chủ vật lý của riêng mình.

Chúng ta có thể triển khai mô hình Private Cloud bằng cách thuê dịch vụ VPC (Virtual Private Cloud) từ các nhà cung cấp Public Cloud.

Với mô hình Private Cloud, doanh nghiệp có khả năng kiểm soát và quản lý dữ liệu một cách chủ động, đồng thời đảm bảo an ninh và chất lượng dịch vụ Hạ tầng Private Cloud thuộc sở hữu và quản lý của doanh nghiệp, cho phép triển khai các ứng dụng theo nhu cầu Doanh nghiệp có thể tự xây dựng và quản lý Private Cloud thông qua đội ngũ IT nội bộ hoặc thuê nhà cung cấp dịch vụ chuyên nghiệp để thực hiện công việc này.

1.3.3 Hybrid Cloud – Đám mây lai

Hybrid Cloud là sự kết hợp giữa Public Cloud và Private Cloud, nhằm tối ưu hóa việc chia sẻ tài nguyên ảo hóa và tiện ích Mô hình này tận dụng sức mạnh của Public Cloud trong khi vẫn đảm bảo tính bảo mật và an toàn của Private Cloud Tuy nhiên, Hybrid Cloud cũng đối mặt với những thách thức như khó khăn trong quản lý hệ thống và chi phí xây dựng cơ sở hạ tầng cao.

Ngoài 3 mô hình triển khai điện toán đám mây được kể trên, còn có các mô hình triển khai điện toán đám mây nổi tiếng khác như Community Cloud, Distributed Cloud, Big Data Cloud… được xác định theo hướng khác.

Mô hình dịch vụ Điện toán đám mây (Service Models)

Everything as a Services là mô hình triển khai các dịch vụ trên điện toán đám mây, tức ở mọi cấp độ đều có dịch vụ.

Hiện tại, theo từng cấp độ khai thác: hạ tầng, nền tảng và phần mềm (dưới dạng

1.4.1 Cơ sở hạ tầng như một dịch vụ - IaaS

IaaS, or Infrastructure as a Service, is a cloud service model that allows users to rent computing infrastructure Popular cloud servers available for lease include Google Compute Engine (GCE), Microsoft Azure, Amazon Web Services EC2, Vultr Cloud VPS, and Viettel IDC Cloud.

Server… Các dịch vụ lưu trữ đám mây như Google Drive, Dropbox, Vultr Cloud Storage… cũng là IaaS

Dựa trên chức năng và tài nguyên mà khách hàng sử dụng, chi phí dịch vụ IaaS được tính toán theo mô hình pay-per-use, tức là chỉ trả tiền cho những gì thực sự sử dụng IaaS bao gồm máy chủ, lưu trữ và các giải pháp bảo mật nâng cao.

Mô hình IaaS cung cấp các tài nguyên như máy chủ, thiết bị mạng, bộ nhớ, CPU, không gian đĩa cứng và trang thiết bị trung tâm dữ liệu Dịch vụ này có khả năng mở rộng linh hoạt và chi phí sẽ phụ thuộc vào nhu cầu sử dụng của người dùng, cho phép nhiều người thuê có thể chia sẻ tài nguyên một cách hiệu quả.

Hình 1.4: Cơ sở hạ tầng như một dịch vụ - IaaS

1.4.2 Nền tảng như một dịch vụ - PaaS

PaaS (Platform as a Service) là mô hình dịch vụ cung cấp API cho phát triển ứng dụng, bao gồm hạ tầng tính toán và lưu trữ đám mây, hệ điều hành, phần mềm Middleware và Runtime Mô hình này giúp nhà phát triển triển khai ứng dụng nhanh chóng mà không cần lo lắng về hạ tầng địa lý, đồng thời giảm thiểu chi phí tích hợp dịch vụ và chi phí lập trình nhờ vào việc trừu tượng hóa công việc lập trình ở mức cao.

Mô hình phát triển web được ưa chuộng bởi nhiều nhà phát triển, nhưng vẫn tồn tại một số hạn chế Một trong những hạn chế chính là sự phụ thuộc vào nhà cung cấp, dẫn đến những giới hạn trong dịch vụ và khả năng phát triển Ngoài ra, việc hiện thực hóa các tính năng phức tạp trên nền tảng web cũng gây khó khăn, khiến mô hình này không phù hợp với yêu cầu phát triển nhanh.

Hình 1.5: Nền tảng như một dịch vụ - PaaS

1.4.3 Phần mềm như một dịch vụ - SaaS

Mô hình SaaS (Software as a Service) cho phép người dùng truy cập ứng dụng qua trình duyệt internet mà không cần tải về hay cài đặt, mang lại sự tiện lợi vượt trội so với các mô hình IaaS và PaaS Nhiều doanh nghiệp đang chuyển đổi từ phần mềm truyền thống sang SaaS, với các ví dụ tiêu biểu như Google Apps, iCloud Apps, Salesforce, BigCommerce, và Mailchimp.

Hình 1.6: Phàn mềm như một dịch vụ - SaaS

1.4.4 Các mô hình dịch vụ khác

Cloud Computing đang trên đà mở rộng và phát triển, áp dụng cho hầu hết các dịch vụ có thể đưa lên internet Ngoài ba mô hình dịch vụ chính là IaaS, PaaS và SaaS, ngày càng có nhiều mô hình dịch vụ mới xuất hiện.

Network as a Service (NaaS) là dịch vụ cung cấp tài nguyên mạng từ bên thứ ba cho những khách hàng không muốn xây dựng hạ tầng mạng riêng NaaS bao gồm các dịch vụ như kết nối Mạng diện rộng (WAN), kết nối trung tâm dữ liệu, băng thông theo yêu cầu và dịch vụ bảo mật, tất cả được đóng gói như một sản phẩm có thể mua theo hợp đồng trong một khoảng thời gian nhất định.

Storage as a Service (STaaS) là dịch vụ cung cấp không gian lưu trữ trực tuyến theo nhu cầu, bao gồm các nền tảng như Google Drive, Amazon S3, Fshare và Dropbox Đây là mô hình kinh doanh đám mây, cho phép các công ty hoặc cá nhân thuê cơ sở hạ tầng lưu trữ dữ liệu linh hoạt và hiệu quả.

Security as a Service (SECaaS) cung cấp giải pháp bảo mật trực tuyến theo mô hình trả tiền theo nhu cầu, với các dịch vụ từ các nhà cung cấp như McAfee và Trend Micro Đây là dịch vụ thuê ngoài, trong đó một công ty bên ngoài sẽ quản lý và xử lý các vấn đề bảo mật cho người dùng dịch vụ đám mây Nói một cách đơn giản, SECaaS cho phép người dùng sử dụng phần mềm chống virus qua internet một cách dễ dàng và hiệu quả.

Dịch vụ Dữ liệu theo yêu cầu (DaaS) cung cấp dữ liệu chỉ đọc với hình thức trả tiền linh hoạt thông qua các API, như Google Maps, Bing Maps, và Amazon Public Data Sets, bao gồm dữ liệu khoa học từ NASA về thời tiết, bản đồ, biến đổi di truyền ở người, và dữ liệu nhân khẩu học từ cuộc điều tra dân số Hoa Kỳ DaaS cho phép người dùng truy cập dữ liệu qua mạng một cách hiệu quả, sử dụng công nghệ đám mây để lưu trữ khối lượng lớn thông tin mà các ứng dụng phần mềm như dịch vụ (SaaS) có thể gặp khó khăn trong việc xử lý.

Dịch vụ Desktop as a Service (DaaS) cung cấp môi trường máy tính ảo thông qua web hoặc thin client, như VMWare Horizon DaaS Đây là một giải pháp điện toán đám mây, trong đó nhà cung cấp cung cấp cho người dùng các máy ảo (virtual desktops) qua internet.

 Database as a service (DBaaS) Cung cấp CSDL trả tiền theo nhu cầu, như

MongoDB, Oracle, …(chúng ta sẽ tìm hiểu mô hình dịch vụ này)

Môi trường kiểm tra như một dịch vụ (TEaaS) là giải pháp quản lý môi trường thử nghiệm phần mềm, cung cấp các dịch vụ như Sauce Labs và Perfect Mobile TEaaS cho phép người dùng truy cập vào môi trường kiểm thử phần mềm, sử dụng các công cụ kiểm tra và thực thi để đánh giá ứng dụng và phần mềm một cách hiệu quả.

 API as a service (APIaaS) – Giao diện lập trình ứng dụng (Application

Giao diện lập trình ứng dụng (API) như một dịch vụ là nền tảng cho phép người dùng tạo và lưu trữ các API như REST, XML và Web Services, ví dụ như PhantomJs.Cloud Nền tảng này cung cấp khả năng tương tác với API của bên thứ ba và quản lý các API tùy chỉnh của riêng người dùng.

Backend as a Service (BaaS) là một giải pháp cung cấp dịch vụ backend cho các ứng dụng di động, với các nền tảng như Backendless, Telerik Backend Services và Parse BaaS giúp kết nối ứng dụng di động với dịch vụ đám mây, tạo ra một giao diện ứng dụng thống nhất (API) và bộ công cụ phát triển phần mềm (SDK) để dễ dàng tích hợp với các dịch vụ lưu trữ đám mây.

DBaaS (Database as a Service)

Định nghĩa về DBaaS

Cơ sở dữ liệu dưới dạng dịch vụ (DBaaS) là mô hình điện toán đám mây cho phép người dùng truy cập cơ sở dữ liệu mà không cần thiết lập phần cứng hay cài đặt phần mềm Tất cả công việc quản trị và bảo trì được nhà cung cấp dịch vụ đảm nhận, giúp người dùng tập trung vào việc sử dụng cơ sở dữ liệu Tuy nhiên, nếu khách hàng muốn kiểm soát nhiều hơn, tùy chọn này cũng có sẵn và có thể khác nhau tùy theo nhà cung cấp.

Lợi ích của việc sử dụng DbaaS

Sử dụng DBaaS giúp giảm chi phí hoạt động cho người dùng so với các dịch vụ đám mây khác Đầu tư vào cơ sở hạ tầng quản lý cơ sở dữ liệu thường tốn kém và gây khó khăn cho nhiều công ty, bất kể quy mô DBaaS cho phép các công ty tập trung vào các tài nguyên thiết yếu mà không cần lo lắng về việc bảo trì cơ sở dữ liệu tại chỗ.

Cung cấp cơ sở dữ liệu nhanh chóng hoặc theo yêu cầu tiết kiệm thời gian hơn so với việc sử dụng cơ sở dữ liệu vật lý.

Outsourcing, hay thuê ngoài, liên quan đến việc sử dụng dịch vụ DBaaS, cho phép người dùng thuê dịch vụ quản lý và giám sát dữ liệu Các quy trình như sao lưu, điều chỉnh, tối ưu hóa, vá lỗi và nâng cấp dữ liệu có thể được tự động hóa hoặc do nhà cung cấp đảm nhiệm.

DBaaS cung cấp tính bảo mật cao bằng cách duy trì cơ sở dữ liệu từ xa từ các máy chủ khác nhau, tạo ra cơ chế bảo mật "by-default" để ngăn chặn các lỗ hổng bảo mật Giải pháp này giúp giảm thiểu các rủi ro liên quan đến bảo mật cơ sở dữ liệu tại chỗ, thường gặp trong các hệ thống truyền thống.

Hệ thống theo dõi trong DBaaS cho phép người dùng dễ dàng giám sát việc sử dụng cơ sở dữ liệu Nó cung cấp các thông tin chi tiết về thời gian sử dụng, không gian lưu trữ, tính khả dụng và mức độ tiêu thụ tài nguyên Ngoài ra, hệ thống còn cung cấp chế độ xem dữ liệu dạng bảng điều khiển, giúp tóm tắt ngắn gọn thông tin cho từng người dùng.

DBaaS giúp giải phóng nhân lực bằng cách cho phép nhân viên không còn phải tập trung vào việc quản trị cơ sở dữ liệu tại chỗ Thay vào đó, họ có thể dành thời gian cho việc phát triển ứng dụng và cơ sở dữ liệu, nâng cao hiệu quả công việc và tối ưu hóa nguồn lực.

DBaaS (Database as a Service) cung cấp khả năng mở rộng linh hoạt theo nhu cầu của người dùng, cho phép điều chỉnh quy mô cơ sở dữ liệu một cách dễ dàng Trong khi đó, việc mở rộng cơ sở dữ liệu tại chỗ yêu cầu phải mua sắm và lắp đặt thêm thiết bị mới, gây tốn kém và phức tạp hơn.

Ưu điểm của DBaaS

Sau khi triển khai một nút cơ sở dữ liệu mới, việc thực hiện các tác vụ như cấu hình, điều chỉnh hiệu suất, giám sát, nâng cấp và sao lưu là rất cần thiết Mặc dù những công việc này tốn thời gian, nhưng chúng đảm bảo rằng hệ thống hoạt động một cách an toàn và hiệu quả.

DBaaS giúp tối ưu hóa quy trình triển khai cơ sở dữ liệu mới, cho phép người dùng tập trung vào các nhiệm vụ khác và nâng cao năng suất làm việc.

Sau khi triển khai dịch vụ DBaaS, nhà cung cấp đám mây sẽ cấp quyền truy cập cho người dùng vào bảng điều khiển giao diện người dùng Điều này cho phép người dùng theo dõi cơ sở dữ liệu và thực hiện bản sao lưu mới mà không cần phải lo lắng về việc thiết lập hệ thống giám sát hay tích hợp với hệ thống hiện có.

Triển khai cơ sở dữ liệu là quá trình cung cấp và cấu hình phần cứng hoặc tài nguyên ảo, sau đó cài đặt phần mềm một cách nhanh chóng Sau khi hoàn thành, sản phẩm sẽ được đưa cho khách hàng dùng thử để thu thập phản hồi, từ đó đội ngũ phát triển sẽ tiếp tục cải tiến trong các giai đoạn tiếp theo Thời gian phát hành sản phẩm sẽ phụ thuộc vào từng dự án cụ thể.

2.3.4 Tính khả dụng và khả năng mở rộng cao Để có môi trường sẵn sàng cao trong một kịch bản bình thường, người dùng nên triển khai các bản sao khác nhau trong các trung tâm dữ liệu hoặc nhà cung cấp đám mây khác nhau, lặp lại quá trình triển khai nhiều lần và định cấu hình mọi thứ hoạt động cùng nhau.

Sử dụng DBaaS, người dùng có thể dễ dàng triển khai cơ sở dữ liệu tại một vị trí dự phòng chỉ với vài cú nhấp chuột Họ cũng có khả năng tạo nhiều bản sao và điều chỉnh quy mô linh hoạt theo nhu cầu, bao gồm cả việc tự động hóa, điều này mang lại lợi ích lớn cho các cơ sở dữ liệu sản xuất.

Trong môi trường cục bộ hoặc khi sử dụng mô hình dịch vụ đám mây cổ điển, bảo mật dữ liệu là điều cần thiết nhưng cũng tốn thời gian Người dùng phải bảo vệ thông tin của mình khỏi truy cập trái phép và kẻ trộm, đồng thời cần cẩn trọng để đảm bảo rằng quá trình bảo mật không ảnh hưởng đến các hoạt động khác.

Việc sử dụng DBaaS cho phép người dùng ủy quyền quản lý cơ sở dữ liệu cho nhà cung cấp đám mây, tuy nhiên, người dùng cần cẩn trọng với việc truy cập từ xa Ngoài ra, người dùng có thể cấu hình nhiều tính năng bảo mật khác nhau như VPN, cô lập mạng và mã hóa để bảo vệ dữ liệu.

Mặc dù những thông tin trên đều mang tính tích cực, nhưng một yếu tố quan trọng cần xem xét khi áp dụng mô hình dịch vụ đám mây là chi phí liên quan.

Mô hình định giá của sản phẩm này áp dụng theo từng lần sử dụng, với chi phí cuối cùng thay đổi dựa trên các tính năng và cách thức sử dụng của người dùng.

DBaaS giúp giải quyết nhiều vấn đề trong CNTT và tiết kiệm thời gian triển khai cơ sở dữ liệu mới, tuy nhiên, nó không phải là lựa chọn kinh tế Người dùng cần xem xét kỹ lưỡng yêu cầu của mình để xác định liệu DBaaS có phải là giải pháp phù hợp hơn so với các phương án tại chỗ hoặc các nhà cung cấp đám mây khác.

Trong chương hai, chúng ta đã tìm hiểu sơ lược về dịch vụ DBaaS, một giải pháp quan trọng cho việc quản lý cơ sở dữ liệu của cá nhân, công ty và tổ chức Nhu cầu sử dụng dịch vụ này ngày càng gia tăng, dẫn đến sự xuất hiện của nhiều nhà cung cấp đám mây nổi bật như Amazon DocumentDB, ClearDB, IBM Compose for Redis, IBM Compose for PostgreSQL, MongoDB Atlas và Azure.

Cosmos DB, Intel Cloud Edition for Lustre …

Chương tiếp theo đây chúng ta hãy cùng tìm hiểu một trong số ứng dụng DBaaS và đó chính là MongoDB Atlas.

MongoDB Atlas

Định nghĩa về MongoDB

MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL hàng đầu, được hàng triệu người sử dụng MongoDB được viết bằng C ++

MongoDB là một cơ sở dữ liệu đa nền tảng, sử dụng các khái niệm Collection và Document Nó nổi bật với hiệu suất cao, tính khả dụng vượt trội và khả năng mở rộng dễ dàng.

NoSQL là cơ sở dữ liệu mã nguồn mở không sử dụng Transact-SQL, còn được gọi là cơ sở dữ liệu không quan hệ, cho phép truy vấn thông tin mà không bị ràng buộc giữa các collection Tên gọi NoSQL xuất phát từ cụm từ "None-Relational SQL" hoặc "Not-Only SQL" Cơ sở dữ liệu này được phát triển dựa trên framework JavaScript với kiểu dữ liệu JSON NoSQL ra đời nhằm khắc phục những khuyết điểm của mô hình dữ liệu quan hệ RDBMS, bao gồm tốc độ, tính năng, khả năng mở rộng và bộ nhớ cache.

 Dữ liệu linh hoạt: Do MongoDB sử dụng phương thức lưu trữ dữ liệu dưới dạng DocumentJSON nên không bị bó buộc về số lượng field, kiểu dữ liệu…

Vì thế người dùng có thể thoải mái insert dữ liệu mà họ muốn.

 Open Source: MongoDB là phần mềm mã nguồn mở miễn phí, có cộng đồng phát triển rất lớn.

 Hiệu năng cao: Tốc độ truy vấn (thêm, sửa, xóa, tìm kiếm) của MongoDB nhanh hơn so với các hệ quản trị cơ sở dữ liệu quan hệ.

 Ngôn ngữ truy vấn phong phú: nó có sẵn các method để thực hiện create, read, update, delete dữ liệu.

 Tính sẵn có: MongoDB hỗ trợ nhân bản dữ liệu (replica set) đảm bảo tốt công tác sao lưu và khôi phục dữ liệu.

MongoDB cho phép mở rộng hệ thống dễ dàng thông qua việc triển khai các Cluster, bao gồm nhiều node chứa dữ liệu giao tiếp với nhau Khi có nhu cầu mở rộng, người dùng chỉ cần thêm một node mới vào cluster để đáp ứng yêu cầu sử dụng.

 Vì không có các tính chất ràng buộc như các hệ quản trị cơ sở dữ liệu quan hệ cho nên MongoDB dễ bị làm sai dữ liệu.

 Không hỗ trợ join trong function join giống như hệ quản trị cơ sở dữ liệu quan hệ khiến cho tốc độ truy vấn trong MongoDB bị giảm.

MongoDB sử dụng nhiều bộ nhớ vì dữ liệu được lưu trữ dưới dạng key-value, trong đó các collection chỉ khác nhau ở giá trị Điều này dẫn đến việc lặp lại key và không hỗ trợ join, gây ra tình trạng dư thừa dữ liệu.

 Bị giới hạn kích thước bản ghi: mỗi document chỉ được phép có kích thước tối đa là 16Mb, trong một document cha chỉ cho phép chứa 100 document con.

MongoDB Atlas là gì ?

MongoDB Atlas là dịch vụ cơ sở dữ liệu đám mây của MongoDB, được ra mắt vào năm 2016 trên các nền tảng AWS, Microsoft Azure và Google Cloud Platform Đây là giải pháp Database as a Service (DBaaS) lý tưởng cho cả doanh nghiệp nhỏ và vừa cũng như các công ty lớn, với tính năng và chi phí phù hợp MongoDB Atlas đã nhận được nhiều đánh giá tích cực từ người dùng và được các chuyên gia trong lĩnh vực phần mềm cơ sở dữ liệu công nhận về sự ưu việt của nó.

Các tính năng nổi bật của MongoDB Atlas

MongoDB Atlas offers automated security features that empower users to manage who has access to their data, effectively preventing unauthorized individuals from monitoring their information.

Nền tảng của họ tích hợp chức năng sao chép, cung cấp nhiều máy chủ để đảm bảo người dùng luôn có sẵn dịch vụ, ngay cả khi máy chủ chính gặp sự cố.

Hệ thống MongoDB Atlas cung cấp các giải pháp sao lưu và phục hồi theo thời điểm, nhằm bảo vệ dữ liệu khỏi sự cố hư hỏng, dù là do nguyên nhân chủ đích hay khách quan.

Người dùng có nhiều lựa chọn cho các công cụ bổ sung, cho phép họ tùy chỉnh khu vực và phương thức thanh toán theo sở thích cá nhân, tạo nên phiên bản độc đáo và mang dấu ấn riêng của họ.

Automation at the Core

MongoDB Atlas mang đến chức năng và độ tin cậy cần thiết, đi kèm với các cơ chế tự động hóa tích hợp sẵn Nhờ vào MongoDB Atlas, chúng ta không còn phải lo lắng về các tác vụ vận hành.

Atlas cung cấp hướng dẫn chi tiết cho người dùng trong quá trình thiết lập, với các bước trực quan dễ hiểu, giúp người dùng không cần lo lắng về việc lựa chọn thông số kỹ thuật.

 Patching & Upgrades: MongoDB Atlas được xây dựng trên MongoDB 3.2,

Community Server, với bản vá tự động và nâng cấp bằng một cú nhấp chuột.

Người dùng có thể theo dõi và nhận thông báo tức thì về cơ sở dữ liệu cùng các chỉ số phần cứng quan trọng, giúp họ phát hiện và khắc phục kịp thời các vấn đề có thể ảnh hưởng đến hiệu suất và trải nghiệm.

MongoDB Atlas cung cấp dịch vụ sao lưu hoàn toàn tự động, cho phép sao lưu liên tục và khôi phục dữ liệu tại thời điểm mong muốn, đồng thời hỗ trợ các chính sách lưu giữ tùy chỉnh để đáp ứng nhu cầu của người dùng.

Tính linh hoạt và hỗ trợ

MongoDB Atlas kết hợp sức mạnh của cơ sở dữ liệu quan hệ với những đổi mới của NoSQL, mang đến một nền tảng cơ sở dữ liệu được quản lý toàn diện Nền tảng này đơn giản hóa quy trình phát triển và hoạt động, cung cấp nhiều tính năng đa dạng Trong trường hợp xảy ra sự cố với hạ tầng, MongoDB Atlas sẽ phối hợp trực tiếp với các nhà cung cấp đám mây để khắc phục vấn đề.

MongoDB sở hữu một cộng đồng năng động, tích cực hợp tác để giải quyết các vấn đề liên quan đến trang tổng quan của nó Ngoài ra, người dùng còn có thể lựa chọn mua dịch vụ hỗ trợ MongoDB Atlas để nhận sự tư vấn chuyên nghiệp cho cơ sở dữ liệu của mình.

Security

MongoDB Atlas mang đến nhiều lớp bảo mật cho cơ sở dữ liệu của người dùng, bao gồm kiểm soát truy cập chặt chẽ và cách ly mạng thông qua Amazon VPCs.

VPC Peering, danh sách IP cho phép, mã hóa dữ liệu trong in-flight bằng TLS / SSL và mã hóa tùy chọn của hệ thống tệp bên dưới.

Khả năng mở rộng

Người dùng có thể mở rộng quy mô trên nhiều kích thước phiên bản với tính năng “automatic sharding” của MongoDB Atlas, cho phép triển khai cơ sở dữ liệu mở rộng vượt qua giới hạn của một máy chủ Kỹ thuật sharding này hoạt động một cách minh bạch đối với các ứng dụng, giúp giảm thiểu các vấn đề như “nút cổ chai” trong RAM hoặc I/O đĩa mà không làm tăng thêm độ phức tạp MongoDB Atlas hỗ trợ ba loại chính sách sharding, giúp quản trị viên tối ưu hóa cho các mẫu truy vấn đa dạng.

Phân vùng dựa trên phạm vi là phương pháp phân chia tài liệu thành các phân đoạn dựa trên giá trị của khóa phân đoạn Những tài liệu có giá trị khóa gần nhau thường được lưu trữ trong cùng một phân đoạn, giúp tối ưu hóa hiệu suất cho các truy vấn dựa trên phạm vi Phương pháp này đặc biệt hữu ích cho các ứng dụng yêu cầu truy xuất dữ liệu nhanh chóng và hiệu quả.

 Hash-based sharding: Các tài liệu được phân phối đồng nhất theo mã băm

MD5 là một phương pháp để tạo giá trị khóa phân đoạn, giúp phân phối các tài liệu một cách đồng đều trong các phân đoạn Điều này đảm bảo rằng các tài liệu có khóa phân đoạn gần nhau sẽ không nằm chung một phân đoạn, từ đó tối ưu hóa việc ghi cho các khối lượng công việc lớn.

MongoDB Zones cho phép người dùng kiểm soát chính xác vị trí lưu trữ dữ liệu vật lý, đáp ứng đa dạng các tình huống triển khai như theo địa lý, theo cấu hình phần cứng hoặc theo ứng dụng.

Hiệu suất cao

MongoDB Atlas cung cấp thông lượng cao và độ trễ thấp cho đa số công việc đòi

Để bắt đầu sử dụng MongoDB Atlas, bước đầu tiên là tạo tài khoản bằng cách đăng ký trên trang web của họ Chúng ta chỉ cần cung cấp thông tin cơ bản như tên, email và công ty để tạo mật khẩu, mà không cần thông tin thẻ tín dụng Ngoài ra, có thể đăng nhập nhanh chóng bằng tài khoản Gmail Khi hoàn tất đăng ký, Atlas sẽ tự động tạo một tổ chức và dự án mặc định cho người dùng, giúp triển khai cụm đầu tiên dễ dàng hơn.

Hình 3.8: Login MongoDB với tài khoản Google

Bước 2 trong quy trình là triển khai một cụm bậc miễn phí Sau khi đăng nhập, người dùng sẽ được hướng dẫn để xây dựng cụm đầu tiên bằng cách chọn nhà cung cấp đám mây và khu vực Atlas hỗ trợ ba nhà cung cấp đám mây chính là Amazon AWS, Google Cloud và Microsoft Azure, cho phép người dùng chọn vị trí trung tâm dữ liệu ưa thích Các cấp và khu vực miễn phí được đánh dấu cho phiên bản hộp cát miễn phí, và việc tạo một nhóm mới chỉ mất vài phút.

Hình 3.11: Chọn nhà cung cấp đám mây và khu vực.

 Phần 3: Thêm địa chỉ IP kết nối của người dùng vào danh sách truy cập

Khi thiết lập Giao thức Internet (IP), chúng ta cần đưa địa chỉ IP của mình vào danh sách trắng để đảm bảo chỉ mình có quyền truy cập vào cụm đám mây Việc này rất quan trọng nhằm bảo vệ an toàn cho dữ liệu Mặc dù có tùy chọn cho phép truy cập từ mọi nơi, nhưng điều này có thể tạo ra rủi ro bảo mật nếu thông tin đăng nhập bị rò rỉ.

Hình 3.12: Thêm địa chỉ IP vào danh sách truy cập.

Để tạo người dùng cho cụm MongoDB, bạn cần nhập tên người dùng và mật khẩu mới Sau đó, có thể chọn các đặc quyền cho người dùng, bao gồm quyền quản trị, quyền đọc/ghi hoặc quyền truy cập chỉ đọc.

Hình 3.14: Tạo người dùng cơ sở dữ liệu

Hình 3.15: Danh sách người dùng

Để kết nối với cụm sau khi đã tạo người dùng, chúng ta sẽ chọn phương thức kết nối, có thể là MongoShell, ứng dụng riêng hoặc MongoDB Compass, giao diện đồ họa của MongoDB Trong ví dụ này, chúng ta sẽ thử kết nối bằng MongoDB Compass.

Hình 3.16: Kết nối với cụm thông qua MongoDB Compass

Phần 6: Chèn và xem dữ liệu trong cụm Atlas cung cấp giao diện người dùng đồ họa (GUI) mang tên Data Explorer, cho phép người dùng tương tác với dữ liệu trong cụm Chúng ta có thể sử dụng Data Explorer để nhập dữ liệu mẫu mà Atlas cung cấp vào cụm.

Hình 3.17: Truy cập bộ sưu tập cơ sở dữ liệu

Hình 3.18: Bộ sưu tập cơ sở dữ liệu trống

Bây giờ, với dữ liệu đã có, chúng ta có thể thực hiện các thao tác cơ bản như xem, sửa, xóa và tìm kiếm trong cơ sở dữ liệu Sử dụng thanh bộ lọc của Data Explorer, người dùng có thể tìm kiếm tài liệu cụ thể, chỉnh sửa tài liệu bằng cách thêm các trường và lưu các bản cập nhật cho cơ sở dữ liệu.

Hình 3.20: Tìm kiếm dữ liệu

Hình 3.21: Chỉnh sửa dữ liệu

Hình 3.23: Dữ liệu sau khi chèn.

Chương 4 Dự án giới thiệu tính ứng dụng của Atlas

4.1 Tổng quan về dự án Đây là dự án demo tính ứng dụng của mô hình dịch vụ DBaaS thông qua MongoDB Atlas vào thực tiễn Chúng ta sẽ cùng xây dựng một ứng dụng React với MERN Stack Vậy React là gì ? Mà MERN Stack là gì ? React là một thư viện JavaScript khai báo, hiệu quả và linh hoạt để xây dựng giao diện người dùng Nó cho phép chúng ta soạn giao diện người dùng phức tạp từ các đoạn mã nhỏ và biệt lập được gọi là "Components" Còn MERN là viết tắt của MongoDB, Express, React, Node Trong đó, MongoDB là cơ sở dữ liệu, Express(.js) là web framework được xây dựng bằng Javascript chạy trên nền Node.js, Node.js là một Javascript runtime React/React Native React là thư viện frontend được viết bằng Javascript.

MERN is a variant of the MEAN Stack (MongoDB, Express, Angular, Node) where the traditional Angular.js user interface framework is replaced by React.js Other variations include MEVN (MongoDB, Express, Vue, Node), and essentially, any JavaScript frontend framework can be utilized.

Kiến trúc MERN giúp người dùng dễ dàng phát triển ứng dụng với cấu trúc 3 tầng, bao gồm giao diện người dùng, phụ trợ và cơ sở dữ liệu, hoàn toàn bằng JavaScript và JSON.

React.js là tầng trên cùng của ngăn xếp MERN, là một khung JavaScript giúp phát triển ứng dụng phía máy khách động trong HTML Với React, người dùng có thể xây dựng các giao diện phức tạp bằng cách sử dụng các Components đơn giản, kết nối chúng với dữ liệu từ máy chủ phụ trợ và hiển thị dưới dạng HTML.

4.2.2 Express.js và Node.js

Express.js là một framework phía máy chủ hoạt động trên nền tảng Node.js, được thiết kế để tạo ra các ứng dụng web nhanh chóng và hiệu quả Nó cung cấp các mô hình mạnh mẽ cho việc định tuyến URL, cho phép khớp URL với các chức năng máy chủ, cũng như xử lý các yêu cầu và phản hồi HTTP một cách dễ dàng.

Bằng cách sử dụng các yêu cầu HTTP XML (XHR), GET hoặc POST từ giao diện người dùng Angular.js, chúng ta có thể kết nối với các hàm Express.js hỗ trợ ứng dụng Các hàm này sẽ sử dụng trình điều khiển tương ứng để thực hiện các chức năng cần thiết.

MongoDB’s Node.js, hoặc thông qua lệnh gọi lại để sử dụng Promises, để truy cập và cập nhật dữ liệu trong cơ sở dữ liệu MongoDB.[ CÌTATÌON Mon20 \l 1033 ]

Khi ứng dụng của người dùng lưu trữ dữ liệu như hồ sơ người dùng, nội dung, bình luận, và sự kiện, việc có một cơ sở dữ liệu dễ làm việc với Angular, Express và Node là rất quan trọng MongoDB là giải pháp lý tưởng, cho phép các tài liệu JSON được tạo trong giao diện người dùng Angular.js được gửi đến máy chủ Express.js để xử lý và lưu trữ trực tiếp nếu chúng hợp lệ.

MongoDB Atlas là lựa chọn không thể bỏ qua cho những ai có ý định xây dựng cơ sở dữ liệu trên đám mây.

Dự án sẽ bao gồm những gì ?

Chúng ta sẽ cùng xây dựng một ứng dụng mạng xã hội tương tự như Instagram.

4.3.1 Về giao diện và các tính năng

Ứng dụng này sở hữu các tính năng cơ bản của một mạng xã hội, bao gồm đăng ký và đăng nhập tài khoản, trang chủ để hiển thị bài viết và thông tin người dùng, khả năng tạo bài viết mới, tìm kiếm người dùng khác, cùng với việc quản lý danh sách người theo dõi và người theo dõi mình.

Hình 4.25: Giao diện đăng nhập

Hình 4.26: Giao diện đăng ký tài khoản

Hình 4.28: Thông tin người dùng.

Hình 4.29: Tìm kiếm người dùng khác thông qua mail.

Hình 4.30: Giao diện chức năng đăng bài viết

4.3.2 Về Cơ Sở Dữ Liệu

Dự án sử dụng cơ sở dữ liệu lưu trữ trên đám mây với MongoDB Atlas để quản lý thông tin tài khoản và người dùng Bên cạnh đó, Cloudinary cũng được tích hợp trong dự án nhằm lưu trữ các tệp phương tiện.

Hình 4.32: Cơ sở dữ liệu người dùng được lưu trên MongoDB Atlas

Hình 4.33: Cơ sở dữ liệu đa phương tiện được lưu trên Cloundiary

Ngày đăng: 31/12/2021, 03:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] M. Rouse, “cloud database,” March 2019. [Trưc tuyeOn]. Available: https://searchcloudcomputing.techtarget.com/definition/cloud-database Sách, tạp chí
Tiêu đề: cloud database
[2] Đ. Đ. Đ. Đat, “MATBAO,” 5 10 2020. [Trưc tuyeOn]. Available: https://wiki.matbao.net/dien-toan-dam-may-la-gi-thoi-dai-cach-mang-cloud-computing-la-gi/ Sách, tạp chí
Tiêu đề: MATBAO
[3] Ì. C. Ẽducation, “ÌBM Cloud Learn Hub,” ÌBM, 14 November 2016. [Trưc tuyeOn]. Available: https://www.ibm.com/cloud/learn/dbaas Sách, tạp chí
Tiêu đề: ÌBM Cloud Learn Hub
[4] tutorialspoint, “Learn MongoDB,” 2020. [Trưc tuyeOn]. Available: https://www.tutorialspoint.com/mongodb/index.htm Sách, tạp chí
Tiêu đề: Learn MongoDB
[5] “MongoDB Documentation,” 2008. [Trưc tuyeOn]. Available: https://docs.atlas.mongodb.com/ Sách, tạp chí
Tiêu đề: MongoDB Documentation
[6] MongoDB, “MongoDB/MẼRN Stack” 2020. [Trưc tuyeOn]. Available: https://www.mongodb.com/mern-stack Sách, tạp chí
Tiêu đề: MongoDB/MẼRN Stack

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Public Cloud - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 1.1 Public Cloud (Trang 16)
Hình 1.2: Private Cloud - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 1.2 Private Cloud (Trang 18)
Hình 1.3: Hybrid Cloud - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 1.3 Hybrid Cloud (Trang 19)
Hình 1.4: Cơ sở hạ tầng như một dịch vụ - IaaS - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 1.4 Cơ sở hạ tầng như một dịch vụ - IaaS (Trang 21)
Hình 1.5: Nền tảng như một dịch vụ - PaaS - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 1.5 Nền tảng như một dịch vụ - PaaS (Trang 22)
Hình 3.8: Login MongoDB với tài khoản Google - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.8 Login MongoDB với tài khoản Google (Trang 35)
Hình 3.10: Thuê Cụm (Cluster). - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.10 Thuê Cụm (Cluster) (Trang 36)
Hình 3.11: Chọn nhà cung cấp đám mây và khu vực. - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.11 Chọn nhà cung cấp đám mây và khu vực (Trang 36)
Hình 3.12: Thêm địa chỉ IP vào danh sách truy cập. - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.12 Thêm địa chỉ IP vào danh sách truy cập (Trang 37)
Hình 3.14: Tạo người dùng cơ sở dữ liệu - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.14 Tạo người dùng cơ sở dữ liệu (Trang 38)
Hình 3.16: Kết nối với cụm thông qua MongoDB Compass - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.16 Kết nối với cụm thông qua MongoDB Compass (Trang 39)
Hình 3.17: Truy cập bộ sưu tập cơ sở dữ liệu - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.17 Truy cập bộ sưu tập cơ sở dữ liệu (Trang 40)
Hình 3.19: Xem dữ liệu - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.19 Xem dữ liệu (Trang 41)
Hình 3.20: Tìm kiếm dữ liệu - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.20 Tìm kiếm dữ liệu (Trang 42)
Hình 3.21: Chỉnh sửa dữ liệu - Nghiên cứu và ứng dụng mô hình dịch vụ DBaaS vào lập trình
Hình 3.21 Chỉnh sửa dữ liệu (Trang 43)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w