MSSQL vs. MySQL
Frank Schopp
- datenbank
0 Sebastian Haug0 Frank
0 Andreas Korthaus0 Lude0 Bio0 Lude0 Bio0 Christian Seiler0 Lude
0 Lude
Hallo liebes Forum,
ich habe ein "kleines" Problem zu lösen.
Wir haben eine Software, die bisher unter Linux und MySQL läuft. Dazu lesen wir aus Textdateien Zeilen ein und speichern sie in einer Tabelle. Wir schaffen auf diesem System ca. 50.000 Zeilen pro Minute.
Nun haben wir einen Kunden, der das System gerne hätte, allerdings unter Windows (2000), da er schon einen Cluster besitzt.
Nun haben wir uns MSSQL gekauft und alles auf das System umgeschrieben, was teilweise zum haareraufen war. Aber es läuft!
Nur schaffen wir jetzt auf einem Laptop (1.7GHz Celeron) "wahnsinnige" Geschwindigkeiten von ca. 1 Zeile pro Sekunde.
(Zum Vergleich: Unser Linuxrechner hat einen Dualpentium mit 1.6 GHz)
Frage:
Was ist bei MSSQL zu beachten?
Wie kann man die Geschwindigkeit erhöhen?
Hat hier jemand generell Erfahrungen mit dieser DB?
Und, was auch interessant wäre:
Unser System bedarf einiger Leistung, um damit arbeiten zu können.
Nur als "Marketing-GAG" möchten wir eigentlich keinem empfehlen, dieses unter WIN laufen zu lassen, weil seine Firma eben sehr microsoftlastig sei, um ihn als Kunden zu gewinnen.
Gibt es jemanden, der schon einmal vor einem ähnlichen Problem stand, den Kunden zwar nicht unbedingt etwas aufdrängen zu wollen, aber dennoch aus techn. Sicht in eine andere Sichtweise gedrängt hat?
Ich meine, sollten wir nun lieber extremen Aufwand betreiben, um das System unter WIN performant zu bekommen, nur damit dies unter diesem läuft? Oder ist es dann professioneller - zudem günstiger - zu sagen: "Bitte glauben Sie uns...."
Danke für jeden Tip!
Frank
Vieleicht liegt das jenseits meines Nievauhorizontes, aber warum verwendet ihr nicht auch unter Win2k MySQL? (läuft bei mir einwandfrei, habe allerdings keine derartigen Performaceansprüche)
Grüße,
Sebastian
Vieleicht liegt das jenseits meines Nievauhorizontes, aber warum verwendet ihr nicht auch unter Win2k MySQL? (läuft bei mir einwandfrei, habe allerdings keine derartigen Performaceansprüche)
Würden wir gerne!!!
Aber wie erwähnt kann das techn. "richtigere" aus Kundensicht "überrumpelnd" wirken?!
Hallo!
Also irgendwas macht Ihr da falsch, das MySQL um den Faktor 1000 schneller schreiben soll wäre mir neu ;-) Im Gegenteil meine ich das MySQL bei schreibzugriffen eher eine Schwäche hat, ich weiß jetzt nicht wie sich MSSQL dagegen schlägt, aber der Unterschied kommt definitiv durch Euer Programm! Ist nur schwer zu sagen, da Du nicht geschreiben hast wie Du das genau machst und wie Du auf die DB zugreifst. Vielleicht liegt es auch daran das ihr ODBC verwendet, was hier glaube ich nicht so geeignet ist. Aber wie gesagt ich kann nur raten.
Grüße
Andreas
Hallo!
Also irgendwas macht Ihr da falsch, das MySQL um den Faktor 1000 schneller schreiben soll wäre mir neu ;-) Im Gegenteil meine ich das MySQL bei schreibzugriffen eher eine Schwäche hat, ich weiß jetzt nicht wie sich MSSQL dagegen schlägt, aber der Unterschied kommt definitiv durch Euer Programm! Ist nur schwer zu sagen, da Du nicht geschreiben hast wie Du das genau machst und wie Du auf die DB zugreifst. Vielleicht liegt es auch daran das ihr ODBC verwendet, was hier glaube ich nicht so geeignet ist. Aber wie gesagt ich kann nur raten.
Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
Danke!
Hallo Frank,
Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
Danke!
Nimm einen OLE-DB Treiber:
Provider=sqloledb;Data Source=IPADRESSEDESSQLSERVERS,1433;Network Library=DBMSSOCN;Initial Catalog=DBNAME;User ID=USERID;Password=PASSWORT;
Das sollte etwas schneller sein, obwohl ODBC ja auch recht fix ist. Das problem liegt dann wohl an anderer Stelle - ich benutze selbst einen MSSQL Server für meine Website. Ein INSERT dauert pro Zeile ungefähr 0,01 Sekunden (wenn überhaupt). Auch wenn bereits mehr als 1 Mio Zeilen vorhanden sind. Es gibt ausserdem noch Stored Procedures, die das ganze noch nen Zacken schneller machen.
Ich nehme an, das eher bei der Verarbeitung der Textdatei etwas schief läuft. Achso, und nen guten Import/Export Assisten gibt es auch - schau mal im Enterprise Manager unter DTS.
Viele Grüße
Alex
Halihallo Frank
Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
So, so:
http://search.cpan.org/search?query=mysql&mode=all
http://www.mysql.com (ja, sogar dort)
Viele Grüsse
Philipp
Halihallo Philipp Hasenfratz
So, so:
http://search.cpan.org/search?query=mysql&mode=all
http://www.mysql.com (ja, sogar dort)
Und du, du sollst das nächste mal etwas konzentrierter lesen und nicht den schönen Frauen nachsehen, die grad am Büro vorbeigehen und dir die Sinne verdrehn!
*g* und sorry!
Viele Grüsse
Philipp
Hallo!
So, so:
http://search.cpan.org/search?query=mysql&mode=all
http://www.mysql.com (ja, sogar dort)Und du, du sollst das nächste mal etwas konzentrierter lesen und nicht den schönen Frauen nachsehen, die grad am Büro vorbeigehen und dir die Sinne verdrehn!
Das sagt der richtige:
|Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
^
;-))))))))
Grüße
Andreas
Halihallo Andreas
So, so:
http://search.cpan.org/search?query=mysql&mode=all
http://www.mysql.com (ja, sogar dort)Und du, du sollst das nächste mal etwas konzentrierter lesen und nicht den schönen Frauen nachsehen, die grad am Büro vorbeigehen und dir die Sinne verdrehn!
Das sagt der richtige:
eben, denn...
|Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
^;-))))))))
Ich habe mit _mir_ geredet! - Wirklich, ich hab mich selber auf die Schippe genommen. Warum sollte ich auf mein eigenes Posting antworten und den Frank noch dümmer anzünden, als ich das schon tat (zu unrecht, wie ich eben festgestellt habe und deshalb das Posting geschrieben habe, aufdass du dich hier beziehst)...
Sorry, dass das nicht klar hinübergekommen ist, ich wollt wirklich nur mich auf die Schippe nehmen (deshalb hab ich auch "Halihallo Philipp Hasenfratz" stehen gelassen).
Viele Grüsse
Philipp
Hallo!
Ich habe mit _mir_ geredet! - Wirklich, ich hab mich selber auf die Schippe genommen. Warum sollte ich auf mein eigenes Posting antworten und den Frank noch dümmer anzünden, als ich das schon tat (zu unrecht, wie ich eben festgestellt habe und deshalb das Posting geschrieben habe, aufdass du dich hier beziehst)...
Das hatte ich dann wieder falsch verstanden, habe mit "einen Ast abgefreut" das ich mal sowas schreib kann und gerade Dir sowas passert, naja, wieder nichts... :-(
Sorry, dass das nicht klar hinübergekommen ist, ich wollt wirklich nur mich auf die Schippe nehmen (deshalb hab ich auch "Halihallo Philipp Hasenfratz" stehen gelassen).
War aber auch von mir nicht böse gemeint ;-)
Grüße
Andreas
Halihallo Andreas
Ich habe mit _mir_ geredet! - Wirklich, ich hab mich selber auf die Schippe genommen. Warum sollte ich auf mein eigenes Posting antworten und den Frank noch dümmer anzünden, als ich das schon tat (zu unrecht, wie ich eben festgestellt habe und deshalb das Posting geschrieben habe, aufdass du dich hier beziehst)...
Das hatte ich dann wieder falsch verstanden, habe mit "einen Ast abgefreut" das ich mal sowas schreib kann und gerade Dir sowas passert, naja, wieder nichts... :-(
Hehe :-)
Das nächste mal vielleicht ;-)
Sorry, dass das nicht klar hinübergekommen ist, ich wollt wirklich nur mich auf die Schippe nehmen (deshalb hab ich auch "Halihallo Philipp Hasenfratz" stehen gelassen).
War aber auch von mir nicht böse gemeint ;-)
Hab ich nicht so verstanden. Im Gegenteil, es hat _mich_ gefreut, dass _du_ "ins Fettnäpfchen getreten bist" ! :-)
Viele Grüsse
Philipp
Hallo!
Ja genau, wir nutzen ODBC. Gibt es denn einen DBI-Treiber (DBD) für MsSql? Unter cpan kann ich dazu nichts finden.
Also wie ich weiter interpretiere verwendt Ihr PERL. Vermutlich gibt es einen DBI-Triber, sowas hat selbst PHP ;-)
http://search.cpan.org/search?query=mssql&mode=all
http://search.cpan.org/author/RSAVAGE/DBIx-MSSQLReporter-1.01/MSSQLReporter.pm
vielleicht auch http://search.cpan.org/search?query=ole&mode=all, denn da gibt es eine OLE DB Schnittstelle, aber da weiß ich jetzt überhaupt nicht was Du da mit PERL machen kannst.
Aber die Schnittstelle kann nicht alles sein Selbst der ODBC Treiber sollte da mehr hinbekommen, mein MyODBC Treiber mit MySQL ist für sich schonmal erheblich schneller als z.B. MS Access selbst. Aber mann kann den ODBC Treiber ja auch verändern, vielleicht müssen eifnach ein paar Parameter verändert werden und es rennt?!
Grüße
Andreas
Hi,
ein Datensatz pro Sekunde ist schon recht dünn.
Was man "so" machen könnte:
Gruss,
Lude
Sup!
Warum habt ihr dem Kunden nicht gleich vorgeschlagen, im mysql zu installieren? Ihr hättet soviele Argumente gehabt... riesige Menge installierter mysql-Datenbanken, und vor allem die geringeren Entwicklungskosten für den Kunden, die sicher mittlerweile in die tausende von Euro gegangen sind, abgesehen von den Kosten für MSSQL... aaaahhhh... wie verdammt bescheuert muß Euer Kunde eigentlich sein? Ich hoffe ihr habt Vorkasse gemacht, bei solchen Deppen, die ihr Geld zum Fenster rauswerfen, könnte es ja sein, daß die pleite machen ;-)
Gruesse,
Bio
Warum habt ihr dem Kunden nicht gleich vorgeschlagen, im mysql zu installieren? Ihr hättet soviele Argumente gehabt... riesige Menge installierter mysql-Datenbanken, und vor allem die geringeren Entwicklungskosten für den Kunden, die sicher mittlerweile in die tausende von Euro gegangen sind, abgesehen von den Kosten für MSSQL... aaaahhhh... wie verdammt bescheuert muß Euer Kunde eigentlich sein? Ich hoffe ihr habt Vorkasse gemacht, bei solchen Deppen, die ihr Geld zum Fenster rauswerfen, könnte es ja sein, daß die pleite machen ;-)
Hi Bio,
wir nutzen den MS SQL Server seit 4 Jahren seit Version 6.5 - und sind zufrieden.
Fragen:
Welche Argumente sprechen aus Deiner Sicht für mysql?
Ist die Open-Source Geschichte nicht bedenklich, weil a) möglicherweise der Markt nicht entscheidet was entwickelt wird b) irgendwelche Entscheider das letzte Wort haben, deren Interessen unbekannt sind und c) weil Open-Source eine Ideologie ist?
Gruss,
Lude
Sup!
Welche Argumente sprechen aus Deiner Sicht für mysql?
In diesem Fall: Keine Kosten fuer die Lizenz der Entwickler, kein Portierungsaufwand - dadurch keine Portierungskosten im Bereich von zig Mannstunden, geringere Fehleranfaelligkeit der nicht-portierten Version gegenueber einer an MS-SQL angepassten Version.
Allgemein spricht nichts fuer mysql, solange es PostGreSQL und andere weiterentwicklete Open-Source-Datenbanken gibt ;-) Aber Konkurrenz belebt das Geschaeft, darum sind auch mehrere Open-Source-Datenbanken nebeneinander sinnvoll.
Ist die Open-Source Geschichte nicht bedenklich, weil a) möglicherweise der Markt nicht entscheidet was entwickelt wird b) irgendwelche Entscheider das letzte Wort haben, deren Interessen unbekannt sind und c) weil Open-Source eine Ideologie ist?
a) Falsch. Fuer Geld entwickeln Open-Source-Entwickler natuerlich auch. Viele Treiber-Projekte werden gesponsert, ebenso z.B. andere Module wie iptables. Der Markt kann also bestellen, was er will.
b) Falsch. Denn die Interessen von Open-Source-Entwicklern sind meist wesentlich durchsichtiger und bekannter (da auf Mailinglisten disktutiert) als die Interessen von Closed-Source-Entwicklern und gewissen Monopolisten.
c) Falsch. Natuerlich korrespondiert Open-Source in gewisser Weise mit kommunistischen Prinzipien, aber es ist selbst keine Ideologie; es gibt ja durchaus Open-Source-Entwickler, die keine Kommunisten sind ;-)
Gruesse,
Bio
Hallo Bio,
c) Falsch. Natuerlich korrespondiert Open-Source in gewisser Weise mit kommunistischen Prinzipien,
Es gibt zwar Parallelen zwischen freier Software und dem Kommunismus, aber es gibt auch Parallelen zwischen der Kirche und dem Kommunismus - und trotzdem hassen sich Anhänger beider gegenseitig abgrundtief. Nur, weil es eine Parallele gibt, heißt es noch lange nicht, dass das eine mit dem anderen zu tun hat. (wollte ich nur noch mal verdeutlichen)
aber es ist selbst keine Ideologie;
Doch, freie Software ist eine Ideologie. Was soll es sonst sein? Aber: laufen wir denn nicht überall einer Ideologie über den Weg? Pragmatismus ist zwar heutzutage recht weit verbreitet, aber überall, wo man nicht bedingungslos pragmatisch ist, herrscht eine Ideologie. (oder die "härtere" Variante: ein Dogma)
*bekennender Anhänger*
es gibt ja durchaus Open-Source-Entwickler, die keine Kommunisten sind ;-)
Natürlich.
Grüße,
Christian
Ist die Open-Source Geschichte nicht bedenklich, weil a) möglicherweise der Markt nicht entscheidet was entwickelt wird b) irgendwelche Entscheider das letzte Wort haben, deren Interessen unbekannt sind und c) weil Open-Source eine Ideologie ist?
a) Falsch. Fuer Geld entwickeln Open-Source-Entwickler natuerlich auch. Viele Treiber-Projekte werden gesponsert, ebenso z.B. andere Module wie iptables. Der Markt kann also bestellen, was er will.
b) Falsch. Denn die Interessen von Open-Source-Entwicklern sind meist wesentlich durchsichtiger und bekannter (da auf Mailinglisten disktutiert) als die Interessen von Closed-Source-Entwicklern und gewissen Monopolisten.
c) Falsch. Natuerlich korrespondiert Open-Source in gewisser Weise mit kommunistischen Prinzipien, aber es ist selbst keine Ideologie; es gibt ja durchaus Open-Source-Entwickler, die keine Kommunisten sind ;-)
Yo!
zu a)
Ist nich' falsch. Was heisst übrigens "natürlich auch"?
zu b)
Ein guter Monarch ist besser als ein von lauter Halbaffen gewählter Repräsentant, klar. Ist bekannt, aber das mit dem von den Affen Gewähltem funktioniert; das mit dem "guten Mann" mittelfristig oder gar langfristig traditionell nich'.
zu c)
Es gibt Ideologien und "Gewachsenes". Also, Bio, im Zweifel verliert immer die Ideologie.
Gruss,
Lude
/* Und, was auch interessant wäre:
Unser System bedarf einiger Leistung, um damit arbeiten zu können.
Nur als "Marketing-GAG" möchten wir eigentlich keinem empfehlen, dieses unter WIN laufen zu lassen, weil seine Firma eben sehr microsoftlastig sei, um ihn als Kunden zu gewinnen.
Gibt es jemanden, der schon einmal vor einem ähnlichen Problem stand, den Kunden zwar nicht unbedingt etwas aufdrängen zu wollen, aber dennoch aus techn. Sicht in eine andere Sichtweise gedrängt hat?
Ich meine, sollten wir nun lieber extremen Aufwand betreiben, um das System unter WIN performant zu bekommen, nur damit dies unter diesem läuft? Oder ist es dann professioneller - zudem günstiger - zu sagen: "Bitte glauben Sie uns...."
Danke für jeden Tip!
Frank */
Yo!
Nur etwas noch zum letzen Satz bzw. Absatz:
Du gehörst in den Vertrieb. - Und da ist jede, aber auch wirklich jede Schweinerei erlaubt.
DV-technisch liegst Du aber völlig daneben und i.p. Portierung auf "MSSQL Server 2000" habe aus in Deinem Beitrag nur Dulligkeiten vernommen.
Gruss,
Lude