Có sự khác biệt đáng kể nào với hơn 500 triệu bảng hàng trong Oracle không?


8

Tôi đang ở trong một nhà thiết kế cơ sở dữ liệu trong môi trường kho dữ liệu. Tôi đã quen với việc xử lý các bảng có tối đa 1 triệu hàng và hiện đang phải đối mặt với các bảng có hơn nửa tỷ hàng. Có sự khác biệt đáng kể nào với các công cụ trong "hộp công cụ hiệu quả" không? Tôi có thể tin tưởng vào kiến ​​thức trước đây của mình về chỉ mục, phân vùng và tương tự hoặc một số công cụ cụ thể này gây trở ngại nhiều hơn là trợ giúp với dữ liệu lớn như vậy không? Bất kỳ lời khuyên khác để đối phó với các bảng?

(Đã tìm thấy một bài đăng tuyệt vời về Cập nhật 700 triệu hàng cho cùng một giá trị )

Câu trả lời:


7

Các nguyên tắc cơ bản của việc lập chỉ mục, vv tất cả đều hoạt động theo cùng một cách, vì vậy, nói đúng ra sự khác biệt duy nhất là chi phí cho việc sai này!

Điều đó nói rằng, đây là một danh sách (không nhất thiết phải hoàn thành) những điều đáng ghi nhớ:

  • Các chỉ số cây B có khả năng có thêm một mức trong đó, vì vậy chi phí sử dụng chúng cao hơn một chút. Tuy nhiên, trong DW, bạn nên sử dụng các chỉ mục bitmap (giả sử bạn đã có phiên bản doanh nghiệp)
  • Sẽ mất nhiều thời gian hơn để tính toán các số liệu thống kê cho toàn bộ bảng - đến mức có thể không thể thực hiện được trong cửa sổ qua đêm thông thường. Điều này có thể được khắc phục bằng
    • Sử dụng nhỏ hơn estimate_percentkhi thu thập số liệu thống kê để lấy mẫu ít hơn của bảng.
    • Sử dụng thu thập số liệu thống kê gia tăng (chỉ liên quan nếu bạn có các chỉ mục chung trên các bảng được phân vùng).
  • Biểu đồ cho các chỉ mục được giới hạn ở 254 thùng. Nhiều hàng hơn có nghĩa là các giá trị khác biệt hơn, có nghĩa là các giá trị "gần như phổ biến" có thể là vấn đề lớn hơn đối với dữ liệu sai lệch.
  • Cơ hội toàn bộ bảng của bạn sẽ phù hợp với bộ đệm bộ đệm tiếp cận đến 0, có nghĩa là bạn có nhiều khả năng có nhiều lần đọc (đĩa) vật lý hơn. Bộ làm việc bình thường của bạn cũng có thể quá lớn để được lưu trữ.
  • Phân vùng có thể là bạn của bạn - nếu bạn hiểu đúng! Nếu bạn thường sửa đổi và truy vấn dữ liệu trên nhiều phân vùng thì nó có thể khiến bạn tốn nhiều tiền hơn so với các bảng đơn giản.
  • Các khung nhìn cụ thể hóa có thể rất hữu ích để giảm tập làm việc của bạn. ví dụ: nếu bạn có dữ liệu trên 10 năm, nhưng phần lớn các truy vấn của người dùng chỉ trong vòng 2 năm qua, thì việc tạo một MV giới hạn chỉ với dữ liệu này có thể là một trợ giúp lớn.
  • Cơ sở dữ liệu càng lớn, doanh nghiệp càng ít có khả năng (có thể) tài trợ cho cơ sở dữ liệu thử nghiệm là bản sao đầy đủ của môi trường sống. Điều này khiến việc tái tạo các vấn đề về hiệu năng trong thử nghiệm trở nên khó khăn hơn vì các truy vấn chậm có thể là do quy mô và / hoặc lưu trữ vật lý của dữ liệu. Bạn không thể tin tưởng vào khả năng ngoại suy kết quả truy vấn từ DB thử nghiệm nhỏ hơn nhiều đến hiệu suất tương ứng trực tiếp.

Nếu bạn chưa quen với việc đọc và hiểu các kế hoạch thực hiện, tôi sẽ dành thời gian tìm hiểu những điều này: bạn nhất định sẽ gặp phải các vấn đề về hiệu suất vào một lúc nào đó để biết cách chẩn đoán chính xác vấn đề sẽ trở nên quan trọng hơn vì khó thêm mới lập chỉ mục hoặc thực hiện thay đổi lược đồ khi số lượng hàng của bạn lớn hơn.


4

Số lượng có một chất lượng riêng của nó.

Khi xử lý các bảng có kích thước đó, sẽ không giúp nghĩ bảng thực tế là một bảng, mà nghĩ về nó ở cấp phân khúc hoặc như một tập hợp các bảng rời rạc. (Đủ tuổi để ghi nhớ phân vùng riêng của tôi với chế độ xem phân vùng giúp.)

Giấy mở rộng đến vô cực của Tim Gorman là một nguồn tài nguyên vô giá.


1
+1 để tham khảo. Anh ấy đã cập nhật các slide cho năm 2012 .
Iain Samuel McLean Elder
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.