سؤال

بدأنا في تحميل Datawarehouse مع بيانات من سجلات الأحداث. لدينا مخطط النجوم العادي حيث يمثل صف في جدول الحقائق حدثا واحدا. طاولات البعد لدينا هي مزيج نموذجي من user_agent، IP، المرجع، الصفحة، إلخ. يبدو جدول بعدا واحدا وكأنه هذا:

create table referal_dim(
  id integer,
  domain varchar(255),
  subdomain varchar(255),
  page_name varchar(4096),
  query_string varchar(4096)
  path varchar(4096)
)

حيث يتم الالتزام بذلك بالالتزام بالربط في نهاية المطاف مقابل جدول الحقائق. سؤالي هو: ما هي أفضل طريقة لتحديد السجلات المكررة في عملية الحمل السائبة لدينا؟ نحميل جميع السجلات للحصول على ملف سجل في جداول TEMP قبل القيام بالإدراج الفعلي في المتجر المستمر، ومع ذلك، فإن المعرف هو مجرد زيادة تلقائية، لذا فإن اثنين من السجلات الخافتة متطابقة من يومين سيكون لها معرفات مختلفة. سيقوم بإنشاء حشد من أعمدة القيمة يكون مناسبا ثم يحاول المقارنة على ذلك؟ يبدو أن محاولة المقارنة على كل عمود القيمة سيكون بطيئا. هل هناك أفضل الممارسات لحالة مثل هذا؟

هل كانت مفيدة؟

المحلول

عدد صحيح الزيادة التلقائية لجهاز PK بديل على ما يرام، ولكن (وفقا للسيد كيمبال) يجب أن يكون لجدول البعد أيضا مفتاح طبيعي أيضا. لذلك التجزئة NaturalKey العمود سيكون في النظام، أيضا Status قد يكون العمود الخاص ب "الحالية" أو "انتهاء الصلاحية" مفيدا للسماح بنوع SCD 2.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top