Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi kommerzielles Datenbanksystem gesucht (https://www.delphipraxis.net/76100-kommerzielles-datenbanksystem-gesucht.html)

IBExpert 30. Aug 2006 10:54

Re: kommerzielles Datenbanksystem gesucht
 
http://www.ibexpert.com/download/udf/freeudflib.zip

da sind die Delphi Quellcodes dabei. Es ist immer einfacher eine funktionierende Bibliothek anzupassen bei 0 anzufangen.

Es sind noch andere Bibliotheken mit C Quellcode dabei:
http://www.ibexpert.com/download/udf/

Was ich mich aber noch frag: wie kann es sein das du irgendwas mit einer Stored procedure nicht sortiert bekommst?
du kannst ja innerhalb der Procedure beliebigen Dateninhalt aus allen möglichen Tabellen zusammenholen und dann
mit select * from storedprocedure order by x,y,z,....
die Ergebnismenge beliebig sortieren.

Gruß
Holger
www.ibexpert.com

IBExpert 30. Aug 2006 11:03

Re: kommerzielles Datenbanksystem gesucht
 
hier auch noch mal der Link zur Original Datei mit dem Multiuser Benchmarkvergleich FB/MySQL
http://tinyurl.com/rjfth

Gruß
Holger
www.ibexpert.com

hanspeter 30. Aug 2006 11:14

Re: kommerzielles Datenbanksystem gesucht
 
Zitat:

Was ich mich aber noch frag: wie kann es sein das du irgendwas mit einer Stored procedure nicht sortiert bekommst?
du kannst ja innerhalb der Procedure beliebigen Dateninhalt aus allen möglichen Tabellen zusammenholen und dann
mit select * from storedprocedure order by x,y,z,....
die Ergebnismenge beliebig sortieren.
Weils einfach zu kompliziert für reines SQL ist. Ich müßte mit dynamischen Arrays oder Listen arbeiten können.

Das ist im Sport.
Mit jedem Ergebnis kommen für einen Starter 5 Teilnoten.
Die ergeben eine Summe.
Jetzt muss eine Durchplazierung erfolgen.
Es wird eine Platzierung für jede Teilnote und dann für die Summe errechnet.
Dabei gibt es noch Besonderheiten wie Abzüge, gleicher Platz bei Punktgleichheit u.s.w.
Mit jedem folgenden Ergebnis ändert sich diese Placierung.
Das ist hier aber wohl OT.

Gruß Peter

Der_Unwissende 30. Aug 2006 11:25

Re: kommerzielles Datenbanksystem gesucht
 
HI,
hab mal die Benchmarkergebnisse nur überflogen, aber kann es sein, dass hier nicht gesagt wird über welche Daten man den Index (soweit möglich) erstellt hat? Also ganz ehrlich, man kann jede DB in ihrer Paradedisziplin mit anderen Vergleichen (da schlägt soweit ich das in Erinnerung habe MySQL auch Oracle um einiges).
Es ist jedoch ohne jegliche Aussage. Ein wenig ummodelieren der Anfrage und gutes Design der Datenbank lässt die Sache schnell mal anders aussehen. Da denke ich sollte man mit Benchmarks vorsichtig sein.

Hier liegt aber wieder einer der Punkte, die die hohen Preise der bekannten Anbieter IBM und Oracle erklären. Diese Systeme haben wirklich gute Anfrageoptimierungen, sehr viele mögliche Verfahren Daten abzulegen, sind sehr gut Skalierbar, ... Das alles kann natürlich auch jede andere DB leisten, aber auch die Großen profitieren nur vom dem KnowHow der Jahre. Es stellen sich hier also verschiedene Fragen:
  • Wie lange wird es Firebird (oder Andere) geben? (Oracle gibt's schon ein Weilchen)
  • Wie wichtig ist dem Kunden ein großer Name (es sind Kunden!)
  • Wie häufig findet man gute Firebird-DB-Designer? (gibt es da eigentlich Zertifizierte oder so?)

Ist nicht gegen Firebird gerichtet, betrifft natürlich auch andere DBMS, nur sehe ich hier Firebird als den mit dem größten Potential (und häufigster Erwähnung). Wenn du einen Kunden hast, der sich recht wenig für den Aufbau und die Optimierung einer DB interessiert, dann sind Namen wie IBM und Oracle schon etwas wert (natürlich auch wenn er Ahnung hat!). Wenn so ein Kunde schon einen Datenbankenspezialisten hat, dann ist der häufig teuer und gut darin ein bestimmtest DBMS zu verwenden. Natürlich kann der auch mit anderen umgehen (sollte er zumindest), aber wenn du hier Fortbildungen bei Oracle bezahlst...
Ok, ein Teil davon wurde ja auch schon erwähnt, ich denke nur den sollte man nicht unter den Tisch fallen lassen. Zudem ist halt auch die Wahrscheinlichkeit höher, dass ein folgendes System dann das DBMS benutzen würde. Hier wäre es dann natürlich von Vorteil, wenn das einfach möglich ist. Und wenn man sich einen Experten zukauft, der wirklich alle DBs optimieren kann, umso besser.

Gruß Der Unwissende

mkinzler 30. Aug 2006 11:26

Re: kommerzielles Datenbanksystem gesucht
 
Also mit ner UDF kriegst du das bestimmt auch nicht hin, da eine UDF im Normalfall auf ein Feldwert angewandt wird.

IBExpert 30. Aug 2006 11:28

Re: kommerzielles Datenbanksystem gesucht
 
Zitat:

Weils einfach zu kompliziert für reines SQL ist. Ich müßte mit dynamischen Arrays oder Listen arbeiten können.
dynamische arrays werden schwierig, aber wenn du das maximum festlegen kannst, dann kannst du auf den Array Datentyp in Firebird nutzen.
ich persönlich nutze den eher selten, weil ich lieber in einer (oder mehrere) Tabelle(n) alle Werte speichere und dann mit der
Stored Procedure mein Regelwerk abklapper. Entweder schiebt die Prozedur das ganze Ergebnis in eine eigene Tabelle oder liefert das
per Suspend selbst zurück. ich habe mal eine Datenbank zur Fußball Ligaverwaltung bekommen, war auch gar nicht so banal wie man das
manchmal denkt (Aufsteiger, Absteiger, Punktgleichheit, Torgleichheit, direkter Vregleich, etc.). War alle in den Prozeduren abgedeckt

Gruß
Holger

mkinzler 30. Aug 2006 11:28

Re: kommerzielles Datenbanksystem gesucht
 
Zitat:

Wie lange wird es Firebird (oder Andere) geben? (Oracle gibt's schon ein Weilchen)
FireBird ist ja eine Weiterentwicklung von InterBase und dies gibt es auch schon ein Weilchen.

mkinzler 30. Aug 2006 11:31

Re: kommerzielles Datenbanksystem gesucht
 
@hanspeter: Ich kenne zwar die genau Struktur deiner DB nicht, würde aber vermuten, das dein Problem eigentlich mit einer SP am besten zu lösen sein müßte. kannt ja mal dei Metadaten und wenn möglich auch eine paar Daten zum Testen und das gewünschte Ergebnis posten ( vielleicht in einen eigenen Thread da sonst OT)

Elvis 30. Aug 2006 12:05

Re: kommerzielles Datenbanksystem gesucht
 
Zitat:

Zitat von hanspeter
Weils einfach zu kompliziert für reines SQL ist. Ich müßte mit dynamischen Arrays oder Listen arbeiten können.

Sortierungen erledige ich fast immer im DAL. Die meisten RDBMS generieren bei Sortierungen wesentlich ineffizientere Ablaufpläne und man erhöht nur unnötig die CPU-Last auf der DB-Maschine.

In .Net frage ich Daten sowieso fast nur noch mit meinem Mini-ORM in der Form ab:
Delphi-Quellcode:
Table<MyClass>.Select(myConnection)
              .Where('SomeProperty', someVariable)
              .OrderBy('SomeProperty, AnotherProperty desc')
              .Execute(someList);
Standardmäßig compiliere und halte ich mir pro Typ und OrderBy String eine dyn. Methode im Speicher, die ich dann zur Sortierung herannehmen kann.
Wenn ich die Sortierung auf ServerSide (also im SQL) setze war es bisher noch jedesmal langsamer. ;)
Und wenn eine Sortierung komplexer als das übliche Order By - blaBla wird, schreibe ich gleiche eine richtige Sortiermethode und lasse die natürlich nicht in der DB laufen....

Bernhard Geyer 30. Aug 2006 12:28

Re: kommerzielles Datenbanksystem gesucht
 
Zitat:

Zitat von IBExpert
Diese Argumentation ist genau diejenige, mit der MySQL versucht, dem Softwarehaus den schwarzen Peter aufzudrücken. Das führt dazu das die meisten Softwarehäuser Pseudomäßig auch andere Datenbanken zu unterstützen, nach dem Motto es läuft zwar nicht benutzbar, aber weil mysql das will muss ich mindestens eine weitere Plattform anbieten.

Kann ich so nicht (für die Firma wo ich arbeite) bestätigen. Unsere SW unterstütz als SQL-Datenbanken MS SQL-Server, MySQL und Oracle (Alle 3 direkt über entsprechende native Zugriffskomponenten) und eine lokale Datenbank. Von den SQL-Servern wird noch am wenigsten eingesetzt. Und keine DBMS liefern wir mit (Datenbank wird auf Knopfdruck per SQL-DDL erzeugt). Und deshalb zahlen wir als Hersteller der SW auch für keines der unterstützen DBMS-Systeme etwas. Ob nun der Kunde sich MySQL so herunterläd und unerlaubterweise so installiert oder den MS SQL-Server trotz nur einer Lizenz 5 mal bei sich im Haus installiert überprüfen wir nicht.

Zitat:

Zitat von IBExpert
Und den Kunden nach irgendwelchen Binaries suchen zu lassen weil man die ohne kommerzielle Lizenz nicht mitliefern darf, finde ich auch ein seltsames Geschäftsmodel. Es sind ja nicht mal mehr alle Binaries auf mysql.com verfügbar.

Stört uns nicht. Es ist nicht unsere Aufgabe als Hersteller der SW dafür zu sorgen das der Kunde auch ein Installations-Exe hat. Es gibt zwar fälle das eine MySQL oder MS SQL-Installation im Rahmen einer Dienstleistung eingerichtet wird. Aber dies ist auch für alle Fälle gleich das uns der Kunde den Installer-Exe/CD/DVD geben muss.

Zitat:

Zitat von IBExpert
das Dokument stammt nicht von mir, ich werde mal schauen wo ich das Originaldokument wiederfinde. in der zwischen sind die teile die ich davon noch habe unter ...

OK. Es sind schon mal einige Fragen beantwortet. Die Hauptfrage was die Performanceprobleme verursacht (die Einstellungen der DB bezüglich Caching, ...) ist aber damit nicht beantwortet. Wichtig wäre zu wissen wie viel Speicher sich die Datenbanken genehmigen dürfen. Bei MySQL gibt es installationen die sind sehr sparsam so das bei großen Datenbanken permanent Dateizugriffe erfolgen müssen weil nicht mal die Indize ins Ram geladen werden können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr.
Seite 3 von 4     123 4      

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