2009-01-02 30 views
17

Làm cách nào để đặt toàn bộ cơ sở dữ liệu PostgreSql của tôi vào RAM để truy cập nhanh hơn? Tôi có bộ nhớ 8GB và tôi muốn dành 2 GB cho DB. Tôi đã đọc về các cài đặt bộ đệm được chia sẻ nhưng nó chỉ lưu trữ các phần truy cập nhiều nhất của cơ sở dữ liệu. Tôi cần một giải pháp mà toàn bộ DB được đưa vào RAM và mọi đọc sẽ xảy ra từ DB RAM và bất kỳ thao tác ghi nào sẽ ghi vào RAM DB và sau đó là DB trên ổ cứng. với bộ đệm được chia sẻ trong cài đặt cấu hình postgresql).Cần tải toàn bộ cơ sở dữ liệu postgreSQL vào RAM

+0

Btw, đó là trang web mà tôi đang sử dụng khung công tác Python và django. – Bharath

Trả lời

4

Tôi đã tự hỏi mình cùng một câu hỏi trong một thời gian. Một trong những nhược điểm của PostgreSQL là nó dường như không hỗ trợ các công cụ lưu trữ IN MEMORY như là MySQL ...

Dù sao tôi đã chạy đến một article vài tuần trước đây mô tả cách thực hiện điều này; mặc dù nó chỉ có vẻ hoạt động trên Linux. Tôi thực sự không thể xác minh cho nó vì tôi đã không thử nó bản thân mình, nhưng nó dường như có ý nghĩa kể từ khi một tablespace PostgreSQL thực sự được chỉ định một kho lưu trữ được gắn kết.

Tuy nhiên, ngay cả với cách tiếp cận này, tôi không chắc chắn bạn cũng có thể đưa (các) chỉ mục của mình vào RAM; Tôi không nghĩ rằng chỉ số HASH của MySQL sử dụng với bảng IN MEMORY của nó là không có gì ...

Tôi cũng muốn làm một điều tương tự để cải thiện hiệu suất cho tôi cũng đang làm việc với các tập dữ liệu khổng lồ. Tôi đang sử dụng python; chúng có các kiểu dữ liệu từ điển cơ bản là các bảng băm dưới dạng các cặp {key: value}. Sử dụng chúng rất hiệu quả và hiệu quả. Về cơ bản, để có được bảng PostgreSQL của tôi vào RAM, tôi tải nó vào một từ điển python như vậy, làm việc với nó, và tồn tại nó trong db một lần trong một thời gian; nó có giá trị nếu nó được sử dụng tốt.

Nếu bạn không sử dụng python, tôi khá chắc chắn rằng cấu trúc dữ liệu bản đồ từ điển tương tự trong ngôn ngữ của bạn.

Hy vọng điều này sẽ hữu ích!

+0

Bài viết không còn có sẵn tại liên kết đó nữa. Archive.org có: https://web.archive.org/web/20080517112936/http://www.redhatmagazine.com/2007/12/12/tip-from-an-rhce-memory-storage-on- postgresql/ – Otheus

0

Chỉ với một cơ sở dữ liệu 8GB, nếu bạn đã tối ưu hóa tất cả hoạt động SQL và bạn đã sẵn sàng giải quyết các vấn đề truy vấn bằng phần cứng, tôi đề nghị bạn gặp rắc rối. Đây không chỉ là giải pháp có thể mở rộng trong thời gian dài. Bạn có chắc chắn không có gì bạn có thể làm để tạo sự khác biệt đáng kể về phần mềm và bên thiết kế cơ sở dữ liệu?

0

Thiết lập RAM kiểu cũ và yêu cầu pg lưu trữ dữ liệu ở đó.

Hãy chắc chắn bạn đã sao lưu tốt.

+5

liệu anh ấy có bị mất dữ liệu khi khởi động lại máy chủ không? – SDReyes

Các vấn đề liên quan