oracle vs mysql
mike
- datenbank
0 Odium0 Michael N.0 Sebastian Becker0 Mulder0 Gero Takke0 Mulder
0 Michael Schröpl
Hier ist immer die Rede von mysql.. hat jemand erfahrung mit oracle zusammen mit php? was sind die vor- und nachteile?
Hallo,
direkte Erfahrungswerte kann ich dir leider nicht sagen. Nur soviel,
Oracle ist ein DBMS mit dem normalerweise Datenbanken mit x-vielen Einträgen gehalten werden (bis zu Millionen). Also ein richtiges PowerHouse. Eine Verbindung per PHP ist wahrscheinlich möglich.
MySql befriedigt dagegen die mittleren Ansprüche von Datenbanknutzungsinteressenten.
Odium
Hallo Odium,
direkte Erfahrungswerte kann ich dir leider nicht sagen. Nur soviel,
Oracle ist ein DBMS mit dem normalerweise Datenbanken mit x-vielen Einträgen gehalten werden (bis zu Millionen). Also ein richtiges PowerHouse. Eine Verbindung per PHP ist wahrscheinlich möglich.
MySql befriedigt dagegen die mittleren Ansprüche von Datenbanknutzungsinteressenten.
Ein wenig muß ich Dir, aus meiner Sicht wiedersprechen (Ich habe beruflich sehr viel mit Datenbanken zu tun). Wenn ich verschiedene RDBMS klassifizieren soll nach z.B. Fahrzeugklassen, dann komme ich eher zu folgender Einteilung:
DB2 --> Schwersttransporter für Sonderfahrten (ohne Performanceproblem auch mal so eben 42 Mio Datensätze)
Oracle --> Schwerer LKW mit Hänger
SQL-Server --> Mittelschwerer LKW
MYSQL --> 7,5 Tonner
MS-Access --> Kombi der Mittelklasse
Excel[1] --> MicroCar (Smart, KA, Austin Mini, Lupo etc.)
Bei den Plattformunabhängigen Produkten ist die Performance und die Kapazität natürlich auch von der verwendeten Hardware abhängig.
[1] Manche Anwender mißbrauchen die Tabellenkalkulation Excel für kleinste Datenbankanwendungen.
Markennamen von Software-Produkten wurden hier genannt um das betreffende Produkt zu benennen, andere Markennamen wurden verwendet, um einen Vergleich auf das Alltagsleben zu reflektieren. Sämtliche aufgezählte Markennamen sind nicht im Sinne einer Werbung verwandt worden.
Grüße aus Köln.
Bis denndann
Michael N.
Hallo,
manchmal macht aber auch mySQL das Rennen ...
http://www.moskalyuk.com/download/benchmarking_loaders.doc
http://www.mysql.com/information/benchmarks.html
http://www.eweek.com/article/0,3658,s=708&a=23115,00.asp
http://callista.free.fr/php_oracle/stress/stresser.html
http://www.geocrawler.com/mail/thread.php3?subject=Oracle+vs+MySQL+contest&list=8
Grüße,
Sebastian
Hallo,
manchmal macht aber auch mySQL das Rennen ...
Naja, aber die Geschwindigkeit alleine ist's ja auch nicht. Ein modernes DBMS ist nun mal viel mehr als nur ein schneller Datenspeicher.
Da fällt mir der alte Spruch der VMS-Freunde ein:
'Sure, the Unix file system corrupts your files, but look how fast it is!' [1];-)
Grüße
Klaus
[1] mehr davon u.a unter http://www.levitte.org/~ava/vms_jokes.htmlx
direkte Erfahrungswerte kann ich dir leider nicht sagen. Nur soviel,
Oracle ist ein DBMS mit dem normalerweise Datenbanken mit x-vielen Einträgen gehalten werden (bis zu Millionen). Also ein richtiges PowerHouse. Eine Verbindung per PHP ist wahrscheinlich möglich.
PHP<->Oracle geht (über die php_oci8.dll), allerdings nicht 100%ig stabil. Wir setzen das bei zwei Großprojekten ein (PHP 4.0.6, Oracle 8.1.7, IIS 5.0, Win2K Advanced), haben aber ab und an Connect-Fehler (die bei Reload der Seite verschwinden).
Nächste Woche teste ich mal die 4.1.2 mit dem IIS und die 4.2.0 mit dem Apache 2.0 und poste mal, was sich so ergibt.
Zur Theorie: Oracle-Admin ist komplex (von Dingen wie Backup-Strategien mal ganz zu schweigen), und "richtige" DBA's lassen sich ihre Fähigkeiten sehr teuer bezahlen.
Ne perfekte Oberfläche gibt es nicht; ich nutze meist DBA Studio für die Struktur und Toad für Datenmanipulationen und PL/SQL.
Moin,
PHP<->Oracle geht (über die php_oci8.dll), allerdings nicht 100%ig stabil. Wir setzen das bei zwei Großprojekten ein (PHP 4.0.6, Oracle 8.1.7, IIS 5.0, Win2K Advanced), haben aber ab und an Connect-Fehler (die bei Reload der Seite verschwinden).
Anhand des Dateinamens nehme ich an, dass ihr PHP unter Windows benutzt. Ich glaube nicht, dass es diese Stabilitaetsprobleme auch unter *nix gibt. Ich habe gelesen, dass irgendein Linux-Support-Unternehmen die angeblich zweitumfangreichste Datenbank der Welt (jaja, Statistiken..) auf Oracle ausschliesslich ueber PHP anspricht. Linuxcare glaube ich, war das. Auf jeden Fall hab ich das in einem Interview im Linux-Magazin gelesen, ist aber bestimmt schon ein halbes Jahr her.
Ich selbst habe aber in Oracle nur extremst geringe Erfahrungen, und mit Oracle->PHP ueberhaupt keine.
Gruesse,
Gero
PHP<->Oracle geht (über die php_oci8.dll), allerdings nicht 100%ig stabil. Wir setzen das bei zwei Großprojekten ein (PHP 4.0.6, Oracle 8.1.7, IIS 5.0, Win2K Advanced), haben aber ab und an Connect-Fehler (die bei Reload der Seite verschwinden).
Anhand des Dateinamens nehme ich an, dass ihr PHP unter Windows benutzt.
Jupp. Ich schribb ja auch "Win2K Advanced". Nur die Oracle läuft unter Solaris. :)
»»Ich glaube nicht, dass es diese Stabilitaetsprobleme auch unter *nix gibt. Ich habe gelesen, dass irgendein Linux-Support-
Bei kleineren Projekten haben wir auch die Kombi Linux|Solaris/Apache/PHP/Oracle, läuft wunderbar. Die Großprojekte sind aus historischen Gründen aber Hybriden, d.h. es laufen Teile noch unter Cold Fusion, was auf Unixen nicht so wirklich stabil ist (jedenfalls weniger als PHP unter Win :).
»»Ich habe gelesen, dass irgendein Linux-Support-Unternehmen die angeblich zweitumfangreichste Datenbank der Welt
Das Stabilitätsproblem hat nach meiner Erfahrung nix mit Serverlast zu tun. Das hab ich sogar auf unserem Staging-Server, wo nur 2 Leute drauf arbeiten.
Hi,
Hier ist immer die Rede von mysql.. hat jemand
erfahrung mit oracle
Ja.
zusammen mit php?
Nein.
was sind die vor- und nachteile?
Es ist _anders_. Ob das ein Vor- oder Nachteil ist, hängt von Deiner Aufgabenstellung ab. Ich habe beide Datenbanken beruflich eingesetzt, und beide haben ihre speziellen Stärken.
Das Problem bei einem Vergleich ist, daß mySQL selbst wiederum eine Fülle verschiedenster Tabellentreiber umfaßt. Oracle dagegen hat meines Wissens nur einen einzigen solchen Tabellentreiber.
Wenn Du Dich in mySQL halbwegs auskennst, dann lies Dich mal in die transaktionssicheren Tabellentreiber (BDB, InnoDB) ein und lerne, die Unterschiede zwischen diesen und den 'einfachen' Tabellentreibern (z. B. myISAM) zu verstehen (Transaktionen, constraints, trigger, stored procedures, Tablespaces, ...). Das alleine ist schon ein Sprung in eine andere Welt - nämlich in die Welt der intelligenten Tabellen.
Es ist ein erheblicher Unterschied, ob Du in jeder neuen Anwendung wieder alle möglichen Konsistenzprüfungen für eine Vielzahl von Tabellen codieren mußt (und das auch mal vergessen kannst), oder ob eine Tabelle selbst ihre Konsistenz prüfen und anwendungs-semantisch illegale Operationen zurückweisen oder in konsistente Anwendungen umwandeln kann (cascading delete usw.).
Der Unterschied zwischen InnoDB und Oracle ist m. E. nicht groß - beides fühlt sich zumindest ziemlich ähnlich an, sowohl syntaktisch als auch semantisch.
Eine Anwendung, die unter Oracle entwickelt wurde, würde man in mySQL wahrscheinlich mit InnoDB-Tabellen relativ gut nachbauen können, während mir das mit myISAM-Tabellen völlig hoffnungslos erscheint. Umgekehrt würde eine mySQL-Anwendung sich genau dann ziemlich mühelos nach Oracle portieren lassen, wenn sie keinerlei proprietäre mySQL-Erfindungen, sondern ausschließlich Standard-SQL verwenden würde.
Also: Wenn Du ein Problem hast, das in mySQL den Einsatz der transaktionssicheren Tabellentreiber erfordert, dann ist Oracle (falls finanziell vertretbar) immer eine ernstzunehmende Alternative. Falls Dein Problem mit myISAM-Tabellen schon elegant lösbar ist, und vor allem falls Du fast nur Lesezugriffe hast, dann dürfte Oracle in den meisten Fällen Overkill sein.
Denn ein System wie Oracle zu betreiben, das erfordert entsprechende Kenntnisse ... es macht halt auch keinen Sinn, mit einem Formel-I-Wagen über einen Feldweg voller Schlaglöcher zu hoppeln.
Viele Grüße
Michael