Hướng dẫn cách chọn cơ sở dữ liệu phù hợp với dự án

4:40 05/06/2024

Khi xây dựng các hệ thống có khả năng mở rộng cao việc lựa chọn cơ sở dữ liệu là quyết định quan trọng nhất mà chúng ta phải thực hiện.

Nếu bạn may mắn được giao cho nhiệm vụ lựa chọn CSDL cho hệ thống kinh doanh đang phát triển nhanh, sau đây là một số yếu tố bạn có thể cân nhắc. Một lựa chọn tồi có sẽ dẫn tới quá trình ngừng hoạt động lâu, ảnh hưởng tới khách hàng, và tệ hơn là mất dữ liệu. Cũng vì vậy, rất nhiều vấn đề, những thắc mắc xuất hiện khi xây dựng các hệ thống, ví dụ: 

  • Chúng ta có sử dụng nhiều loại CSDL trong hệ thống hay không?
  • Có sự thay thế nào tốt hơn cho CSDL hiện tại hay không?
  • Hệ thống có hay bị trễ hay không?
  • Hệ thống có bị quá tải khi hoạt động hay không?
  • Các request có làm hệ thống chậm lại hay không?

Cho dù vấn đề là gì, thì việc giải quyết không hề dễ dàng. Trước hết bạn hãy đọc lại tài liệu hướng dẫn về hệ thống CSDL hiện tại để tìm kiếm xem thử có thể thay đổi cấu hình để tạo nên sự cải thiện được hay không.

Chìa khóa có thể đến từ việc thay đổi kích thước bộ nhớ làm việc,  chiến lược nén dữ liệu, hoặc có thể là thay đổi hành vi của một số bộ dọn rác (garbage collector). Các cơ sở dữ liệu luôn phức tạp và có khả năng xoay chuyển cao. Hiểu được kiến trúc của CSDL, nắm rõ  những hạn chế của nó là cách tốt nhất để có quyết định phù hợp.

Bạn cũng có thể tìm kiếm sự giúp đỡ từ chuyên gia, mô tả chi tiết, chính xác vấn đề đang gặp phải thường sẽ mang tới giải pháp không ngờ tới để giải quyết vấn đề.

Việc sử dụng cache cũng là một cách để cải thiện vấn đề hoặc sử dụng Read Replica để giảm tải cho luồng đọc dữ liệu.

Chia nhỏ hoặc phân vùng CSDL.

Hãy đảm bảo là không có giải pháp nào cho vấn đề của bạn trước khi quyết định tìm kiếm CSDL thay thế.

Làm sao để lựa chọn CSDL phù hợp?

Đối với CSDL, lựa chọn nhàm chán là tốt. Nghĩa là chúng ta nên lựa chọn một CSDL đã tồn tại trong một khoảng thời gian dài, đã được kiểm chứng là tốt.

Dựa vào lĩnh vực mà chúng ta hoạt động, kết quả có thể có một chút khác biệt. Ví dụ nếu bạn trong lĩnh vực tài chính, ngân hàng thì việc lựa chọn một CSDL với cộng đồng lớn, được hỗ trợ 24/7, có một lịch sử phát triển lâu dài, bền vững, có đội ngũ lập trình viên quen thuộc với CSDL đó cũng là điều đáng cân nhắc.

Tiếp theo hãy đọc kĩ Manual đặc biệt là mục Limits, đây chính là nơi chúng ta tìm được các hạn chế về mặt kĩ thuật liên quan tới CSDL mới này.

Ví dụ: Hầu hết các CSDL NoSQL cung cấp khả năng mở rộng cao hơn rất nhiều so với các CSDL SQL, nhưng thay vào đó, nó đã loại bỏ sự đảm bảo liên quan đến các giao dịch (transaction) theo nguyên tắc ACID, và sự dư thừa dữ liệu là điều đương nhiên, một dữ liệu có thể được lưu ở nhiều tập hợp khác nhau. 

Khi đã giới hạn được các lựa chọn CSDL, cần làm gì tiếp theo?

Các bạn cần tạo các bài test để đo đạc dựa trên dữ liệu thực tế của chúng ta. Hãy cố gắng tối đa để tái hiện các công việc thực tế, hơn thế nữa, có thể đẩy lượng công việc cao hơn thực tế để xem CSDL có thể chịu tải được đến mức nào.

Việc di chuyển qua CSDL dữ liệu mới có thể mất rất nhiều thời gian và cần được lên kế hoạch cụ thể, rõ ràng, qua nhiều bước kiểm tra gắt gao. Do đó cần thực hiện trên mẫu thử nhỏ, học hỏi từ đó và mở rộng dần.

(nguồn tham khảo: System Design Interview by Alex Xu & Sahn Lam)

Giảng viên Lê Thị Anh Đào
Bộ môn CNTT
FPT Polytechnic Đà Nẵng

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.