PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách tốt nhất để tải một lượng lớn dữ liệu vào PostgreSQL là gì?

KHÔNG sử dụng chỉ mục ngoại trừ một phím số duy nhất.

Điều đó không phù hợp với tất cả lý thuyết DB mà chúng tôi nhận được nhưng thử nghiệm với lượng dữ liệu lớn đã chứng minh điều đó. Đây là kết quả của 100 triệu lượt tải cùng một lúc để đạt được 2 Tỷ hàng trong một bảng và mỗi lần sẽ có một loạt các truy vấn khác nhau trên bảng kết quả. Hình ảnh đầu tiên với 10 gigabit NAS (150MB / s), thứ hai với 4 SSD ở RAID 0 (R / W @ 2GB / s).

Nếu bạn có hơn 200 triệu hàng trong một bảng trên đĩa thông thường, sẽ nhanh hơn nếu bạn quên chỉ mục. Trên SSD, giới hạn là 1 tỷ.

Tôi cũng đã làm điều đó với các phân vùng để có kết quả tốt hơn nhưng với PG9.2, rất khó để hưởng lợi từ chúng nếu bạn sử dụng các thủ tục được lưu trữ. Bạn cũng phải quan tâm đến việc ghi / đọc chỉ 1 phân vùng tại một thời điểm. Tuy nhiên, phân vùng là cách để giữ các bảng của bạn bên dưới bức tường hàng 1 Tỷ. Nó cũng giúp rất nhiều để xử lý nhiều lần tải của bạn. Với SSD, một quá trình cho phép tôi chèn (sao chép) 18.000 hàng / s (có bao gồm một số công việc xử lý). Với đa xử lý trên 6 CPU, nó phát triển lên 80.000 hàng / s.

Xem việc sử dụng CPU và IO của bạn trong khi thử nghiệm để tối ưu hóa cả hai.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hai cột trong truy vấn con trong mệnh đề where

  2. Nhảy khoảng cách SQL qua điều kiện cụ thể và sử dụng chì () thích hợp

  3. Tạo UUID trong câu lệnh Postgres for Insert?

  4. Sự khác biệt giữa loại dữ liệu DECIMAL và NUMERIC trong PSQL

  5. Làm thế nào để xóa triệt để và cài đặt lại postgresql trên ubuntu?