Hallo gary,
Man kann eine Datei gleichzeitig mehrmals öffnen und auch lesen und schreiben.
Natürlich gehen dabei normalerweise Daten kaputt, daher muss man die Datei so aufbauen, dass man sinnvoll Bereiche unabhängig voneinander verändern kann.
Einfaches Beispiel eine Tabelle die Produkten einen Preis zuordnet:
1 xxxxxxPKW xxxx123
2 xxxxxHaus xxx1234
3 xBrötchen xxxxx34
Dadurch dass die Werte alle gleich lang sind (Leerstellen mit x markiert) kann man problemlos für Datensatz 3 und 1 einen Wert gleichzeitig ändern.
Wenn man große Datenbereiche mit veränderlicher Länge hat, wird es schwieriger. Da braucht man vielleicht Mechanismen, wie sie Dateisysteme verwenden o.ä.
Zusätzlich zu solchen Formaten für die Datenspeicherung hat man dann noch Indizes (B-Trees u.ä.) um schnell Einträge zu verwenden. Außerdem kann man natürlich teile der Datenbank im Arbeitsspeicher cachen, wo man auch gleichzeitig Daten ändern kann.
Datenbanken arbeiten natürlich parallel, dabei wird sicher auch echt gleichzeitig Information geschrieben (das geht natürlich erst so richtig, wenn die Daten über mehrere Festplatten verteilt sind oder im Arbeitsspeicher liegen).
Das zu organisieren ist natürlich extrem aufwendig, vor allem wenn nicht nur das Datenformat konsistent bleiben muss, sondern auch auf höherer Ebene Konsistenz und Transaktionssicherheit gewährleistet werden muss.
Grüße
Daniel