AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Was mache ich wenn meine Tabelle voll ist?

Was mache ich wenn meine Tabelle voll ist?

Ein Thema von Der schöne Günther · begonnen am 11. Dez 2014 · letzter Beitrag vom 14. Dez 2014
Antwort Antwort
Seite 1 von 5  1 23     Letzte » 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.093 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 19:18
Datenbank: Sybase Advantage • Version: 11.10 • Zugriff über: FireDAC / ACE
Deppenfrage mit Deppentitel.

Meine hauptsächlich verwendete Datenbank erlaubt zwar Dateigrößen im Exabyte-Bereich, will aber nicht mehr als 2^31 (2 Milliarden) Datensätze pro Tabelle zulassen.

Da ich, wie oft betont, null Praxiserfahrung mit Datenbanken habe bin ich davon jetzt überrascht worden! Ja, so eine Menge kann durchaus anfallen. Und ja, eventuell werde ich mehr brauchen.

Ärgere ich mich jetzt über die blöde Datenbank oder hat man das Problem öfter? Was tue ich dagegen? Lege ich nach 1,9Mrd. Einträgen die nächste Tabelle mit einem _2 hinten im Namen an? Presse ich (entgegen Normalisierung) mehr (eventuell leer bleibende) Spalten an einen Datensatz?

Ich bin verwirrt.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 19:28
Welche Datenbank bzw. welches RDBMS wäre das?
Und -ja- du müsstest dann einfach eine weitere Tabelle anlegen bzw. die volle Tabelle umbenennen oder 1x pro Jahr ne neue Tabelle nehmen bzw. umbenennen.

Oder die ältesten Daten per Trigger oder per COB (Close of Businessday) ins Archiv verschieben. Die Archiv-DB ist natürlich eine, der ein paar mehr Zeilen pro Tabelle ablegen kann.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.934 Beiträge
 
Delphi 12 Athens
 
#3

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 19:37
Oder eine Datenbank verwenden, die diese Begrenzung nicht hat. Allerdings konnte ich auch für ADS keinen Hinweis auf diesen Constraint finden. Kann es eventuell auch ein von dir verwalteter Integer sein, der da überläuft?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.093 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 19:43
An die Begrenzung bin ich noch nicht gestoßen, aber die Proprietary File Format Specifications sprechen von
Zitat:
Maximum number of records per table - 2 Billion
Der Typ AUTOINC ist komischerweise 4 Byte Unsigned (4Mrd) was aber auch nicht viel besser ist (Field Types and Specifications)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.934 Beiträge
 
Delphi 12 Athens
 
#5

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 21:27
Im amerikanischen Sprachgebrauch entspricht Billion der deutschen Milliarde.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.093 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 22:24
Natürlich. Hat doch niemand etwas anderes behauptet?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 22:47
2 Mrd. ist schon viel.Für viele Anwendungen ist diese Grenze irrrelevant
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.934 Beiträge
 
Delphi 12 Athens
 
#8

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 11. Dez 2014, 23:07
2 Mrd. ist schon viel.Für viele Anwendungen ist diese Grenze irrrelevant
Genau diese Grenze wird aber im ersten Post bemängelt:
Zitat:
will aber nicht mehr als 2^31 (2 Milliarden) Datensätze pro Tabelle zulassen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

Unpassendes Datenbankmanagementsystem

  Alt 12. Dez 2014, 04:52
... will aber nicht mehr als 2^31 (2 Milliarden) Datensätze pro Tabelle zulassen.
Je nach Anforderung sollte man das passende DBMS wählen. Man nimmt kein DBMS mit derartigen Begrenzungen, wenn zu erwarten ist, daß die zu entwickelnde Anwendung weitaus mehr Datensätze zu verwalten hat, als das DBMS zuläßt. Ich kann hier nur mal wieder Firebird empfehlen, damit hättest du diese Probleme nicht.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: Was mache ich wenn meine Tabelle voll ist?

  Alt 12. Dez 2014, 08:54
Ich glaube, die Anzahl der RDBMS, die diese Beschränkung nicht haben, ist größer als die, die diese Beschränkung haben.

Ich persönlich würde eh nur SQL-Server, PostGres oder FB nehmen. mySQL kenne ich nicht, aber 100 Mio Fliegen können nicht irren. Die Teile sind weit verbreitet, stabil, werden weiterentwickelt usw usw.

Zur Grenze, eine Beispielanwendung: In einer Fabrik wird pro Sekunde ein Bauteil mit 500 Messwerten durchgemessen, die Fabrik läuft 24/7. Das sind am Tag 43 Mio Zeilen, wenn ich mich nicht verrechnet habe. Da ist die Tabelle im Nonstopbetrieb nach 49 Tagen voll. Das ist keine Phantasie, sondern im Solarzellenbereich Realität. Da lob ich mir doch eine DB, der es wurscht ist, wie viele Zeile in die Tabelle passen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:13 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