logo

Thông báo

Icon
Error

Chia sẻ
Tùy chọn
Xem
Xem bài viết cuối
Offline admin  
#1 Đã gửi : 14/12/2015 lúc 07:35:45(UTC)
admin

Danh hiệu: Administration

Chức danh:

Nhóm: Administrators
Gia nhập: 23-07-2013(UTC)
Bài viết: 6,116
Man
Viet Nam
Đến từ: Vietnam

Cảm ơn: 10 lần
Được cảm ơn: 2 lần trong 2 bài viết

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ủaMongoDB cũng như các hệ quản trị database khác.

so sánh MongoDB và SQL Server

Biểu đồ gây tranh cãi về việc MongoDB chèn dữ liệu nhanh hơn SQL Server tới hơn 100 lần

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 tới nhiều đơn vị dữ liệu khác nhau. Nếu có 1 hệ quản trị cơ sở dữ liệu nào đó hoạt động nhanh hơn SQL Server nhiều lần, miễn 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 ngữ lập trình) thì MongoDB chắc chắn sẽ là sự lựa chọn không thể tốt hơn.

Và khi có 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 hầu 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ị má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ì gần 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 từ 10Gen đã tổ chức 1 cuộc hội thảo về MySQL tại San Francisco với chủ đề Dropping ACID with MongoDB:

Tại đây, Kristina đã miêu tả khá cụ thể về kinh nghiệm triển khai củaSourceForge trong quá trình di chuyển cơ sở dữ liệu từ MySql tới MongoDB. Trên nền tảng MySqlSourceForge đã đạ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 một vài thay đổi trong tùy chọn của MongoDB, hệ thống đã trở nên ổn định hơn rất nhiều.

Mô hình thử nghiệm:

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 thiện 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 API và nhiều ứng dụng khác có liên quan. Về mặ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, mỗi 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à điểm khác biệt rõ ràng nhất giữa MongoDB và SQL Server:

so sánh chức năng Insert

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ụngNoRM của MongoDB và LINQ tới SQL dành cho SQL Server 2008. Mô hình mẫu như sau:

mô hình cơ bản của MongoDB

MongoDB

mô hình cơ bản của SQL Server

SQL Server

Sau đó, chạy 5 ứng dụng client vào cơ sở dữ liệu với chức năng insert:

chạy ứng dụng liên tục insert qua MongoDB

MongoDB

chạy ứng dụng liên tục insert qua SQL Server

SQL Server

Và nhìn kỹ vào phần thông tin quan trọng nhất hiển thị tại đây, đó là thời gian thực hiện:

thời gian thực hiện của MongoDB

MongoDB

thời gian thực hiện của SQL Server

SQL Server

Rất dễ dàng, các bạn có thể nhận ra sự khác biệt giữa 2 giây – MongoDB và 205 giây – SQL Server. Để đảm bảo tính xác thực của kết quả, chúng tôi tiến hành thực hiện lại sử dụng chương trình dựa trên ADO.NET, và tốc độ của SQL đã được nâng lên khoảng 1.5 tới 3 lần so với trước đó. Làm 1 phép tính đơn giản thì MongoDB vẫn nhanh hơn SQL khoảng 30 – 50 lần.

So sánh tốc độ truy vấn:

Tiếp theo, chúng ta chuyển sang quá trình tách lọc dữ liệu từ cùng đối tượng khác nhau trong trường ID của mỗi bản ghi:

so sánh tốc độ truy vấn - Querry

Nhìn vào biểu đồ trên, rõ ràng MongoDB vẫn tỏ ra vượt trội hơn hẳn so với SQL về hiệu suất (khỏang 3 lần). Để tiếp tục, chúng ta hãy chuẩn sang bảng dữ liệu phức tạo hơn đôi chút với khóa ngoại – Foreign Key và join:

cấu trúc bảng của MongoDB

MongoDB

cấu trúc bảng của SQL Server

SQL Server

Kết quả hiển thị tại đây vẫn tương tự như những lần kiểm tra trước đó mà không cần phải join:

kết quả so sánh

Tất cả các phiên kiểm tra đều được thực hiện trên laptop Lenovo T61, hệ điều hành Windows 7 64 bit với bộ vi xử lý 2.8 GHz, sử dụng phiên bản 64 bit củaSQL Server 2008 Standard và MongoDB 1.4.1. Toàn bộ ví dụ mẫu các bạn có thể download trực tiếp tại www.michaelckennedy.com%2fSamples%2fSpeedOfSqlVsMongoDBAnddotNetSample.zip" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; text-decoration: none; color: rgb(88, 37, 123);">đây hoặc qua MediaFire.

Ai đang xem chủ đề này?
OceanSpiders 2.0
Chủ đề tương tự
So sánh máy giặt lồng ngang và lồng đứng (Kiến thức tiêu dùng)
Bởi Ellry 15-10-2019 lúc 10:17:21(UTC)
So sánh vàng trắng và bạch kim (Thời trang tổng hợp)
Bởi Ellry 27-02-2019 lúc 09:19:41(UTC)
Cách cư xử khi có người so sánh con bạn với con của họ (Giáo dục trẻ nhỏ)
Bởi Ellry 03-05-2017 lúc 12:14:46(UTC)
So sánh chuổi tương đồng (Thuật toán)
Bởi admin 03-11-2016 lúc 10:01:11(UTC)
Giải pháp so sánh đồng âm - Fuzzy (Thuật toán)
Bởi admin 03-11-2016 lúc 09:35:13(UTC)
So sánh việc mua nhà và chung cư (Dịch vụ tổng hợp)
Bởi Ellry 13-06-2016 lúc 09:52:19(UTC)
So sánh giá trị nhập bằng ComparefieldValidator control (User Controls)
Bởi admin 10-12-2015 lúc 03:44:48(UTC)
So sánh các loại hình doanh nghiệp (Đăng ký kinh doanh)
Bởi admin 03-11-2015 lúc 10:33:16(UTC)
SO SÁNH MỘT SỐ CÔNG CỤ KIỂM THỬ ỨNG DỤNG WEB (Testing)
Bởi admin 16-03-2015 lúc 06:12:30(UTC)
AngularJS – So sánh 2 trường input (validation compare) (Xử lý Form với Angular)
Bởi admin 09-03-2015 lúc 01:02:42(UTC)
Thơ chế so sánh con gái 3 miền hay (Thơ ca vui, chế, hài hước vui nhộn)
Bởi admin 26-02-2015 lúc 01:41:59(UTC)
So sánh LINQ to SQL và ADO.NET Entity Framework (LINQ)
Bởi admin 05-02-2015 lúc 02:57:06(UTC)
So sánh giữa 2 dòng CPU đỉnh cao của Intel: Core i5 và Core i7 (Phần cứng)
Bởi admin 05-02-2015 lúc 11:19:48(UTC)
Di chuyển  
Bạn không thể tạo chủ đề mới trong diễn đàn này.
Bạn không thể trả lời chủ đề trong diễn đàn này.
Bạn không thể xóa bài của bạn trong diễn đàn này.
Bạn không thể sửa bài của bạn trong diễn đàn này.
Bạn không thể tạo bình chọn trong diễn đàn này.
Bạn không thể bỏ phiếu bình chọn trong diễn đàn này.

| Cung cấp bởi YAF.NET 2.2.4.14 | YAF.NET © 2003-2020, Yet Another Forum.NET
Thời gian xử lý trang này hết 0.582 giây.