![]() |
Datenbank: ... • Version: ... • Zugriff über: ...
kommerzielles Datenbanksystem gesucht
Hallo Leute,
Vorbereitend auf einen eventuell bevorstehenden Auftrag muss ich mich vorweg über das passende Datenbanksystem informieren. Ich weiß daß diese Fragen oft vorkommen allerdings geht es mir nicht um eine gute kostenlose Datenbank sondern generell um ein DBSystem (also auch teure kommerzielle). Der Preis des Systems spielt dabei vorwiegend keine Rolle, es geht schlichtweg um das passende. Ich höre viel von MySQL und Firebird die sehr gut und kostenlos sein sollen, allerdings wundern mich dann Systeme die mehrere Tausend Euro kosten, ist der Unterschied so gewaltig? Folgende Anforderungen müssen gegeben sein : - min 6 gleichzeitige Anfragen - mehrere Tausend Datensätze pro Tabelle - sehr viele Schreibbefehle verarbeiten - Daten müssen sehr schnell verarbeitet werden trotz großer Datenmengen oder Abfragen - Größe der zu speichernden Daten > 2GB - relational - Linux/Windows lauffähig - vielleicht Medienfelder für Bilder etc. (ist aber nicht zwingend notwendig) - SQL Ich bin wirklich nicht zu faul selbst weiterzusuchen aber ich stehe momentan wie der Ochs vorm Berg und habe nur einen Wald von Daten vor mir die ich nicht alle auf einmal sichten kann. Leider habe ich bisher noch keine Vergleichsmöglichkeit mehrerer Systeme die es mir erlauben würden selbst festzustellen welche Systeme geeigneter wären und bei denen sich ein genauerer Blick lohnen würde. Beispielsweise habe ich von "Filemaker" gehört welches ein sehr schnelles und sehr gutes System sein soll, ist dies zu empfehlen für meine Ansprüche. Gruß Urba |
Re: kommerzielles Datenbanksystem gesucht
Hallo,
Deine Anforderungen erfüllt MySQL schon mal komplett. Ich vermute, Firebird auch, habe das aber noch nie benutzt. Generell sollte jedes halbwegs vernünftige DBS Deine Anforderungen erfüllen, ob kommerziell oder OS. Die Preise der kommerziellen Systeme lassen sich leicht erklären: Erst mal muss die Entwicklung bezahlt werden, die bei OS von Freiwilligen bzw. kostenlos geleistet wird. Außerdem kostet der Support jede Menge. Den kannst Du übrigens auch für MySQL und Firebird kaufen, dann wird es auch schnell teuer. Gruß xaromz |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Also MySQL stellt eigentlich alles von dir geforderte zur Verfügung, wie auch xaromz bereits sagte. Alternativ: MSSQL (Express), Firebird. ![]() Grüße Faux |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Zitat:
|
Re: kommerzielles Datenbanksystem gesucht
Das Thema "welche DB" hängt dabei nicht nur von den von dir beschriebenen Anforderungen ab, die sind meiner Meinung so "moderat" dass fast jedes DBMS verwendet werden könnte. Wichtiger ist dabei auch das "Umfeld". Von wem wird die Datenbank später im Echtbetrieb betreut, supportet, gesichert? Vielleicht von dem Kunden selbst? Wenn ja, welches DBMS Know-How ist dort vorhanden bzw. werden dort schon irgendwelche "Firmenvorgaben" gemacht?
In größeren Unternehmen ist es eben häufig so, dass diese sich auf 1-2 DBMS Systeme eingeschossen haben und auch deren ganze IT-Administration div. Weiterbildungen für die Administration bzw. Backup/Recovery hinter sich haben. Wenn du da ankommst und sagst, du möchtest aber DB XYZ verwenden, dann muss dein "Produkt" schon ziemlich "einzigartig" sein damit die sich auf dein DBMS einlassen werden, oder du musst den Support halt komplett selbst übernehmen. Was aber bei einem Produktiv genutzten System mit mehreren Benutzern nicht zu unterschätzen ist. |
Re: kommerzielles Datenbanksystem gesucht
Wenn die Datenmenge nicht in den Zig-GB-Bereich läuft und du ein gutes Datenmodell wählst + passende Indexe vorhanden sind sollte eigentlich jeder "normaler" SQL-Server deine Anforderungen erfüllen.
Die Anforderung "Lauffähig unter Linux" läßt eigentlich nur einen der großen Anbieter von SQL-Datenbanken herausfallen: MS mit dem MS SQL-Server. Wenn es eine Auftragsarbeit wird: Hast Du schon mal beim Auftraggeber nachgefragt was der schon im Hause einsetzt? Viele Firmen sezten primär auf eine DBMS eines Herstellers und sehen es nicht gern wenn noch ein weiters System eingführt werden soll. Wenn es schon eines gibt brauchst Du dich um dinge wie Verfügbarkeit des Servers oder Backups nicht kümmern da dies normalerweise schon etablierte Prozesse sind und einfach nur auf deine DB ausgeweitet werden müssen. |
Re: kommerzielles Datenbanksystem gesucht
OK vielen Dank erstmal für die vielen Antworten,
Also momentan nutzt der Kunde mit einem anderen Programm (dieses soll dann durch meines ersetzt werden) Filemaker 6 . Allerdings gibt es in dem Zusammenhang noch andere Kunden die teilweise noch keine "eigene" DB nutzen sondern über ein Onlinesystem gehen. Daher wäre MySQL eigentlich nicht allzu falsch, wenn man einfach Windows auf dem Server vorschreibt. Eine Frage bleibt allerdings offe: Was leisten die kommerziellen Systeme wenn mySQL/Firebird etc schon so gut sind? z.B. habe ich bei einem Vergleich schonmal gelesen daß MySQL nur bei Leseaktionen sehr schnell sei, allerdings bei sehr viele Schreibaktionen nicht so schnell wäre. Ebenso bei den gleichzeitigen Zugriffen mehrerer Nutzer? Kann das jemand bestätigen/wiederlegen? Gruß Urba |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Zitat:
|
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Geht es richtig ins "eingemachte" so steht hier Datenbanken wie Oracle, MS SQL-Server oder DB2 an. Aber diese können in den entsprechenden Versionen richtig viel Geld kosten. |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
und wir können Clustern und DB mit bis zu 1 TB haben auch keine Probleme gemacht (nagut wir brauchten 4 Server dafür). |
Re: kommerzielles Datenbanksystem gesucht
zwei sachen solltest du bedenken:
1. MySQL erfordert für nicht GPL Anwendungen immer eine kommerzielle Lizenz. kostet ca 400 Euro pro Server (firebird ist immer kostenlos!) 2. Zum Thema Multiuserperformance ![]() ich weiss das ich nicht wirklich neutral bin, aber das hab ich auch nie behauptet. Ich habe aber schon viele Umsteiger von anderen Datenbanken zu Firebird geschult und hatte bisher noch niemanden dabei, der gesagt hat, das firebird seine Anforderungen nicht erfüllt und deshalb auf ein anderes Produkt umgestellt werden muss. Bevor jetzt Kommentare kommen: ich habe gesagt, das ich mich auf die Leute beziehe, die ich geschult habe! Man kann einiges falsch machen (z.B. Stichwort Transaktionskontrolle, Versionierungsengine) was scheinbar dazu führt, das der Firebird Server immer langsamer wird oder sich trotz großer Datenmenge um eine sinnvolles Datenmodell und optimierte SQLs kümmern, etc. Das sind aber immer Fehler des Programmierers. Die führen bei anderen Datenbanken durchaus auch zu teilweise wesentlich problematischeren Situationen. Darunter übrigens auch kommerzielle Datenbankanbieter, bei denen du nicht mal weisst ob du deren Produkte in ein paar Jahren noch supported bekommst, obwohl du viel geld bezahlt hast und noch viel mehr arbeit in deine eigene Programmierung investiert hast. Gruß Holger ![]() |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Mit richtig viel Geld meinte ich beträge im 5-Stelligen Bereich oder mehr. 400 € ist (jedenfalls für den Bereich wo unser System eingesetzt wird) keine Diskussionswürtiger Betrag. Zitat:
@IBExpert: zu 1: Jein. Wenn eine Anwendung nicht nur für MySQL funktioniert bzw. ich von MySQL nichts verwende (auch nicht mehr die libmysql.dll) sondern direkt auf die DB zugreife brauch ich als SW-Entwickler mich nicht um Lizenzen zu kümmern. Ob der Kunde es muss, muss er selbst abklären. zu 2: Hier fehlen mir wichtige Angaben um die Aussagekraft der Diagramme belegen. Jede Statistik kann man ja sohin Optimieren das das Gewünschte Ergebnis herauskommt. Fehlende Infos wären: - Eingesetzte Versionen - Datenmodell + Datenvolumen - Konfigurationseinstellungen Datenbanken (Hier kann MySQL bei fehlender richtigen Einstellungen und größeren Datenbanken ziemlich in die Knie gehen). - Testcode (hier ist z.B. der Zugriffsweg relevant ob er z.B. bei MySQL unnötigerweise über ODBC geht). |
Re: kommerzielles Datenbanksystem gesucht
Cross-plattform, Datenintegrität, Performance und nicht unbedingt kostenlos?
Oracle, Sybase, DB² Wenn es nicht am Geld liegt würde ich immer so Oracle greifen, macht das Leben um einiges einfacher und schneller ist so schnell kein anderer. (wobei alle drei genannten durchaus die best-of-breed von aktuellen RDBM Systemen bilden.) Oracles Vorteile gegenüber den 2 anderen sind (meiner bescheidenen Meinung nach) PL/SQL, OCI und Tools wie der PL/SQL Developer[1]. Oracles Nachteile dürften wohl der exorbitante Preis und Tolls aus dem Hause Oracle sein ( :kotz: ). [1]nix gegen euer Tool Holger, aber es könnte IBExpert nix schaden sich ein wenig mehr vom PL/SQL Dev abzuschielen was den Code Editor angeht. :zwinker: |
Re: kommerzielles Datenbanksystem gesucht
Ich habe eigentlich mit Firebird nur gute Erfahrungen gemacht und dieses System sollte den gestellten Ansprüchen
mehr als gewachsen sein. Man muß allerdings ein paar Randbedingungen beachten. Einmal bringt Delphi von Haus aus ein etwas verkorkstes Datenmodell mit. Bei der Neukonzeption eines Projektes tut man gut daran Datenbereitstellung und Verarbeitung zu trennen. Ein TTable ist denkbar ungeeignet. Ich gehe so vor, dass ich den zu bearbeitenden Datenbestand in den Speicher lade. Hier beliebig lange bearbeiten kann und dann in einem Zug wieder zurückschreibe. Nur so habe ich die Transactionssteuerung kontrolliert in der Hand. Firebird verhält sich ein bischen zickig bei einer instabilen Netzverbindung. (Im WLAN ist ein verlorener Connect etwas schwierig zu behandeln.) Wenn man für den Zugriff native Komponenten verwendet, ist eine deutliche Performance Steigerung möglich. Ich selbst verwende IBObjects traditionsbedingt würde heute aber wohl eher ZEOS oder dbexpress mit nativen Treiber wählen. Was für den MS SQL Server spricht, ist die Möglichkeit User definierte Funktionen in C# zu declarieren. In Firbird benötige ich dazu ein Standard C. Das ist um einiges umständlicher. Gruß Peter |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
|
Re: kommerzielles Datenbanksystem gesucht
>zu 1: Jein. Wenn eine Anwendung nicht nur für MySQL funktioniert bzw. ich von MySQL nichts verwende (auch nicht mehr die libmysql.dll) sondern direkt auf die DB zugreife brauch ich als SW-Entwickler mich nicht um Lizenzen zu kümmern. Ob der Kunde es muss, muss er selbst abklären.
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. Wann beginnt MySQL denn wohl mal das auch zu prüfen? einfach mal Software auf Basis der anderen Datenbank installieren. Wenn Fehler auftauchen, kann man da ja argumentieren, das das nie wirklich unterstützt wurde. Immerhin können die in ihren NON-GPL Lizenzen bestimmen was die wollen. Un 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. Nun denn, ich will nicht zu sehr in Details gehen, ich hab mich in den vergangenen Wochen mit den MySQL Lizenzen auf Anfrage eines Kunden intensiv beschäftigt und deine Argumentation ist zwar korrekt, trifft aber nur auf die absolute Minderheit der MySQL Anwender und davon abhängiger Softwarehäuser zu. Die meisten nutzen das einfach so wie es installiert ist mit allem drum und dran. mySQL toleriert das, jedenfalls noch. Ich würde mich nicht drauf verlassen, von irgendjemandem müssen die sich das ganze Geld zurückholen, was die als Venturecapital im 8-9 stelligen Millionenbereich im Jahr ausgeben. Von GPL Open Source Kunden bekommen die kein Geld, also bleiben die nicht GPL Kunden übrig. und der Datenbankmarkt wird auch im Open Source Umfeld härter, weil Firebird und Postgresql wirklich kostenlos sind. >zu 2: Hier fehlen mir wichtige Angaben um die Aussagekraft der Diagramme belegen. Jede Statistik kann man ja sohin Optimieren das das Gewünschte Ergebnis herauskommt. 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 ![]() ![]() ..... ![]() hochgeladen. Gruß Holger ![]() |
Re: kommerzielles Datenbanksystem gesucht
> nix gegen euer Tool Holger, aber es könnte IBExpert nix schaden sich ein wenig mehr vom PL/SQL Dev abzuschielen was den Code Editor angeht. Zwinkern
was denn konkret? Immer her mit Vorschlägen Gruß Holger ![]() |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Ich benutze selbst privat fast ausschließlich Firebird und dort selbstverständlich IBExpert. Ich würde mich freuen wenn ich irgendwo ein paar Ideen "ablassen" könnte. :) Nur Meckern kann ja jeder... :zwinker: |
Re: kommerzielles Datenbanksystem gesucht
|
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Das habe ich noch nicht gewusst. Alle Userlib Beispiele, welche ich mir angesehen habe, waren in C realisiert. Ich habe einen Sortiervorgang, der immer mehrere Datenbankabfragen in Abhängigkeit betrachten muss, in einer stored Procedure nicht realisieren können. Hier denke ich über ein Usermodul nach. Gruß Peter |
Re: kommerzielles Datenbanksystem gesucht
![]() 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: ![]() 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 ![]() |
Re: kommerzielles Datenbanksystem gesucht
hier auch noch mal der Link zur Original Datei mit dem Multiuser Benchmarkvergleich FB/MySQL
![]() Gruß Holger ![]() |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
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 |
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:
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 |
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.
|
Re: kommerzielles Datenbanksystem gesucht
Zitat:
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 |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
|
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)
|
Re: kommerzielles Datenbanksystem gesucht
Zitat:
In .Net frage ich Daten sowieso fast nur noch mit meinem Mini-ORM in der Form ab:
Delphi-Quellcode:
Standardmäßig compiliere und halte ich mir pro Typ und OrderBy String eine dyn. Methode im Speicher, die ich dann zur Sortierung herannehmen kann.
Table<MyClass>.Select(myConnection)
.Where('SomeProperty', someVariable) .OrderBy('SomeProperty, AnotherProperty desc') .Execute(someList); 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.... |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Zitat:
Zitat:
|
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Das Problem ist das das Update in die Datenbank teilweise zu lange dauert, da ich immer das Ergebnis des gesamten Feldes zurück schreiben muss. Bei einer WLan Verbindung hat die Parabolantenne vom Fernsehen mal gerade alles zugestopft. Oder ich greife über ein Tunnelprotokoll und ISDN Router auf den Server zu. Es liegen manchmal bis zu 2 km temporär installiertes Netzwerk zwischen den Punkten. Vor Ort muss ich immer sofort sortieren, da das Ergebnis sofort auf die Großanzeigen und den Schriftgenerator des Fernsehens geht und praktisch zeitgleich dargestellt werden muß. Danach übertrage ich die neue Rangierung auf den Server. Da kann es bis 10 bis 30 sec dauern, ehe ein Ergebnis inklusive Kontrollen verarbeitet ist. Ich bin jetzt dabei ein Protokoll mit lokaler Serverspiegelung aufzubauen. Damit läuft die Datenerfassung vor Ort schnell und sicher. Ein Tool soll im Hintergrund die Replikation (lese Ergebnisse aus Datenbank A und übertrage diese in die Serverdatenbank) unabhängig durchführen. Meine Überlegung ist nun, nur das eine Ergebnis zu übertragen und die Sortierung auf der Serverseite nochmals vorzunehmen. Vom Server wird das laufende Ergebnis dann zur Presse,Internet und Anzeigen weitergeleitet. Nebenbei bemerkt gibt es eine Vielzahl von unterschiedlichsten Sortierungen und wenn den Funktionären was neues einfällt... Ich meine das ist insofern nicht OT, da das alles mit Firebird realisiert ist und Firebird nicht einmal in die Nähe seiner Grenzen gelangt und ich von der Stabilität und Geschwindigkeit des Firebird Servers immer noch begeistert bin. Mit anderen Datenbanken hatte ich bei unsicheren Netzverbindungen wesentlich größere Probleme. MySQL hatte ich probiert. Damals gab es jedoch Probleme mit den (damals) nicht vorhandenen Transactionen. Ein File gestütztes System (vor Urzeiten Paradox und dann MS Access) waren schlichtweg nicht geeignet und jeder Aussetzer im Netzwerk eine Katastrophe. Aus Urzeiten des Interbaseservers gibt es ja noch die Anektote das dieser im Leitsystem eines amerikanischen Panzers eingebaut ist. Beim Abfeuern der Kanone setzt immer das Bordnetz aus und dieser Server ist komplett selbstständig restartfähig. Gruß Peter |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Zitat:
Zitat:
der damals schon ca 10 Jahre, also seit 1973) als für DEC gearbeitet und war für deren Datenbank RDB verantwortlich) Larry Ellison hat die Firma Oracle 1977 gegründet, aber auf jeden Fall deutlich besseres Marketing gemacht für sein zugegeben gutes Produkt. Zitat:
Die Argumentation gegen Open Source war auch manchmal sehr seltsam, so mussten wir ein sehr großes deutsches Telekom-munikationsunternehmen erst überzeugen das die komplette Umstellung eines Rechenzentrums von Windows auf Linux ja auch auf Open Source basiert. Die ursprüngliche Aussage uns gegenüber "Wir dürfen keine Open Source Software einsetzen" war damit immerhin widerlegt. Zitat:
Zitat:
Natürlich kann man auch oracle etc so konfigurieren, das das relativ wartungsfrei läuft, aber warum macht das dann keiner? Warum kann man das nicht out of a box installieren und muss nichts dran rumschrauben, damit es wartungsfrei läuft. Bei Firebird kommt es nur dann zu Problemen wenn die Festplatte voll ist oder der Programmierer typische Programmierfehler gemacht hat, aber das Problem hat wohl jede Datenbank. und aufgrund interner Kompression ist eine Firebird DB meist eh kleiner als die Datenbanken anderen Hersteller bei gleichem Nettodatenbestand. Solange das Betriebssystem noch Platz auf einem Datenträger frei hat, braucht man nicht eingreifen (mal von ganz seltenen Dinge wie das Erreich von 1,3 Mrd Transaktion, bei dem ein Backup/Restore zwingend erforderlich wird). Gruß Holger |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Ohne das genauer zu beleuchten kann man immer noch an diversen Schrauben drehen, es gibt auch bei firebird nicht nur cache buffers, sondern auch sort memory, sort block size etc. Es geht auch nicht immer darum ob dies oder das die beste Plattform ist, sondern ob man mit dem eigenen Businessmodell und den eigenen Programmierwerkzeugen und Kenntnissen etwas konkurrenzfähiges auf die Beine stellen kann. Aus meiner Sicht ist eine plattformübergreifende Implementation aber immer schwieriger, insbesondere wenn es um große Datenmengen geht. Wenn man weiss das externe Appserver zum Beispiel ca maximal 2000 bis 3000 Datensätze pro Sekunde verarbeiten können, intern jedoch in Stored Procedures auf gleicher Hardware durchaus Werte von 50000 möglich sind (zumindest bei Firebird), spricht schon so manches dafür, sich auf wenige plattformen festzulegen. Plattformübergreifend kann man nur das nutzen was alle können. Das ist immer ein Kompromiss und der geht fast immer zu Lasten der Performance. Gruß Holger |
Re: kommerzielles Datenbanksystem gesucht
Hi Holger,
in Versionen <10 waren die Defaults schon fast absichtlich so getrimmt, dass sie ein admin ändern musste. Nicht unbedingt total dämlich, da selbst ein 10G mit "smart defaults" nichtmal 20% der Leistung haben *kann*, die ein vernünftiges Setup haben kann. Wer mehrere Tausend Euronen für ene RDMS Lizenz ausgibt wird sicherlich auch noch etwas in der Portokasse haben um sich ein schniekes NAS zuzulegen, um dort Tablespaces so auf unterschiedlichere Arrays zu verteilen, dass die Datenbank einzelne Phasen oder Teilmengen eines Statements parrallel ausführen kann. (mehrere Prozis/Server wollen ja genutzt werden und die Suche im Index soll ja das Ausgeben der selektierten Daten nicht bremsen, right? ) Eine Ora DB die ihre Temp spaces überstopft ist entweder komplett dämlich aufgesetzt oder die Daten wurden "unschlau" eingefügt. Oracle kennt nunmal DiretPathLoading, welches an der SQL Engine vorbei operieren kann um sehr große Datenmengen in einem Bruchteil der Zeit reinzuschieben. Ich bin immer noch der Meinung, dass Ora momentan die Krönung der Schöpfung im RDMS Segment ist. Aber neben den Anschaffungskosten darf man die nötige Hardwarekosten nicht unterschätzen (ebenso wie das Geld für denjenigen, der sie für dich installiert :zwinker: ) Firebird ist nicht wirklich schlecht. Es ist eigentlich sogar absolut fantastisch als embedded Briefcase RDMS. Aber ehrlich gesagt habe ich mit FB schon zu oft eine korrupte Datenbank Datei erlebt, die Tatsache, dass man die GC sweeps manuell anschubsen muss oder Transaktionen, die irgendwo im Nirwana laufen und Tabllen sperren, obwohl die dazugehörige Connection längst tot ist. Ich habe sowas nicht ein einziges Mal mit Oracle erlebt, noch nichtmal davon gehört. ;) Eine hochverfügbare DB würde ich nicht mit FB realisieren wollen, aber für alles darunter ist es sicherlich exzellent. Außerdem ist FB wahrscheinlich die optimale Wahl wenn AppServer und DB Server die gleiche Maschine sind: der Overhead eines FB servers im Idle-Mode ist praktisch null :!: Ein Oracle, DB2, whatsoever frisst sich immer die max. Speichermenge, die du ihm zusicherst um sofort sprungbereit zu sein. Deshalb sind solche großen RDBMS absolut uneffizient, wenn sie nicht ihre eigene Maschine(n) haben. |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Garbage Collection läuft übrigens stets im Hintergrund mit ohne das man irgendwas anwerfen muss. Selbst das Sweep Interval ist nur dafür da, das auch Tabellen und Indices verwurstet werden, die eben nicht durch sonstige Clients im Rahmen von SQL Befehlen angepackt werden. Komplette Tabellen habe ich noch nie gesperrt gesehen, ist auch nicht so einfach wegen der Multigenerationsarchitektur. Sperren von toten clients gab es insbesondere beim classic server mal, aber da hat man wohl gerade die ursache gefunden, warum das im Netzwerkprotokoll nicht als toter client erkannt wurde. Meistens sind die angeblich toten Verbindungen, die die Garbage Collection blockieren, aber gar nicht tot, sondern durch unwissenheit eines Programmierers oder admins entstanden. Bezgl. Garbage Collection: Einfach mal eine Tabelle anlegenn, 100000 Datensätze einspielen, committen, alle datensätze löschen und committen. beim ersten select auf dieser Tabelle kann man in IBExpert den Wert für die Fetches ablesen, das heisst wieviele Recordversionen wurden abgefragt um das Ergebnis zu erstellen. Man sieht beim ersten sql trotz lerrer Ergebnismenge ca. 200000 fetches (2 Version, 1. originalsatz, 2. gelöschte Version). wenn man innerhalb weniger Sekunden das noch mal macht sieht man ca 100000, beim nächsten mal ca 50000 , dann einen Wert nahe 20. durch den Commit beim Löschen macht firebird noch nichts, aber sobald die nächste Transaktion einen der betroffenen Sätze fetcht, wird die dazugehörige Page an den Garbagecollectorthread übergeben und der kümmert sich dann asynchron darum. Und für die tabellen, die nie gefetcht werden ist das Sweep Interval dabei oder der sweep per Kommandozeile. Das gilt übrigens nicht nur für datenpages, sondern auch für Indizes. unabhängig davon: Oracle ist ganz sicher technischer Marktführer bei den Datenbanken, aber das ist mal Boeing und mal Airbus bei Flugzeugen auch, aber nicht für jeden Zweck bieten die passende Flugzeuge an. In Deutschland gibt es ca 350 Flugplätze, Boeing Maschinen können davon auf maximal 50 landen. Alle anderen sind aber sehr gut anfliegbar mit Cessna, Piper und was da sonst noch so angeboten wird. Und diese können auch auf den großen Airports landen. Nun gut, auch die dicken Flieger können auf den Graspisten landen, aber ob das was dann davon übrig bleibt noch startfähig ist, sei mal dahin gestellt. ich nehm mal ein ganz banales Beispiel eines Kunden, dessen Software Apothekenlogistik automatisiert. Deren Kunden interessiert nur die Gesamtinvestition und die Stabilität der Gesamtanlage und wie schnell die Dateneingabe, die Verarbeitung, die Anbindung an die POS, die Ausgabe von Reports, etc. ist. Wenn der vom Betrag x nun noch Oracle Serverlizenzen kaufen muss und passende Raidsysteme etc. in die Hardware einplanen muss, ist sein Ertrag für den Hersteller einfach niedriger, weil es dem Kunden einfach egal ist. Anteilig an der Gesamtinvestition kann man da zwar sagen, das das auch nicht mehr viel ausmacht, aber bei so manchem Projekt sind die Nettoerträge trotz großer Projektsummen gar nicht so doll wie man denkt, insbesondere wenn man viele Module selbst einkaufen muss. und wenn die Kiste nicht läuft ist der Hersteller des Gesamtsystems verantwortlich. Ob der nun irgendwelche Tempspaces anpassen muss oder was anderes, was ein unfähiger Admin verbrochen hat, ist dem Kunden egal. Bei der Apothekenlösung hat sich Firebird bewährt, nach anfänglichen Programmierfehlern haben die aufgrund meiner Schulungen und Hinweise Ihre Technik scheinbar im Griff udn nutzen seitdem auch unsere Hotline immer weniger. ich will eigentlich nur deutlich machen, das nicht immer die eine Lösung das allein selig Machende ist. Bestimmt gibt es Anforderungen, bei denen man mit Oracle die beste Lösung gewählt hat. Aber wie du schon sagst, ähnlich wie beim Flieger muss die Investition immer zum Anwendungszweck passen. Wenn ich von Oldenburg nach Sylt will brauch ein kleiner Flieger ca eine Stunde, es geht auch mit dem Auto in ca 5 Stunden oder mit dem Linienflieger ab Hamburg oder Hannover, wenn denn das gerade einer abfliegt und ich muss da auch erst mal hinkommen. Bei der dpa hatte man zum Beispiel Bauchschmerzen mit dem Oracle Server auf Laptops, insbesondere weil die Software weltweit im Einsatz ist und viele von den Redakteuren auch offline arbeiten müssen, teilweise auf sehr rustikaler Hardware mit wenig Speicher und wenig festplatte, die man aber mal nicht so eben austauschen kann. Weiterhin war wichtig was passiert nach einem Stromausfall (auf Laptoiops nicht unüblich). Für die Gesamtsoftware war eine Embedded Installation Pflicht, also nur Return drücken und nicht irgendwelche Fragen nach irgendwelches spaces oder sonstwas beantworten. Wenn der Rechner getauscht wird wegen defekt soll es möglichst einfach sein, die db zu übertragen. Das hat Firebird alles geleistet und man hat sich dafür entschieden. Ich würde aus heutiger Sicht sogar behaupt, das Firebird in Bezug auf die Anzahl installierter Server einen recht hohen Marktanteil hat, weil viele Leute gar nicht wissen, das man den Firebird Server im Hintergrund laufen hat. warum auch? wenn man trotz laufendem Datenbank. bei Oracle sind übrigens auch Wartungsverträge und Supportangebote recht teuer und wenn man dafür einen kompletten Tagessatz eines Spezialisten bezahlen soll, wenn sich ein Oracle Mitarbeiter (war in wirklichkeit seit 2 Wochen mit dem Studium fertig) beim Kunden per Telefon durchsprechen lassen muss, um auch nur annähernd die mitgelieferten Tools zu bedienen, dann macht das nicht nur mir persönlich bekannte Kunden wütend. Das der Kunde den wegen unfähigkeit nach Hause geschickt hat, hat dazu geführt das der nächste Oracle Mitarbeiter dann erst 4 Wochen später kam. Ich weiss nicht worum es genau ging, aber der EDV Leiter bei dem Laden hat nicht nur in diesem Fall schlechte Erfahrungen mit Oracle gemacht, aber weil deren kaufmännische Software Oracle war, auf Oracle lief und wir für die Produktionsdaten da ran mussten, war es wichtig, das dort irgendwas eingestellt wurde, damit unsere Datenabfragen überhaupt in akzeptabler Geschwindigkeit liefen. Nun denn, etwas ähnliches kann mit jeder anderen Plattform auch passieren, aber die Anzahl der möglichen Ansprechpartner war aufgrund des Wartungsvertrags sehr begrenzt. Leute die was taugen sind insbesondere im Oracle Umfeld sehr teuer, dann aber auch oft Ihr Geld wert. Es gibt aber auch da sehr viele mit einem gesunden Halbwissen und wie man weiss ist der Einäugige unter den Blinden der König. das führt eben oft dazu, das man für immer noch viel Geld auf Leute trifft, die von der ganzen Materie nur begrenzt Ahnung haben und oft mehr kaputt machen als helfen. Die Know How Entwicklung und Verfügbarkeit im Bereich Open Source Datenbanken entwickelt sich aus meiner Sicht immer noch sehr gut weiter. Wenn ein Kunden konkrete Probleme mit dem optimierer in Firebird hat und ich dann per EMail mit Arno Brinkman kommunizieren kann, der den Optimierer entwickelt, dann ist das sicher produktiver auch für meinen Kunden, der oft gar nicht formulieren kann, welches problem das ist und wie man es reproduzieren kann. Die hohen Preise bei Oracle kommen natürlich auch durch di eteuren Hobbies von Herrn Ellison zu stande, aber das sei ihm gegönnt. Ähnlich wie Bill Gates kann er nicht alles falsch gemacht haben in seinem Leben :-) Gruß Holger |
Re: kommerzielles Datenbanksystem gesucht
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: kommerzielles Datenbanksystem gesucht
Uff... :shock:
@IBExpert: Könntest du bitte ![]() |
Re: kommerzielles Datenbanksystem gesucht
ich hab die gleich durch den link ersetzt. meine Auflösung hier ist 1920*1200, da merkt man das manachmal nicht :shock:
|
Re: kommerzielles Datenbanksystem gesucht
Hallo Leute,
Da habe ich ja eine recht heftige Diskussion losgetreten :-D aber das war wirklich sehr informativ. Die Gespräche über MySQL und Firebird lassen mich daher bisher sehr in diese Richtung gehen. Solange man in einem "kleineren" Bereich bleibt scheinen diese beiden wohl keinen schwerwiegenden Unterschied erkennen, allerdings auch durch den Benchmark etwas beeindruckt scheint es so als ob Firebird mit größeren Abfragen, Anpassungen u.ä. zeitlich besser zurechtkommt, oder kommt mir das jetzt nur so vor. Wenn ich die Geschichte(n) der DPA durchlese muss ich schon sagen daß mich das sehr beeindruckt hat. Wie sieht es denn mit den Installationen/Einstellungen der beiden Systeme aus, müssen dabei viele "schrauben" gedreht werden damit das System optimal läuft und ist dies auch "komfortabel" einstellbar? Eine weitere Frage wäre folgende : Kann ich dem Kunden nicht einfach freistellen welches DBSystem er nutzt. Einfach mal angenommen ich habe 3 Server und auf denen ist jeweils ein DBMS installiert und jeweils meine Masteranwendung die die Verbindung für die Clients offen hält. Ich werde ja nur mit SQL arbeiten und alle drei Systeme verstehen diese Sprache. Ist es nicht so daß im Masterprogramm eigentlich nichts zu ändern ist, abgesehen jetzt von IP usw. Sprich ich kann drei mal eigentlich die gleiche Software nutzen. Es kommt dann nur noch auf die Einstellung/Anpassung des DBMS-Systems an wie schnell meine Anfragen durchgehen etc. Sehe ich da nun vollkommen falsch? Wenn ja wie könnte ich es auslegen daß das Programm mehrere verschiedene Systeme nutzen kann? Gruß Urba |
Re: kommerzielles Datenbanksystem gesucht
Hallo zusammen,
auch von mir noch ein kurzer Kommentar - habe aber nicht den gesamten Thread (3 Seiten) gelesen, sondern nur mal kurz überflogen. Falls ich also was doppelt schreibe nix für ungut. Grundsätzlich haben alle der genannten DBMS in bestimmten Bereichen Stärken und Schwächen. Eine pauschale Aussage wie "Oracle bei > 50TB" ist dabei nicht unbedingt richtig. Die vom Ursprungsposter genannten Anforderungen lassen aber auch noch keine wirkliche Entscheidung zu, da sie - wie bereits mehrfach angesprochen - so allgemein und *simpel* sind, dass jedes echte RDBMS sie erfüllen dürfte. Ich weiss, dass diese Aussage nun auch nicht unbedingt weiter hilft. Daher ein paar Links mit "vergleichenden Informationen": 1. Artikel bei Heise Open, zum Thema "Freie Datenbanken im Unternehmenseinsatz - Analyse und Vergleich der wichtigsten Open-Source-Datenbanken" ![]() ![]() Dann gab es in der Ausgabe 08/2006 des Linux Magazins einen Vergleich von Datenbanksystemen (Titelthema). Zusätzlich war dort auch ein Artikel zur Verwaltung sehr großer Datensatzmengen mit Informix zu lesen. Die Inhaltsübersicht der Ausgabe Linux Magazin 08/2006 ist unter dem Link ![]() ![]() Der Artikel zu Informix ist wirklich lesenswert :-) Das Heft kann man da auch nachbestellen (denke ich). Da es aber noch nicht soo alt ist könnte es durchaus auch noch bei einigen Händlern rumliegen. Ich hoffe das hilft etwas weiter. Viele Grüße, Eike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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