Có một vài điều cần đề cập ở đây nói chung. Đi kèm với điểm chuẩn cho rằng là khá khó khăn như bạn không thể thực sự kiểm tra hiệu suất mà không cần thử nghiệm thiết lập MongoDB của bạn là tốt. Vì vậy, người ta có thể khá nhiều có thể tinh chỉnh và điều chỉnh những môi trường để cung cấp các kết quả mong muốn.
Ngoài ra, bạn phải phân biệt giữa hiệu suất đọc và ghi. Đặc biệt là viết chịu ảnh hưởng nặng nề của việc sử dụng WriteConcern
. Vì vậy, những gì có thể là một chi phí của 50% trong một kịch bản WriteConcern.NONE
có thể dễ dàng chuyển xuống dưới 5% với một WriteConcern.SAFE
. Có, chắc chắn là một chi phí trong bất kỳ việc thực hiện ODM nào khi ánh xạ đối tượng < ->DBObject
phải kiểm tra đối tượng nhận và đặt giá trị thường thông qua sự phản chiếu. Do đó, IMHO điểm quan trọng là khả năng cắm các trình chuyển đổi được mã hóa theo cách thủ công mà bạn có thể muốn cung cấp cho các đối tượng quan trọng về hiệu suất. Đối với dữ liệu mùa xuân, bạn chỉ cần đăng ký EntityInstantiator
tùy chỉnh new Person(…)
thay vì để cho phép mặc định làm phép thuật phản chiếu của nó mang lại hiệu suất lớn.
Nhóm dữ liệu mùa xuân có build thiết lập hiệu suất trọng số xây dựng của phiên bản OTS MongoDB để viết trên WriteConcern
s khác và đọc qua trình điều khiển đơn giản, MongoTemplate
và kho lưu trữ trừu tượng. Các con số được lấy bằng một hạt muối vì đôi khi chúng hiển thị các kho lưu trữ dữ liệu đọc nhanh hơn các mẫu mà có bị ảnh hưởng bởi cơ sở hạ tầng bởi một số có nghĩa là nó là một lớp trên cùng của mẫu nhưng không t thực sự thêm bất kỳ bộ nhớ đệm.
Nguồn
2012-05-16 08:04:38
Không phải "R" trong ORM là viết tắt của "quan hệ"? – duffymo
Có, vị trí của nó cho Ánh xạ đối tượng/quan hệ, thường được sử dụng với cơ sở dữ liệu quan hệ nhưng có thể được sử dụng chung với bất kỳ loại cơ sở dữ liệu nào. – mtariq
@duffymo trong trường hợp này Morphia thực sự * không * bản đồ quan hệ giữa các bộ sưu tập. Một vài trong số các trình bao bọc của Ruby có các tính năng tương tự. –