So sánh hiệu suất hoạt động của MongoDB
và SQL Server 2008
Trong bài viết dưới đây, chúng tôi sẽ chỉ ra điểm khác biệt về hiệu suất hoạt động của hệ
quản trị cơ sở dữ liệu còn khá mới mẻ hiện nay, đó là MongoDB và 1 trong những hệ thống
phổ biến như SQL Server (MySQL hoặc Oracle). Chủ yếu số liệu được đưa ra ở đây dưới
dạng biểu đồ, qua đó chúng ta sẽ dễ dàng hình dung được ưu điểm cũng như nhược điểm của
MongoDB cũng như các hệ quản tr database khác.
Biểu đồ gây tranh cãi v việc MongoDB chèn dliệu nhanh hơn SQL Server tới hơn 100 ln
Hãy thử tưởng tượng rằng bạn đang thành lập 1 hệ thống website thanh toán trực tuyến, có liên
quan ti nhiều đơn vị dữ liệu khác nhau. Nếu có 1 hquản trị cơ sở dữ liệu nào đó hoạt động
nhanh hơn SQL Server nhiều ln, min phí, dễ giám sát và xử lý, toàn b hệ thống ứng dụng của
bạn với LINQ (tạm dịch là ngôn ngữ truy vấn được tích hợp vào ngôn nglập trình) t
MongoDB chắc chắn sẽ là sự lựa chọn không thể tốt hơn.
Và khi hệ quản trị cơ sở dữ liệu như vậy thì chúng ta có thể triển khai và hoạt động trên hu
hết các thiết bị phần cứng phổ biến hiện nay, chứ không phải là dòng thiết bị y chủ cao cấp và
chuyên dụng. Đồng nghĩa với việc đó là không cần phải mua hoặc thuê server như trước, và tất
nhiên chi phí ban đầu phải b ra thấp hơn rất nhiều, trong khi lợi nhuận hoặc doanh thu thì gn
như không thay đổi.
Một yếu tố nữa trước khi chúng ta đi vào thử nghiệm, thành viên Kristina Chodorow t10Gen
đã tổ chức 1 cuộc hi thảo về MySQL tại San Francisco với chủ đề Dropping ACID with
MongoDB:
Tại đây, Kristina đã miêu tkhá cụ thể về kinh nghiệm triển khai của SourceForge trong quá
tnh di chuyển cơ sở dữ liệu tMySql tới MongoDB. Trên nền tảng MySql, SourceForge đã
đạt tới giới hạn của hiệu suất hoạt động với số lượng người dùng nhất định nào đó. Nhưng với
mt vài thay đổi trong tùy chọn của MongoDB, hthống đã trở nên n định hơn rất nhiều.
Mô hình th nghim:
Một mô hình cơ sở dữ liệu chuyên sâu dành cho ứng dụng trực tuyến được tăng cường để cải
thin khả năng hỗ trợ số lượng người dùng càng nhiều càng tốt. Sẽ có nhiều tài khoản người
dùng tứng dụng web trực tuyến, từ các hàm APInhiều ứng dụng khác có liên quan. Vmặt
k thuật, người dùng sẽ tương tác trực tiếp với dữ liệu bằng cách thực hiện câu lệnh truy vấn,
mi thao tác của họ lại tương ứng với từng mảnh dữ liệu nhỏ trong toàn bộ hệ thống. Tuy nhiên,
thực tế và lý thuyết lại hoàn toàn khác nhau, mô hình trên ch là những gì chúng ta đang tưởng
tượng.
So sánh ch฀c năng Insert:
Đây là đim khác biệt rõ ràng nhất giữa MongoDB SQL Server:
Quá trình này được thực hiện bằng cách chèn 50.000 đối tượng độc lập sử dụng NoRM ca
MongoDB LINQ tới SQL dành cho SQL Server 2008. Mô hình mẫu như sau:
MongoDB
SQL Server
Sau đó, chạy 5 ứng dụng client vào cơ sở dữ liệu với chức năng insert: