Quá trình xử lý khối mất quá nhiều thời gian hoặc thất bại


7

Tôi có một SSAS Cube với 35 kích thước và 10 biện pháp.

  • Một số kích thước có kích thước khá lớn.
  • Trong hầu hết tất cả các kích thước dữ liệu hoặc được cập nhật và chèn.
  • Các biện pháp có khối lượng dữ liệu cao.

Khi tôi chạy từ SSMS (bằng cách nhấp chuột phải vào Cơ sở dữ liệu SSAS) "xử lý đầy đủ" trên cơ sở dữ liệu, mất khoảng 1 giờ 30 phút.

Khi tôi đang xử lý khối (xử lý đầy đủ) từ công việc Tác nhân SQL thông qua tập lệnh XMLA, sẽ mất khoảng 1 Hr 20 phút.

Khi tôi xử lý các kích thước và số đo (Toàn bộ quy trình) riêng biệt thông qua SSMS, sẽ mất 1 giờ 50 phút.

Nhưng khi tôi đang xử lý các thứ nguyên và số đo từ SSIS (Nhiệm vụ DML thông qua XMLA) thì phải mất hơn 5 giờ. [Tiêu thụ bộ nhớ đã đạt gần 100%]

Vì vậy, câu hỏi của tôi là:

  1. Liệu kích thước xử lý và đo lường từ SSIS có thể chi phí rất nhiều?
  2. Tôi nên chọn loại xử lý nào để xử lý khối nhanh. Tôi đang làm quá trình đầy đủ.
  3. Khi tôi xử lý khối từ hai tùy chọn đầu tiên thì hầu hết khối thời gian sẽ bị lỗi khi nói "không tìm thấy khóa thuộc tính" nhưng nó hoạt động tốt khi tôi xử lý kích thước và đo riêng. Không xử lý khối đầy đủ đảm bảo xử lý đúng kích thước và biện pháp?

Kích thước của khối lập phương của bạn là gì? Sức mạnh của hộp bạn đang chạy nó là gì?
Zane

2
35 Kích thước cũng cảm thấy hơi dốc.
Zane

Tôi có 64 GB Ram và 1 TB đĩa cho dữ liệu và 1 TB cho giao dịch nhật ký.
Nhiễm độc Zeroto 6/214

Câu trả lời:


1

Ôi trời ơi ..

Đầu tiên. Trong trường hợp của bạn, tôi muốn đề nghị bạn chọn tùy chọn "Mặc định quy trình". Nếu bạn đang sử dụng Process Full luôn, bạn sẽ bỏ tất cả dữ liệu và đối tượng và tạo lại tất cả nội dung của bạn. Bạn không cần chúng. Thông thường, tùy chọn đề xuất là sử dụng ProcessData, sau đó là Process Index.

Tôi đã không cung cấp khối lập phương từ bên trong SSIS, nhưng có lẽ SSIS đang kiểm tra thứ gì đó và khóa thứ gì đó trên cơ sở dữ liệu. Tùy chọn tốt nhất là sử dụng XMLA. Nếu bạn muốn xử lý khối của mình từ bên trong SSIS, bạn có thể viết một tác vụ kịch bản để thực hiện xử lý - bạn có thể tìm thấy một tập lệnh trên mạng.

Bạn cũng cần kiểm tra nếu bạn có một dữ liệu sạch. Kiểm tra hai lần trong dự án của bạn và trong dữ liệu của bạn nếu bạn có tất cả các khóa và vv. Nếu bạn đang xử lý kích thước riêng, dữ liệu sẽ không so sánh giữa các số đo và kích thước. Tôi khá chắc chắn rằng bạn có một số khóa trong các bảng thực tế không có giá trị tương ứng trong thứ nguyên của bạn. Đặt hàng với điều này. Nếu bạn không có giá trị về thứ nguyên và nó chính xác (không tồn tại trong bảng nguồn), bạn có thể thêm vào mỗi thứ nguyên một giá trị bổ sung với khóa "-1" và tất cả các giá trị như "Không áp dụng" (không áp dụng) và chỉ ra các giá trị không được thành lập cho hồ sơ này trong các kích thước.

Và cuối cùng. Nếu bạn có một cơ sở dữ liệu SSAS lớn, hãy nghĩ về việc phân vùng.

Đó là rất nhiều để nói về. Nếu bạn có một số câu hỏi cụ thể hãy hỏi.


0

Tôi rất đề nghị bạn phân vùng khối của bạn. Sau đó, máy chủ có thể song song xử lý bảng thực tế, có khả năng sẽ cung cấp cho bạn mức tăng hiệu suất lớn nhất.


0

Khi xử lý tất cả các thứ nguyên và sự kiện trong SSIS một cách riêng biệt, bạn thực hiện nó trong nhiều giao dịch. Xử lý toàn bộ khối trong một giao dịch sẽ nhanh hơn khi máy chủ có thể xử lý nó.

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.