2010-07-23 26 views
10

Tôi đang tự hỏi về cách mở rộng cơ sở dữ liệu. Hiện tại nó sử dụng PostgreSQL. Liệu việc chuyển sang Oracle có đáng để kiểm tra nỗi đau và chi phí mã hóa? Hoặc là PostgreSQL + nhiều hộp một cách tiếp cận tốt hơn/rẻ hơn?Mức chênh lệch hiệu suất giữa Oracle và PostgreSQL lớn như thế nào?

+3

Tôi tưởng tượng postgres sẽ rẻ hơn. – miku

+1

Bao lâu là một đoạn chuỗi? Có rất nhiều yếu tố liên quan, rằng không có câu trả lời đúng ở đây. – Oded

+0

Điều đó có phụ thuộc rất nhiều vào khối lượng công việc và truy vấn không? Có lẽ thậm chí có thể tối ưu hóa các truy vấn hiện tại của bạn. Tôi tin rằng PostgreSQL có một phân tích truy vấn khá tốt. Nhiều hộp có thể rẻ hơn nhưng sự phức tạp của sự tích tụ cũng không được đánh giá thấp. – extraneon

Trả lời

12

IME không có nhiều giữa bất kỳ DBMS chính nào về hiệu suất mà bạn có thể đạt được bằng cách điều chỉnh hiệu suất. Đó không chỉ là trải nghiệm của tôi Open Source PostgreSQL Trails Oracle In Benchmark, But Not By Much

Không có sự thay đổi nào cho việc tìm kiếm bất kỳ vấn đề hiệu suất nào và sửa chúng cả về mặt khách hàng và tối ưu hóa cơ sở dữ liệu.

+0

+1 để tập trung vào các vấn đề hiện tại thay vì tạo ra một loạt các vấn đề mới thú vị. – APC

+0

Sau khi làm việc toàn thời gian với Oracle và Postgres và chạy tải tương tự, nếu có sự khác biệt - nó chỉ không cảm thấy như nhiều sự khác biệt. 1 để không mở ra một mớ hỗn độn hoàn toàn mới. – rfusca

+0

Lưu ý rằng kết quả benchmark mà Richard liên kết đến ở đây đã sử dụng PostgreSQL 8.2; phiên bản 8.3 có hiệu suất hoạt động rất lớn so với các phiên bản trước, theo mọi cách. Oracle có thể đã cải thiện một số, nhưng PostgreSQL thường nhanh hơn từ 30 đến 50% so với phiên bản 8.2. –

5

Tôi nghĩ rằng những gì bạn đang đề xuất là tương đương về mặt logic với Things You Should Never Do, Part I. Loại chuyển đổi này có hiệu quả là viết lại và chuyển đổi từ cơ sở dữ liệu này sang cơ sở dữ liệu khác (hoặc ngôn ngữ này sang ngôn ngữ khác, v.v.) là cách tuyệt vời để tiêu tốn rất nhiều thời gian và tiền bạc mà có thể được sử dụng để cải thiện sản phẩm của bạn. Một lựa chọn tốt hơn, như @Richard Harrison đã nói ở trên, sẽ dành thời gian sửa chữa bất kỳ vấn đề hiệu suất nào đang thúc đẩy bạn cân nhắc chuyển sang Oracle. Như Fred Brooks đã nói nhiều năm trước, có No Silver Bullet.

Chia sẻ và thưởng thức.

0

Tôi sẽ thừa nhận trước rằng tôi bị thiên vị ở đây, nhưng tôi phải nói với bạn PostgreSQL là một sản phẩm tuyệt vời! Tôi thừa nhận rằng tôi không có kinh nghiệm trực tiếp với Oracle, nhưng mọi thứ tôi từng đọc đều đặt PostgreSQL trong phạm vi gần như ngay cả khi nó chậm hơn một chút thì không có câu hỏi nào trong đầu tôi chi tiêu cấp phép cho Oracle thay vì phần cứng hoặc thời gian phát triển bổ sung (để cải thiện hiệu suất) vẫn nên để bạn đi trước cả về đô la và hiệu suất.

Tất nhiên tôi quy định như những người khác đã nói rằng đây là một câu hỏi thực sự quá chủ quan trừ khi chúng ta sẽ nói về một tình huống cụ thể hoặc môi trường được cài đặt.

5

Nó sẽ không được nâng cấp để truy cập vào Oracle. Chỉ cần di chuyển. Nếu bạn muốn nâng cấp Postgresql, tôi khuyên bạn nên chuyển sang Postgres Plus của EnterpriseDB. Họ đã tạo ra một phiên bản tương thích với Oracle của Postgres sẽ chạy tất cả các mã hiện có, bất kỳ mã trung tâm oracle mới nào. Gần như tất cả các tính năng bất cứ ai sẽ mua oracle rdms cho là ở trong đó. Nó cũng rất nhanh.

Nếu bạn ghen tị với RAC, đừng. RAC là rất tốn kém để duy trì và không thực sự hiệu quả cho mỗi hộp mới được thêm vào. Bạn có thể nhận được hiệu suất bổ sung mà không mất chi phí ngoài giờ. Hãy nhìn vào PGPOOL như một giải pháp cho sự tăng trưởng theo chiều ngang mà không mất chi phí.

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