April 18, 2021, 02:03:35

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


8 Mio Datensätze in einer Tabelle

Begonnen von Anke_71, Februar 09, 2021, 14:05:52

⏪ vorheriges - nächstes ⏩

Anke_71

Ich muss in Zukunft größere Mengen von Datensätzen bearbeiten, im vorliegenden Fall 8 Mio Datensätze / vorauss. ca. 10 Spalten (überwiegend Format Text) in einer Tabelle.
Macht es Sinn, überhaupt den Versuch mit Access zu starten, oder sollte ich mich gleich auf SQL Server konzentrieren? Ich hatte bislang nur Tabellen mit deutlich weniger Datensätzen und kann daher nicht abschätzen, ob Access für diese Menge noch Sinn macht.

Ich weiss, dass die Größe der Datenbank insgesamt das Limit ist, und nicht die Anzahl der Datensätze, aber vielleicht hat jemand schon mal mit einer so grossen oder grösseren Anzahl gearbeitet und kann etwas dazu sagen?

Vielen Dank im voraus ..


MzKlMu

Hallo,
das hängt halt davon ab, was Du mit den Daten machen willst.
Reine Suchen dürften da kein Problem sein. Auch aggregieren nicht.
Auch die Indizierung (bzw. die nachfolgende Nutzung des Index) spielt da eine große Rolle.
Gruß
Klaus

ebs17

Wenn man grob überschlägt:

Text mit durchschnittlich 10 Zeichen (2 Byte pro Zeichen + 10 Byte für Verwaltung) => 30
mal
10 Felder
mal
8.000.000 Datensätze

... macht 2.400 MB. Da würde also ein Accessfile schon nicht mal diese Tabelle alleine verwalten können.

Da macht a) ein leistungsfähigeres Backend schon richtig Sinn.
Daneben müsste man an der Abfragetechnik arbeiten, denn die 2 GB-Grenze gilt auch für ein einmalig zu erfassendes Abfragerecordset für Access/Jet-SQL. Da sollte also besser das Backend einige  Vorarbeit hin zur Mengensenkung und logisch auch schon zur eigentlichen Mengenverarbeitung leisten.
Mit freundlichem Glück Auf!

Eberhard

steffen0815

Februar 09, 2021, 18:18:19 #3 Letzte Bearbeitung: Februar 09, 2021, 18:27:45 von steffen0815
Hallo,
also ich würde erst mal von 1 Byte je Zeichen ausgehen. Dazu noch einen Autowert mit Index.
Damit würde man praktisch (unter der 2 GByte Grenze) bei ca. 1,3GByte liegen.

Jetzt kommt es halt wirklich darauf an, wie man weiter mit den Daten arbeiten will....

Aber letztendlich spricht schon die reine Datenmenge eher gegen Access als BE.
Gruß Steffen

Anke_71

Herzlichen Dank an alle! Ich werde dann mal SQL als Backend versuchen mit MS Access als Frontend, und bin gespannt, ob das klappt!  ::)

ebs17

ZitatDamit würde man praktisch (unter der 2 GByte Grenze) bei ca. 1,3GByte liegen.
Auch 1,3 GB wären für mich bereits ein Ausstiegsszenario, auch für ein pures Backend. Temporär  bei Zugriffen wird sich ein erhöhter Speicherbedarf ergeben. Ein Index auf einen Autowert ist ja schön, wenn ich aber in einem Feld mit 8 Mio Inhalten filtere oder ein solches verknüpfe, dann würde ich einen praktischen Versuch erst dann wagen, wenn dieses Feld auch einen Index benutzt. Das setzt sich dann für weitere Felder fort. Die nicht sichtbaren Indextabellen bringen dann ihren eigenen Speicherbedarf mit.

Daneben glaube ich auch an Wachstum. Wer 8 sagt, sagt beim nächsten Mal 10 oder 13. Würde man da wirklich total neu anfangen wollen? Zusätzliche Tabellen wären dann auch nicht undenkbar.
Mit freundlichem Glück Auf!

Eberhard