Re: Daten abrufbereit halten

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Am 01.11.2006, 13:07 Uhr, schrieb Meier Rudolf <meiru@xxxxxxx>:

Hallo Rudolf,

ein wirklich ernst gemeinter Tipp vorweg: Besorge dir ein SQL-Einsteigerbuch, damit du mit den Grundtechniken eines RDMS vertraut wirst.

Wenn du mit einer Datenbank arbeitest, lasse die Finger von irgendwelchen selbst gecachten Konstrukten.
Das erledigt die Datenbank völlig allein und tausendmal besser. Das ist ihr Job und dafür wurde sie optimiert.

Was du mit "offenen Datensätzen" meinst, verstehe ich nicht. Wenn damit ein Recordlocking gemeint ist, solltest du dir die entsprechenden Techniken für den SQL-Server näher anschauen.
Welche die für dich optimale ist, hängt sehr von deiner Anwendung ab.

Gruß

Berthold Neumann


Hallo

Server: MS SQL Server 2005 (Express, Standard, etc. -> muss auf allen Versionen laufen) -> wird per OLEDB angesprochen

Ich habe bisher Datenbanken nur in kleiner Form genutzt. Mal eine Tabelle für 10 Einträge von Daten für eine Webseite oder so (das nur als Vorgeschichte, damit ihr abschätzen könnt, was ich für Erfahrungen mit DBs habe). Jetzt muss ich aber ein System aufbauen, bei dem ich eine grosse DB habe. Die Daten werden beim Laden in eine spezielle Struktur geladen (auf einem Server) und können dann vom Benutzer angesprochen werden (lesen und schreiben). Eine Möglichkeit um das zu erreichen wäre, dass ich bei einem Aufruf die ganzen Daten auslese und im Memory speichere (das würde dann meine Anwendung machen). Eine andere wäre evtl. (das weiss ich nicht, ob das wirklich geht), dass ich die Daten nur "öffne" in der DB und sie dann beim Aufruf durch den Benutzer direkt aus der DB hole (was dann schneller laufen sollte, weil sie ja "offen" sind). Zum speichern wäre das dann auch schneller...

Mein Problem ist nun folgendes:
1) Wenn ich das auslese und selber im Memory speichere und die DB sowas auch tut (evtl. ist ja eine Art Cache eingebaut?), dann wäre das eine riesen Verschwendung und so eine "öffnen"-"später zugreifen" - Geschichte wäre vielleicht besser
2) Ich weiss nicht, ob so eine "öffnen"-"später zugreifen"-Sache überhaupt machbar ist. Wenn ich da gleichzeitig z.B. 5000 offene Datensätze hätte... klappt das überhaupt? Belastet das das System mehr als wenn ich's auslesen würde und selber speichere? Ich hab mal was von "Bookmarks" gelesen. Was aber, wenn praktisch jeder Datensatz ein eigenes SELECT ist? Soweit ich weiss sind Bookmarks nur dann gut, wenn ich fix mit einem Rowset arbeite... meine Rowsets haben aber alle nur 1 Zeile... müsste ich das anders machen?

... es ist etwas schwierig eine konkrete Frage zu formulieren.

Noch ein Versuch: Ich habe einen Server, der als Zwischenstück zwischen Client und SQL-Server fungiert und ich weiss nicht, ob ich die Daten am besten selber cachen soll oder ob ich mit einer Art "offenen Datensätze" arbeiten könnte...

für jeden Tip bin ich sehr dankbar
MR - Rudolf Meier




--
Berthold Neumann
http://www.sql-ssis.de
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
.



Relevant Pages

  • Re: =?utf-8?Q?Pr=C3=BCfsumme?=
    ... Eindringen in die Datenbank erschwert wird. ... Warum ist gerade das Ändern so interessant für den Angreifer? ... Ein gut abgesicherter Server ist nicht so leicht zu knacken. ... Kontrollen) nicht sinnvoller? ...
    (de.sci.informatik.misc)
  • Re: Zugriff auf andere Datenbank
    ... Die Daten kommen in ein vom Bayerischen Landesamt für Statistik kostenlos zur ... > Wenn Ihr hier beim SQL Server bleibt bietet sich DTS an. ... >> mir zwar die Tabelle, ... Ich hab die Tabelle nicht im Linked Server, sondern ein einer Datenbank ...
    (microsoft.public.de.sqlserver)
  • =?UTF-8?Q?Re:_ASPNETDB.MDF_au=C3=9Ferhalb_von_A?= =?UTF-8?Q?pp=5FData?=
    ... Server-Explorer des Visual Studios wird die Datenbank nicht mehr ... Dann findet der SQL Server die Datei nicht mehr, welche er immer noch im alten Verzeichnis sucht. ... Dann verschiebst Du alle Dateien, die dazu gehören in das write Verzeichnis. ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: offline betrieb?
    ... Lokal hat also jemand das Gehalt des Mitarbeiters um 10% erhöht, ... Datenbank sondern auch ein Frontend ganz spezifisch zugeschnitten wird, ... Die Lokale Datenbank checkt vom server aus. ... Die Lokale Datenbank wird wieder eingecheckt, Konflikte werden gelöst. ...
    (de.comp.datenbanken.mysql)