OrientDB - Bộ nhớ đệm
Cachinglà một khái niệm sẽ tạo ra một bản sao của cấu trúc bảng cơ sở dữ liệu cung cấp một môi trường thoải mái cho các ứng dụng người dùng. OrientDB có một số cơ chế bộ nhớ đệm ở các cấp độ khác nhau.
Hình minh họa sau đây cho ta một ý tưởng về bộ nhớ đệm là gì.
Trong hình minh họa trên DB1, DB2, DB3 là ba trường hợp cơ sở dữ liệu khác nhau được sử dụng trong một ứng dụng.
Level-1 bộ nhớ cache là một Local cachenơi lưu trữ tất cả các thực thể được biết đến bởi một phiên cụ thể. Nếu bạn có ba giao dịch trong phiên này, nó sẽ giữ tất cả các thực thể được sử dụng bởi cả ba giao dịch. Bộ nhớ cache này sẽ bị xóa khi bạn đóng phiên hoặc khi bạn thực hiện phương pháp "xóa". Nó làm giảm gánh nặng của các hoạt động I / O giữa ứng dụng và cơ sở dữ liệu và do đó tăng hiệu suất.
Level-2 bộ nhớ cache là một Real cachehoạt động bằng cách sử dụng nhà cung cấp bên thứ ba. Bạn có thể có toàn quyền kiểm soát nội dung của bộ nhớ cache, tức là bạn sẽ có thể chỉ định mục nhập nào nên được xóa, mục nhập nào nên được lưu trữ lâu hơn, v.v. Nó là một bộ nhớ cache được chia sẻ đầy đủ giữa nhiều luồng.
Storage model không là gì ngoài thiết bị lưu trữ là đĩa, bộ nhớ hoặc máy chủ từ xa.
Cache hoạt động như thế nào trong OrientDB?
Bộ nhớ đệm OrientDB cung cấp các phương pháp khác nhau trong các môi trường khác nhau. Bộ nhớ đệm chủ yếu được sử dụng cho các giao dịch cơ sở dữ liệu nhanh hơn, giảm thời gian xử lý giao dịch và tăng hiệu suất. Các sơ đồ dòng sau đây cho thấy cách bộ nhớ đệm hoạt động ở chế độ cục bộ và chế độ máy khách-máy chủ.
Chế độ cục bộ (Cơ sở dữ liệu được nhúng)
Sơ đồ dòng sau cho bạn biết cách bản ghi ở giữa bộ nhớ và ứng dụng được sử dụng ở chế độ cục bộ, tức là khi máy chủ cơ sở dữ liệu của bạn nằm trong máy chủ cục bộ của bạn.
Khi ứng dụng khách yêu cầu một bản ghi, OrientDB sẽ kiểm tra những điều sau:
Nếu một giao dịch đã bắt đầu, thì nó sẽ tìm kiếm bên trong giao dịch các bản ghi đã thay đổi và trả về nếu được tìm thấy.
Nếu bộ đệm ẩn cục bộ được bật và chứa bản ghi được yêu cầu, thì hãy trả về nó.
Nếu tại thời điểm này, bản ghi không có trong bộ nhớ cache, thì hãy yêu cầu nó vào Bộ nhớ (đĩa, bộ nhớ).
Chế độ Máy chủ Khách hàng (Cơ sở dữ liệu Từ xa)
Sơ đồ dòng sau cho bạn biết cách bản ghi nằm giữa bộ nhớ và ứng dụng được sử dụng trong chế độ máy khách-máy chủ, tức là khi máy chủ cơ sở dữ liệu của bạn ở vị trí từ xa.
Khi ứng dụng khách yêu cầu ghi lại, OrientDB sẽ kiểm tra những điều sau:
Nếu một giao dịch đã bắt đầu, thì nó sẽ tìm kiếm bên trong giao dịch các bản ghi đã thay đổi và trả về nếu được tìm thấy.
Nếu bộ đệm ẩn cục bộ được bật và chứa bản ghi được yêu cầu, thì hãy trả về nó.
Tại thời điểm này, nếu bản ghi không có trong bộ nhớ cache, thì hãy yêu cầu nó đến Máy chủ thông qua lệnh gọi TCP / IP.
Trong máy chủ, nếu bộ đệm ẩn cục bộ được bật và chứa bản ghi được yêu cầu, thì hãy trả về nó.
Tại thời điểm này, bản ghi vẫn chưa được lưu vào bộ nhớ cache trong máy chủ, sau đó yêu cầu nó vào Bộ nhớ (đĩa, bộ nhớ).