4 Stimmen

Beste Datenbankauswahl für Client/Server-Anwendung (mehrere Benutzer) mit Delphi?

Ich möchte eine Software mit Delphi XE programmieren, die in der Lage sein wird, eine Verbindung zu einem Server herzustellen und Benutzer sollten in der Lage sein, auf die Datenbank zu lesen/schreiben.
Alle Datensätze werden String sein (Unicode-fähig), vielleicht können kleine Teile davon Blob sein.

Meine Anforderungen sind;

  • Mehrere Benutzer aktiviert
  • Mehr als ein Benutzer sollte gleichzeitig neue Datensätze hinzufügen können
  • In der Lage, eine große Menge an Daten zu speichern
  • Benutzer können ihre eigenen Datensätze bearbeiten
  • Unicode-fähig
  • So kostengünstig wie möglich

Vielen Dank im Voraus...

0voto

A.Bouchez Punkte 386

"Benutzer können ihre eigenen Datensätze bearbeiten" Was bedeutet das für dich? Eine Datenbank, in der Datensätze nicht bearbeitbar sind, also eine Read-Only-Datenbank, ist nicht sehr verbreitet.

Sie müssen über die allgemeine Architektur Ihrer Software nachdenken. Man wählt eine Datenbank nicht einfach wie ein neues Auto aus. Ich würde vorschlagen, dass Sie sich nicht auf die Wahl der Datenbank konzentrieren, sondern das gesamte Bild betrachten.

Hier sind einige Ratschläge:

  1. Trennen Sie Ihren Datenbankspeicher, die Benutzeroberfläche und Ihre Softwarelogik. Dies wird als 3-Tier bezeichnet und ist definitiv eine gute Idee, wenn Sie 2010 ein neues Projekt starten. Es wird Ihnen in Zukunft viel Zeit sparen. Wir verwenden eine solche Architektur in unserem http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

  2. Verwenden Sie eine Datenbankverbindung, die nicht an eine Datenbank-Engine gebunden ist. Delphi wird mit DBX geliefert, und es gibt kostenlose oder nicht so teure Alternativen. Sehen Sie sich http://edn.embarcadero.com/article/39500 für dbx und http://www.torry.net/pages.php?id=552 für Alternativen an

  3. Dneken Sie an die Zukunft: Versuchen Sie zu erraten, welche Funktionen Ihre Anwendung nach einiger Zeit haben wird, und seien Sie bereit, diese in Ihren heutigen Architekturwahlen zu implementieren.

In jedem Fall ist es richtig, um Rat und Feedback zu bitten. Die Zeit, die Sie jetzt vor dem Codieren verbringen, wird Ihnen Zeit bei zukünftigen Wartungsarbeiten sparen.

Zum Beispiel, wenn einer Ihrer Anforderungen ist, dass "Alle Datensätze String sein werden", mit einigen BLOB, wird die Größe Ihrer Datenbank nie größer als ein paar GB sein. SQLite3 könnte ausreichen für Sie sein, und es gibt keine Größenbeschränkung in den TEXT-Feldern in dieser Datenbank.

0voto

shunty Punkte 3524

Niemand hat SQL Server Express erwähnt, also werde ich es tun...
Microsoft SQL Server Express ist ziemlich gut und außerdem kostenlos.
Ja, es hat Einschränkungen, aber sie sind ziemlich groß und es ist nicht möglich zu wissen, ob sie ausreichen, ohne weitere Informationen vom OP.

  • Mehrere Benutzer aktiviert - ja

  • Mehr als ein Benutzer sollte gleichzeitig neue Datensätze hinzufügen können - ja

  • In der Lage, eine große Menge an Daten zu speichern - hängt von der Definition von groß ab. Aber "wahrscheinlich"

  • Benutzer können ihre eigenen Datensätze bearbeiten - ähm, ja

  • Unicode aktiviert - ja

  • Ein möglichst kostengünstige Lösung - es ist kostenlos. Aber die Datenzugriffskomponenten werden von Ihrer Wahl der Zugriffsmethode abhängen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X