Langsame Datenbanken?
-
Ich arbeite mit Paradox7-Datenbanken und Borland C++Builder 5. Folgendes Problem: Ich arbeite an einer Anwendung zur Verwaltung von Schulbüchern. Dazu existieren mehrere Datenbanken, die auf einem Server abgelegt werden. Jeder der einzelnen Clients greift nun auf diese Datenbanken zu und kann sie auch editieren. Mir scheinen die Datenbanken aber sehr langsam zu sein. Wenn also zb. ein Client einen Datensatz einfügt dauert es bestimmt eine halbe minute bis der andere client den datensatz auch zur verfügung hat. es geht sogar soweit, dass ich ohne fehlermeldung ein Indexfeld mit dem SELBEN wert 2x anlegen kann. Also zb. 2x die ID 6 oder sowas in der richtung. liegt das an der veralteten paradox-technik? oder hängt es mit den borland-komponenten zusammen?
Vielen Dank für Hilfe! Michael Schaefer
PS.: Was haltet ihr von der Idee, eine solche Anwendung mit MySQL-DB und PHP zu realisieren? ist das überhaupt machbar bzw. effizient?
-
Paradox7 ist nicht wirklich Mulitiuser fähig. Du wirst noch auf gravierende Fehlern stoßen, die dich dazu zwingen auch einen SQL- Server umzusteigen. Das Problem liegt im Datenbankformat und nicht im BCB.
Mysql ist für die zur Zeit eine gute Alternative. Ist kostenlos und recht flott. Der BCB ist eines, wenn nicht das besste Tool um Datenbankanwendungen zu entwickeln. Warum dann nach PHP wechseln ? Was bietet dir PHP ?
Wenn du eine Webanwedung davon machen willst kannst du auch WebSnap oder Webbroker des BCBs benutzen. Die Umgebungen sind weitaus performanter und sind über DrOPDrop programmierbar.
Realisierbar ist es auch mit PHP.
-
Paradox ist erstmal vorabgesagt schon multiuser fähig .... Blos Paradox benutzt Aktive Locks ... währendessen SQL Server Passive Sperren verwenden bzw manchmal gar nicht sperren sondern nach der Devise " Der Letzte gewinnt " agieren ...
Man kann jedoch auch mit Paradox ordentlich schnelle anwendungen machen.
Sprich es ist durchaus möglich ne Anwendung mit Paradox zu machen mit > 10000 datensätzen und 5000 Bildern und zugriffzeiten pro Datensatz < 1sec zu haben ..Michael Schaefer schrieb:
dass ich ohne fehlermeldung ein Indexfeld mit dem SELBEN wert 2x anlegen kann. Also zb. 2x die ID 6 oder sowas in der richtung. liegt das an der veralteten paradox-technik? oder hängt es mit den borland-komponenten zusammen?
Das ist schon immer in jeder Datenbank gleich das ein Primär Index eindeutig ist .. das ist aber nicht nur bei Paradox so sondern in jedem mir bekannten Datenbanksystem .. weil wenn du was eindeutig identifizieren willst darf ein objekt / spalte keine 2 Werte haben..
Mysql + PHP ist afaik keine .. gute lösung .. Bei richtigen Executables haste ne kompilierte Exe bei PHP open source ... Erstens sind interpretierte Skript sprachen langsamer wie assembler zweitens kann dir jeder nubi drin rumpfuschen un das will ein Unternehmer ja nicht der will das der Kunde auch bei ihm bleibt ...
so long hoff alles beantwortet zu haben.
-
Naja ich würde einen Auftrag an niemanden vergeben der mir nicht einen venünftigen und verständlichen Source mitliefert, egal ob jetzt c++ oder php.
Nur eine Exe vergeben kann doch nix, vorallem bei Anwendungen die speziell für deine Zwecke entwickelt wurden.
Und @ Michael... ich kann nur sagen das ich mysql benutze und damit sehr zufrieden bin.
Vorher jahrelang Paradox, aber das fliegt einem irgendwann um die Ohren weil das noch mehr Bugs hat als ein Komposthaufen(wenn abundzu mal nix mehr geht weil db hängt oder die Daten alle gelöscht wurden is schon toll) und nicht mehr weiterentwickelt wird.
-
dreaddy schrieb:
Naja ich würde einen Auftrag an niemanden vergeben der mir nicht einen venünftigen und verständlichen Source mitliefert, egal ob jetzt c++ oder php.
Nur eine Exe vergeben kann doch nix, vorallem bei Anwendungen die speziell für deine Zwecke entwickelt wurden.
wird kein vernünftiger mensch tun ...
-
Naja man kann davon ausgehen das man trotzdem Folgeaufträge bekommt...
1. Versteht der Auftraggeber meist eh nix vom programmieren
2. Wenn er einen anderen da ran kriegen will muss der erst den Source lesen und sich drin einarbeiten, das kostet wieder nicht wenig.Aber ich finds ein Unding.. ich mein ich gebe einem Programmierer Geld das er etwas ausschliesslich für MICH entwickelt.
Die Zeit die er dadran arbeitet bekommt er voll und einzig von mir bezahlt.
Also habe ich auch auf alles was er wärend dieser Zeit entwickelt vollen Anspruch und das schliesst den Sourcecode mit ein wenn ich ihn haben will.
-
dreaddy schrieb:
Vorher jahrelang Paradox, aber das fliegt einem irgendwann um die Ohren weil das noch mehr Bugs hat als ein Komposthaufen(wenn abundzu mal nix mehr geht weil db hängt oder die Daten alle gelöscht wurden is schon toll) und nicht mehr weiterentwickelt wird.
hmm das ist mir nun noch nie .. passiert ich persönlich würde zwar auch kein paradox nehmen ... aber das wird an andrer stelle entschieden ... mit nen paar reorganisations algos und nem index wiederherstellungs algo ist auch alles bissl anderst wie dreaddy das sagt.
Imho ist ne DB - Express lösung das beste was du im bcb6 machen kannst
arbeit dich da ein und du wirst sehen das es etwas sehr schönes ist
-
dreaddy schrieb:
Aber ich finds ein Unding.. ich mein ich gebe einem Programmierer Geld das er etwas ausschliesslich für MICH entwickelt.
Die Zeit die er dadran arbeitet bekommt er voll und einzig von mir bezahlt.
Also habe ich auch auf alles was er wärend dieser Zeit entwickelt vollen Anspruch und das schliesst den Sourcecode mit ein wenn ich ihn haben will.Bei SAP oder andren großen Unternehmen gehört dir nichtmal die EXE geschweigedenn hast du Rechte auf unbegrenzte User.
Du gehst ja auch nicht zum Mercedeshändler und sagst du hast nen Recht drauf die Konstruktionspapiere zu haben weil du ne E-Klasse kaufst ...
wo lebst .. du ?
-
Es gibt da ja auch einmal Massenmarktsoftware und einmal speziell für MICH entwickelte Software... das ist was völlig anderes!
Einmal erwerbe ich nur die Lizenz ein fertiges Programm zu nutzen und einmal bezahle ich die komplette Arbeitszeit für ein exklusiv für mich gebautes Programm.
Und dann will ich auch wenn ich alles bezahle alles haben :oDas mit dem Auto wäre genauso... würdich zu Mercedes gehen und sagen "hier habt ihr ein paar Milliarden, entwickelt mir mal ein exklusives Auto das fliegen kann, jeden abhängt und ausserdem noch hoppst" würdich auch mindestens die Pläne haben wollen...
Oder wäre das normal das Mercedes mir dann ein Auto hinstellt, bitteschön sagt und dann die von mir bezahlte Entwicklung fleissig nutzt indem sie eine Serie dieses Autotyps rausbringt?
-
hallo,
wenn du wirklich auf einen sql-server umstellen möchtest, bietet sich bei der kombination C++ Builder, Paradox7 als sql der interbase an. hierfür gibt es tools die du als cbuilder besitzer bereits hast (etwa datapump) die die tabellenstruktur ohne tippaufwand in das interbase-format übertragen können. das ist natürlich so nur machbar, wenn du mit der struktur der datenbank insgesammt zufrieden bist. für interbase gibt es die IBX Komponenten (um nicht nur eine sammlungs zu nennen IBO, dbExpress), die es ermöglichen, auf den interbase ohne bde zuzugreifen. den interbase bekommt man frei, da er u. a. auch als open source angeboten wird. du könntest also ohne viel aufwand und ohne einen pfennig auf einen sql-server umstellen. allerdings müsstest du das frontend anpassen und in der datenbank selber mit stored prozedures, triggern, domains, exceptions, udas, etc. hantieren. aber das bliebe dir auch bei einem anderen x-beliebigen sql-server nicht erspart, so ist es nun mal...
mfg
murphy
-
Jo vielen Dank erstmal an alle. Ich werde mal schauen, das mit dem Umstieg auf SQL scheint ja wohl die beste Lösung zu sein.