SORU
6 EKİM 2010, ÇARŞAMBA


Nasıl Tarihsel Veri Depolamak için

İş arkadaşlarımla bazı tarihsel veri depolamak için en iyi yolu üzerinde bir tartışma içine aldım. Şu anda, bazı sistemler için, tarihsel veri depolamak için ayrı bir tablo kullanmak, ve geçerli, etkin kayıt için özgün bir tablo tutuyorum. Bakalım tablo FOO var. Benim sistem altında, tüm aktif kayıtlar FOO gidecek, ve tüm tarihi kayıtlar FOO_Hist gidecek. FOO birçok farklı alanlar kullanıcı tarafından güncellenebilir, her şeyi doğru bir hesap güncel tutmak istiyorum. FOO_Hist aynı alanları otomatik artan HİST_İD bir istisna olarak FOO tutar. FOO güncellenir, FOO_Hist takın açıklamaya benzer yapıyorum her zaman: insert into FOO_HIST select * from FOO where id = @id.

Benim co-worker diyor bu kötü tasarım yüzünden yapmamam gereken bir kopyasını bir tablo, tarihsel nedenlerden dolayı ve sadece eklemek başka bir kayıt içine aktif tablo ile bir bayrak gösteren bu tarihsel amaçlar.

Tarihsel veri depolama ile ilgili bir standart var mı? Bana öyle geliyor ki, istemiyorum dağınıklığı benim aktif kayıtları ile de tüm tarihi kayıtlar aynı masa düşünüyor olabilir iyi bir milyondan fazla kayıtları (düşünüyorum uzun vadede).

Nasıl siz ve şirketiniz bu işi?

2008 ama cevap ve herhangi bir VERİTABANI genel keyfi devam etmek istiyorum Server MS SQL kullanıyorum.

Herhangi bir giriş için şimdiden teşekkür ederiz.

CEVAP
6 EKİM 2010, ÇARŞAMBA


Doğrudan operasyonel bir sistem içinde ulaş destekleyen uygulama başka türlü olacağını daha çok daha karmaşık hale getirecektir. Genellikle, sistem içindeki Kayıt tarihi sürümleri işlemek için zor bir gereksinim yoksa bunu tavsiye etmem.

Eğer yakından bakarsanız, tarihsel veri için en gereksinimleri iki kategori var: biri girer

  • Denetim günlüğü:Bu denetim tabloları ile yapılması daha iyi olur. Oldukça kolay komut sistemi veri sözlüğü meta veri okuma tarafından denetim günlüğü tablolar ve tetikler oluşturmak için oluşturduğu bir program. Aracı bu tür bir denetim çoğu sistemde oturum güçlendirme için kullanılabilir. Ayrıca, veri ambarı (aşağıya bakınız) uygulamak istiyorsanız değiştirilen verileri yakalamak için bu alt sistem kullanabilirsiniz.

  • Tarihsel raporlama:Tarihi durumu hakkında rapor, '-' pozisyon veya analitik zamanla raporlama. Denetim sıralama yukarıda açıklanan tablolar günlük sorgu tarafından basit tarihsel raporlama şartları yerine getirmek için mümkün olabilir. Eğer daha karmaşık gereksinimleri varsa deneyin ve tarihi doğrudan operasyonel sisteme entegre etmek için daha raporlama için veri mart uygulamak için daha ekonomik olabilir.

    Yavaş yavaş boyutlarını değiştirme ve tarihsel Durum İzleme ve sorgulamak için çok basit bir mekanizma ve Tarih izlemeyi çok otomatik olabilir. Genel işleyicileri yazmak zor değil. Genellikle, tarihsel raporlama up-to-dakikalık verileri kullanmak zorunda değildir, toplanmış bir yenileme mekanizması normalde gayet iyi. Bu çekirdek ve raporlama sistemi oldukça basit mimarisi tutar.

Eğer gereksinimleri bu iki kategoriye ayrılır, muhtemelen operasyonel sistem değil saklamak ulaş hayrına olacaktır. Tarihsel işlevi başka bir alt bölümleme (muhtemelen daha az çaba genel olması ve amacına uygun olarak çok daha iyi iş işlem ve denetim/raporlama veritabanları üretecek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008
  • The Dubstep FX

    The Dubstep

    5 Mart 2011