AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread getriebene SQLite Zwischenschicht?!

Ein Thema von Mavarik · begonnen am 4. Nov 2014 · letzter Beitrag vom 6. Nov 2014
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Thread getriebene SQLite Zwischenschicht?!

  Alt 5. Nov 2014, 15:04
Nicht nur du aber, Mann o Mann, das war noch ne Datenbank.
Funktionierte, kaum erkennbare Fehler... schnell... jojojo
Zum Thema bzw. zur Frage: MemTable würde ich persönlich nicht bevorzugen, es sei denn, du kannst das in Transaktionen verpacken. Da wäre die TCP/IP-Variante schneller, und wahrscheinlich auch sicherer, weil transaktionsfähig
Wieso transaktionsfähig?
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Thread getriebene SQLite Zwischenschicht?!

  Alt 5. Nov 2014, 18:32
Wieso transaktionsfähig?
na ja, was passiert denn wenn während eines Schreibvorganges ein Problem auftritt (PC bzw. OS bleibt hängen, Stromausfall...). Dann hängt die MemTable "irgendwo"....und du hast ein Problem.

Zitat von Mavarik:
Besonders nicht, wenn man dafür nicht bezahlt wird...
Macht es dann überhaupt Sinn sich über zeitaufwändige Optimierungen Gedanken zu machen?
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: Thread getriebene SQLite Zwischenschicht?!

  Alt 6. Nov 2014, 07:44
Mann, es läuft nicht optimal und er wehrt sich alles auf den Müll zu schmeißen, nur um die Superduperdistributetobjectorienteddatastoragelösu ng zu installieren, bei der in 3 Jahren jeder die Schulter zuckt und fragt was das alte Zeug soll.
Wo steht denn, 'alles auf den Müll zu schmeißen' sei eine Lösung?
Wenn man die Wartezeiten während des Abgleiches nicht will, dann kann/muss man das im Hintergrund machen. Und wenn man das im Hintergrund macht, muss man eben noch 1-2 Dinge beachten. Hört sich jetzt nicht nach einer Lösung an, bei der man alles auf den Müll schmeißen muss. Und eine "objektkorientierte Datastoragelösung" muss das auch nicht werden, weil man das auch in VB oder C programmieren kann.

- wie gesagt. Es gibt Abbrüche und ich will die MySQL Componenten wechseln.
- und modernisieren.
...
Und die Wartezeiten bei vielen Änderungen vermeiden?

Wenn die Datenbankzugriffe nicht gekapselt sind, wird das allerdings eine größere Operation.

Du wirst schon eine pragmatische Lösung finden. Ich würde -wenn überhaupt- zuerst die DB-Komponenten austauschen und dabei kapseln. Wenn alle DB-Zugriffe abstrahiert sind (d.h. in Klassen gekapselt) kann man die Reconcile-Logik einbauen, d.h.: Daten werden lokal und global verändert, wer gewinnt? Muss man aber nicht.

Geändert von Dejan Vu ( 6. Nov 2014 um 07:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Thread getriebene SQLite Zwischenschicht?!

  Alt 6. Nov 2014, 09:35
Macht es dann überhaupt Sinn sich über zeitaufwändige Optimierungen Gedanken zu machen?
Ja, denn die Software nutze ich "selber".


Wenn die Datenbankzugriffe nicht gekapselt sind, wird das allerdings eine größere Operation.
So gesehen sind die "eigentlich" zu 100% gekapselt.
Beispiel:

Meine TISAMEdit Komponente hat eine Verknüpfung zu einer TISAMBase Komponente und kann den da gespeicherten Record lesen und schreiben...

Die Verarbeitung ist ganz normal ENZ

Delphi-Quellcode:
Adressen : TISAMBase;

begin
  Adressen.BTInitIsam;
  Adressen.Open := true;
  RetKey := Adressen.Findkey(KeyNr,SeekNr,SearchKey);
  if (RetKey = SearchKey) and (Adresse.ISAMError = ISAMOK) then
    begin
      Adressen.GetRec(SeekNr);
      Adressen.Edit;
      ...
      Adressen.PutRec(SeekNr);
      Adressen.AddKeys;
    end;
   Adressen.Open := false;
   Adressen.BTDeInitIsam;
end;
Naja und die Findkey, GetRec, Edit, Put, AddKeys usw. werden halt in der ehemaligen ISAM umgesetzt in SQL.

Mavarik

PS.: Aber die eigentlich Frage war immer noch nach der Richtigen FireDac Komponente für die Zwischenschicht.
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz