Mailinglisten-Archive |
Churchill: Glaube keiner Statistik, die Du nicht selbst gefälscht hast. Benchmarks er einfachen Art, da stellt sich sehr schnell heraus, daß MySQL die Nase da vorne hat, weil halt MySQL kaum Overhead mit den Rechten und Locks hat. Es kann nur Table Locks. Probleme fangen aber da an, wo der Anteil von Writes erheblich ist. Die Tabelle wird da nämlich von einem Programm, welches z.B. Logs kontinuierlich schreibt, gesperrt. Zustzliche Writes sind gesperrt. Reads dann auch. MySQL ist also fürs Internet, wo fast nur gelesen wird, sehr gut geeignet, für Datenerfassung, wo die writes nur kurz sind, u.s.w. MySQL bricht aber bei mehr als 30 simultanen Zugriffen stark ein, ich meine damit, daß es durchaus 100-200 Clients ein können, die dann mit einer Gleizeitigkeit von 30 MySQL stressen. Da tritt dann ein anderes Problem auf. Es gibt Clients, die die Menümasken (Pulldown) mit Inhalten einer Tabelle generieren, vornehmlich JAVA Clients. In dem Moment werden zum Aufbau einer Ein-Ausgabemaske nämlich sehr viel mehr Datenbank- Queries benötigt. SAP hat z.B. gerade in der Version 4.6 D Update so ein Problem. Die Clients, die vorher 4-5 KByte je Maske gezogen haben, ziehen nun ca. 400-500 KByte, nur für den Aufbau einer einzigen Maske. Man kann sich vorstellen, daß da viele Standleitungen von SAP zusammengebrochen sind...aber das ist ein andere Thema. MySQL hat das Problem, daß Queries die sehr häufig vorkommen, und immer dasselbe Ergebnis liefern, nicht gecacht werden, wie das z.B. PostgreSQL und Oracle tun. In dem Moment bricht MySQL in der Performance ein, wärend PostgreSQL mit getuntem Buffer hier halt nicht zusammenbricht. Wenn also geplant ist, daß die Zahl der Clients über 30-50 liegt, und die Datenbank intensiv genutzt wird, dann sollte man unbedingt auf PostgreSQL umsteigen. Immer PostgreSQL sollte man verwenden, wenn man viele gleichzeitige Queries hat, die immer dasselbe Resultat liefern, wie z.B. bei dynamsichen Webseiten, die immer identischen Queries liefern, die z.B. bei der Kombination Linux/Windows, Apache MySQL PHP ...LAMP/WAMP, weil - ansonsten sollte man einen invertierten Proxy, z.B. SQUID als Accelerator davorschalten. Man muß PostgreSQL einsetzen, wenn man z.B. Datenströme hat, die kontinulierlich geschrieben werden müssen, und wenn man halt viele Clients einsetzen möchte. Außerdem kann PostgreSQL mit PL/pgSQL sogar Oracle ersetzen. Ich schreibe gerade an einer Dokumentation, die Oracle garnicht gefallen wird..... Wer Trigger, VIEWS, Rechte auf VIEWS, Foreign Keys und eine solide Makrosprache und eine solide Doku braucht, dem sei PostgreSQL wärmstens empfohlen. Wer von Oracle weg möchte, und nicht kann, weil wegen PL/SQL, dem sei PostgreSQL auch wämstens empfohlen, die Migration weg von Oracle ist mit wenig Aufwand zu machen, weil die Makrosprachen fast identisch sind. Wenn man also Oracle und PL/SQL in der Geschwindigkeit vergleicht, dann denke ich, daß die sich nicht viel tun. Nach der Umstellung von Compiere, einem SAP Clone von Oracle auf PostgreSQL hat sich nicht viel getan. Wer jedoch mit riesigen Datenbanken hantieren muß, und SMP Server einsetzt, die ihre komplexeren Queries dann parallel auf eine zerteile Datenbank absetzen, der kann nur Oracle einsetzen, also ab ca. 100 Clients mit Datenbanken > 10 GByte. Ansonsten tuts noch eine ALPHA unter LINUX mit PostgreSQL.... Intel Kisten sind da sehr viel langesamer, wegen des lahmen RAM Interface... Oracle sollte man auch dann ins Auge fassen, wenn man sehr komplexe Rechte mit PROXY - Rechten u.s.w. vergeben können muß ... Billiger ist dann jedoch DB2 allemale ... Oracle ist im Grunde völlig veraltet mit seinem Datenbankstandard ANSI SQL 89. DB2 kann SQL 99 alias SQL 3 , das Ding ist der Zeit um Jahre voraus ....und auch ähnlich schnell, wie Oracle.... Gru/3, Guido > Interessant sind für mich die Datenbanken Postgre SQL, MySQL und > Oracle. Denn ich muss mich demnächst für eine Datenbank für ein neues > Projekt entscheiden. > > Mit Google bin ich leider nicht fündig geworden. > -- > Alexander Steffan > alex_(at)_xonom.de > > > --- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive