AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Massendaten täglich in eine DB speichern - Was macht Sinn?
Thema durchsuchen
Ansicht
Themen-Optionen

Massendaten täglich in eine DB speichern - Was macht Sinn?

Ein Thema von Piro · begonnen am 25. Nov 2010 · letzter Beitrag vom 26. Nov 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#11

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:21
Hi,

aber der Abgleich mit Daten, die eh entsorgt werden sollte doch das Ganze massiv langsamer machen, oder?


LG, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:22
Es kommt halt drauf an, ob du deine alten Daten später noch evtl. brauchst -- für andere Abteilungen/(Jahres-)Statistiken etc. Wenn du die Daten wirklich nur einmal mit deinem Programm anfasst, dann brauchst nicht mal eine DB, außer du lässt komplexe Abfragen drauf laufen. Dann wird es wohl schneller sein die kurz in eine DB zu klopfen.

Und zum Theme löschen: Warum wirfst nicht die komplette Table weg und erzeugst danach eine neue? Geht doch schneller als löschen und PK neu setzen.

-- EDIT
@fkerber: nun ja, es sei denn man muss komplexe Suchalgos in sein Programm einbauen, die eine DB ja schon effizient erschlägt.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:29
also ich würde folgende zwei Zeilen ausführen:

Code:
select * into Tabelle_<HeutigesDatum> from MasterTabelle where 1=0
Create Index IX_<HeutigesDatum> on bla bla feld xy usw.
bulk insert into Tabelle_<HeutigesDatum> from cSV_Datei
Die genaue Syntax ergibt sich aus Google. Ich habe genau das gemacht und das zieht mir eine 20MB CSV-Datei in ein paar Sekunden in eine MSSQL-DB.
Nun hast Du täglich eine eigene Tabelle mit Index und allem Drum und dran.
Ob Du die alten Daten löschst oder z.B .die letzten X Tage noch aufhebst, bleibt Dir überlassen und hat nix mit o.g. Import zu tun.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#14

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:32
Es werden sehr komplexe Abfragen auf die Daten ausgeführt. Deshalb die DB.

Die Idee mit dem Löschen der Tabelle und einfach wieder neu anlegen, klingt interessant aber mir ist noch nicht ganz klar wie.

Ich arbeite mit SQLConnection und TDataSet. Muss ich mir ein SQL Script hinlegen, welches mir die Tabelle anlegt oder was macht Sinn?
Habe da gerade irgendwie eine Denkblockade.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#15

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:40
Naja, du kannst doch via TQuery ein DROP TABLE und CREATE TABLE ausführen. Ich arbeite immer mit AnyDAC, daher kann ich dir nicht sagen, mit welcher Klasse/Komponente du SQL Queries auf der DB ausführen kannst.

Wobei die Idee von alzaimar nicht zu unterschätzen ist. Je weniger dein Programm machen muss, desto besser. Außer du brauchst spezielle Trigger oder dergleichen.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#16

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:51
@alzaimar: könntest du mir eventuell einen beispielhafteren Code geben und kurz erklären was der macht. Der Ansatz ist echt gut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:52
Wenn ich löschen im Zusammenhang mit Daten höre wird mir ganz schlecht.
Sammle doch einfach z.B:. mit Importdatum und wenn sich herausstellt die Datenbank unhandlich wird, exportiere alles was z.B. älter als 100 Tage ist in eine Archivdatenbank.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#18

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 22:55
Daten, die nicht mehr gebraucht werden, werden gelöscht -- ob da jemandem schlecht wird bei oder nicht Es muss aber von vorn herein geklärt werden, dass die Daten wirklich zu 100% nicht mehr gebraucht werdenm, das ist schon klar
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#19

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 23:52
Wenn ich löschen im Zusammenhang mit Daten höre wird mir ganz schlecht.
Sammle doch einfach z.B:. mit Importdatum und wenn sich herausstellt die Datenbank unhandlich wird, exportiere alles was z.B. älter als 100 Tage ist in eine Archivdatenbank.
Google würde dich sofort einstellen
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#20

AW: Massendaten täglich in eine DB speichern - Was macht Sinn?

  Alt 25. Nov 2010, 23:56
phhhh
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz