Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Firebird für Asp.Net und Delphi Prism (https://www.delphipraxis.net/138996-firebird-fuer-asp-net-und-delphi-prism.html)

stahli 21. Aug 2009 11:53

Datenbank: Firebird • Version: 2.1 • Zugriff über: ?

Firebird für Asp.Net und Delphi Prism
 
Hallo alle,

ich habe ein Asp.Net-Projekt mit Blackfish-Datenbank laufen (entwickelt mit Delphi Prism).

Der Hoster ist der CompOffice-Matt :-)
(... Danke nochmal für Deine Hilfe!)

Da CompOffice keinen Blackfishserver anbietet habe ich den als embedded eingebunden, was auch sehr gut funktioniert.
Blackfish bietet aber keine sinnvolle Konsole, um eine DB zu verwalten.


Nun habe ich für Win32 Firebird eingesetzt und nutze IBExpert - und bin echt begeistert davon!
Die DB-Verwaltung ist halt VIEEEL einfacher :-)

Daher würde ich gern auch das Webprojekt (Asp.Net) auf Firebird umstellen (embeddet wäre ok) und habe bei Matt angefragt, ob das möglich ist und ob diesbezüglich Nachfrage von Nutzern besteht.
Die Antwort: Nachfragen gibt es bisher nicht, aber die Bereitschaft wäre da - wenn das letztlich machbar ist.


Meine Suchen nach entsprechenden Infos waren nicht erfolgreich, da ich vieles nicht richtig einordnen kann..
(Zumindest Datenprovider für Net scheint es ja zu geben.)

Daher mal die Fragen an die Profis unter Euch?

- Gibt es Interesse an Firerbird unter Asp.Net (bei CompOffice)?
- Kann/darf der Hoster einfach einen "öffentlichen" Firebirdserver auf dem Webserver anbieten?
- Kann man sonst (wie bei Blackfish) einen embeddet-Server in seinem Web-Projekt einbinden?
- Lässt sich eine Blackfishdatenbank im Webprojekt so einfach durch Firebird ersetzen?

Danke Stahli

mkinzler 21. Aug 2009 12:10

Re: Firebird für Asp.Net und Delphi Prism
 
Zitat:

- Kann/darf der Hoster einfach einen "öffentlichen" Firebirdserver auf dem Webserver anbieten?
Ja natürlich. FireBird kann ja uneingeschränkt auch kommerziell verwendet werden
Zitat:

- Kann man sonst (wie bei Blackfish) einen embeddet-Server in seinem Web-Projekt einbinden?
Sollte problemlos gehen.

Elvis 21. Aug 2009 12:18

Re: Firebird für Asp.Net und Delphi Prism
 
Firebird embedded wäre nicht OK!
Embedded hält pro Prozess ein exklusives Lock auf die DB und ist auch was Multithreading angeht ein wenig flaky.
Bei ASPX wirst du a) aus mehr Threads auf die DB gehen als ich zählen kann, und b) wenn mehr als ein AppPool gestartet werden oder du/eine andere Wepapp den AppPool abschießen, wirst du sporadisch Exceptions kriegen, weil 2 Prozesse drauf wollen.
Bin there, done that, got the scars to prove it...
Ernsthaft, du willst dich nicht auf den Embedded in solch einem Szenario verlassen.

Für sowas wäre vielleicht SQLite angebrachter. Gerade wenn dir sogar Blackfish gereicht hätte (denn rein SQL-mäßig kann BF ja wirklich sehr wenig)
SQLite kann Record-Sperren verwenden (und macht das AFAIK standard-mäßig auch), das heißt 2 Prozesse können gleichzeitig das gleiche File öffnen.
Was ich mir eher vorstellen kann, wäre dass der Hoster vllt einen Firebird Dienst laufen lässt. Aber wenn man bedenkt wie rudimentär die Sicherheitsoptionen von FB sind, könnte er die DB von dir kaum vor Zugriffen eines anderen Kunden schützen.

stahli 21. Aug 2009 15:19

Re: Firebird für Asp.Net und Delphi Prism
 
Hmm,

Blackfish reicht mir vom Leistungsvermögen eigentlich völlig aus.

Ich habe lediglich ein paar Blackfish-DLL´s auf meinem Webserver liegen und benutze den "blackfish local provider" sozusagen als embedded Datenbank.
Gleichzeitige Zugriffe sind anscheinend kein Problem, jedenfalls konnte ich bisher diesbezüglich keine Fehler provozieren.

Mit "firebird embedded" meinte ich entsprechend auch einen lokalen Datenprovider für .Net (nicht FB emb. für Win32), analog zur o.g. Blackfish-Lösung.
Firebird würde mir letztlich nur in Verbindung mit IBExpert bei der Datenbankverwaltung (Änderungen der Datenbank sowie Aufräumarbeiten etc.) effektive Verbesserungen bringen.

Wenn eine Umstellung aber zu kompliziert oder unsicher wird, dann bleibe ich eben doch bei Blackfish. Im grunde läuft das ja alles bereits.
Dann sind halt DB-Änderungen mit etwas mehr Schreibkram verbunden...


Danke
Stahli

IBExpert 21. Aug 2009 20:29

Re: Firebird für Asp.Net und Delphi Prism
 
Zitat:

Zitat von Elvis
Aber wenn man bedenkt wie rudimentär die Sicherheitsoptionen von FB sind, könnte er die DB von dir kaum vor Zugriffen eines anderen Kunden schützen.

könntest du da mal erörtern warum du das behauptest?

Als Webhoster kannst du reichlich datenbanken auf der gleichen instanz mit anderen usern als owner anlegen oder auch gleich mehrere firebird instanzen einrichten, bei denen jeder sein eigener sysdba sein kann. Mit einem simplen datenbanktrigger kann man sich dann noch diversen sonstigen schweinkram ausdenken, um user zu ärgern, die nichts in der DB zu suchen haben. und über generierte alias.conf dateien kann man auch das filesystem außen vor lassen.

Elvis 21. Aug 2009 22:05

Re: Firebird für Asp.Net und Delphi Prism
 
Zitat:

Zitat von stahli
Wenn eine Umstellung aber zu kompliziert oder unsicher wird, dann bleibe ich eben doch bei Blackfish. Im grunde läuft das ja alles bereits.
Dann sind halt DB-Änderungen mit etwas mehr Schreibkram verbunden...

Blackfish embedded hätte aber die gleiche Einschränkung wie FB embedded. (locked pro Prozess)
Außerdem kommt Blackfish mit derben Lizenz-Einschränkungen daher. Besonders zu bermerken, dass die Anzahl der Connections bei der Pro inakzeptabel niedrig sind.
Also dann doch eher FB. Schaue dir aber trotzdem SQLite an, da es halt Sperren auf Datensatzebene beherrscht und du auch dann noch arbeiten kannst, wenn der neue AppPool schon Request annimmt, der alte aber das File noch nicht freigegeben hat. (Das wäre im Falle eines Recycle)

@IBExpert
Man kann einiges machen. Aber ich glaube kaum, dass sich da der Aufwand lohnt.
Nicht wenn es einfach nicht nötig ist.

Vettel 22. Aug 2009 10:50

Re: Firebird für Asp.Net und Delphi Prism
 
frag doch mal beim User dmagin nach. Der hat mal ein sehr gutes Admin-Tool für Blackfish geschrieben.
:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz