Điều gì làm cho tài nguyên của thế giới đắt đỏ?


10

Tôi đang đọc hibernate và tôi đã bắt gặp các câu như "Kết nối JDBC mở qua nhiều yêu cầu không phải là một điều tốt vì đó là một tài nguyên đắt tiền".

Tài nguyên đắt tiền có nghĩa là gì?

Chỉnh sửa: Tôi đang thêm những gì người dùng chưa biết đã thêm vào như một nhận xét bên dưới.

Nếu việc thiết lập kết nối cơ sở dữ liệu là tốn kém, thì tại sao không sử dụng cùng một thứ (không lưu bộ nhớ cache), thay vì đóng và mở nó mọi lúc?


2
Đắt tiền có nghĩa là nó sẽ làm tổn thương bạn nếu bạn sử dụng nó quá thường xuyên hoặc không theo cách được chỉ định.
Alexander Gessler

Câu trả lời:


20

Một nguồn tài nguyên đắt tiền là một trong đó:

  • Mất một thời gian dài để tạo / khởi tạo. Bất kỳ kết nối cơ sở dữ liệu nào cũng có thể mất tới 1-2 giây để hoàn thành bắt tay.
  • Sử dụng rất nhiều bộ nhớ. Đọc một tập tin hoàn chỉnh tải lên một mảng byte trong bộ nhớ trước khi lưu trữ nó sẽ sử dụng một lượng bộ nhớ đáng kể trong một khoảng thời gian ngắn.
  • Sử dụng rất nhiều chu kỳ CPU. Các tính toán trên một bộ sưu tập dữ liệu lớn có thể đánh thuế CPU của bạn trong khi nó đang thực hiện các tính toán.

Mỗi tài nguyên đắt tiền có thể cung cấp các vấn đề về khả năng mở rộng . Nói tóm lại, bạn không thể có quá nhiều hoạt động đắt tiền này xảy ra cùng một lúc hoặc bạn sẽ không thể phản hồi đủ nhanh với người dùng của mình.


Tôi muốn đồng ý, nhưng phải chỉ ra rằng nó mâu thuẫn với ví dụ @Sun đưa ra. Vì thiết lập kết nối rất tốn kém, bạn sẽ giữ kết nối của mình mở.
người dùng không xác định

2
Trong trường hợp cụ thể này, hãy để tôi làm rõ: Nếu một cái gì đó mất nhiều thời gian để tạo / khởi tạo, bạn muốn giới hạn số lần bạn tạo / khởi tạo tài nguyên đó. Các kết nối cơ sở dữ liệu không chiếm nhiều tài nguyên trong khi chúng được mở, do đó, nên tập hợp các tài nguyên này.
Berin Loritsch

5

Nó có thể là một loạt các thứ phụ thuộc vào tài nguyên cụ thể. Vì vậy, bạn có thể có những điều sau đây:

  • Cần bao nhiêu bộ nhớ để hoạt động.
  • Thời gian thực hiện để kết nối.
  • Chi phí trong việc duy trì kết nối đó.

và như thế.

Những thứ khác có thể làm cho một cái gì đó đắt tiền có thể là nếu nó yêu cầu quyền truy cập vào ổ cứng hoặc mạng trong khi đang hoạt động, v.v.


2

Đắt tiền nên được thêm tiền tố vào "tính toán". Chi phí tính toán được sử dụng để chỉ lượng thời gian hoặc tài nguyên (CPU, bộ nhớ, đĩa, băng thông mạng) cần thiết để hoàn thành một hoạt động, thuật toán hoặc chương trình.


2

Chi phí kết nối cơ sở dữ liệu đến từ một số yếu tố.

  • Kết nối cơ sở dữ liệu chậm cài đặt và yêu cầu tài nguyên ở phía máy khách và máy chủ. Đây là lý do tại sao các kết nối được gộp lại.
  • Các giao dịch mở có một chi phí đòi hỏi quản lý bởi cả máy khách và máy chủ.
  • Giao dịch mở có thể chặn các cập nhật khác. Điều này sẽ làm chậm hiệu suất tổng thể.

Điều đó nói rằng, bạn cần giữ kết nối (hoặc ít nhất là giao dịch) mở đủ lâu để đảm bảo giao dịch của bạn vượt qua bài kiểm tra ACID . (Nguyên tử bền vững cô lập)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.