ASP.NET + MSSQL oder PHP + MySQL für Kommerz?
-
Hi,
was eignet sich für kommerzielle Produkte am Besten die mit vielen Daten arbeiten müssen (Wo ne Datenbank locker 10 GByte groß werden kann) aber es Webbased bleiben soll?
Habe gehört ASP.NET soll in Combo mit MSSQL unschlagbar sein und PHP sowie MySQL bei vielen Daten Zustände bekommen.
Daher die Fragen:
1/ Wodrin unterscheiden sich die beiden?
2/ Was ist für viele Datensätze leistungsstärker und schneller?
3/ Was ist aktueller?
4/ Was würdet ihr für kommerzielle Systeme empfehlen und vorallem: Warum?Danke im voraus! p.s.: Es handelt sich in beiden Fällen um Windows 2003 Server, ob darauf nun XAMPP läuft oder eine MSSQL-Datenbank ist nicht relevant. Das Thema UNIX bitte nicht in die Beantwortung der Fragen mit einbeziehen, da es aktuell nicht relevant ist und nichts mit dem Thema zu tun hat. Also damit meine ich die ewige debatte: Windows 2003 Server vs. UNIX vs. Linux.
Es geht nur um ASP.NET und PHP.
Vielen Dank
-
Erst einmal musst du beachten, dass sowohl PHP als auh MySQL ursprünglich für Unix aufgesetzt worden waren, und dann nach Windows portiert wurden. Das ist zwar heutzutage nicht mehr so relevant, sollte man aber dennoch im Hinterkopf behalten.
PHP selbst glänzt durch zahlreiche Sicherheitslecks und, auch wenn es immer noch von vielen Leuten bestritten wird, Mangel an Kompatibilität zwischen den Versionen.
MySQL selbst arbeitet erfahrungsgemäß recht zuversichtlich, wird bei kommerzieller Nutzung allerdings unverhältnismäßig teuer (zur gebotenen Leistung); imho.
"Aktueller" kann ich so nicht beantworten; beide Kombis werden kontinuierlich erweitert. Im Bezug auf die Sprache, würde ich klar ASP.NET sagen. Grund: ASP.NET ist, im Gegensatz zu PHP, keine Scriptsprache, sondern nur das System dahinter. Eingebettet wird da entweder VB.NET oder C#-Code, von welchen zumindest letzteres PHP in Betrieb, Entwicklung und Wartung schnell altaussehen lässt.
Professionell scheint PHP eher wenig weit verbreitet zu sein; die meisten "professionellen" Projekte - oder die, die es von sich zu sein behaupten -, die ich kenne basieren entweder auf ASP, PERL/Python oder JSP.
-
Hallo,
ASP .NET auf nem reinem Microsoft Stack ist schon sehr schnell. Das erstmal vorweg, mit der reinen Microsoftschiene wirst du auf der Maschine wahrscheinlich gut fahren.
Was würde dir MySQL+PHP im Gegenzug bieten?
Wie schon gesagt, ne löchrige Scriptsprache mit ner guten Datenbank dahinter. For free (MySQL ist auch im kommerziellen einsatz frei, Kosten entstehen eher durch Support)Welche Kombi schneller ist, kann man gar nicht so einfach sagen. Zum einen darf man keine Benchmarkvergleiche von kommerziellen Datenbanken veröffentlichen, zum anderen kommt es auch stark auf deinen Einsatzzweck an.
Was hast du vor? Wie vermutest du, werden die Performanceschwerpunkte liegen, was wird oft gemacht etc.. Das würde die Beantwortung deiner Frage wohl etwas vereinfachen.
-
Hi,
also es handelt sich um eine auf Modulen basierte Software die erweiterbar sein soll. Darin sollen Buchungen, Aufräge, Mitarbeiter usw. verwaltet werden können. Also recht viele Datensätze.
-
*push*
-
Da das ganze ohnehin auf einem Windows 2003 Server laufen soll, würde ich ebenfalls die ASP.NET-Lösung favorisieren und als Datenbank auf den SQL-Server setzen. Lizenzen für die 2000er-Version sind z.T. sehr günstig zu bekommen, die 2005-Version ist allerdings deutlich leistungsstärker und schneller.
-
Also ihr würdet PHP sogesehen niemals für kommerzielle Produkte empfehlen? Oder gibt es da besondere Ausnahmen?
-
Hallo,
PHP ist halt sehr gefährlich. Es lädt einen fast schon dazu ein, Fehler zu machen. Fast so wie ein C-Programm für Webserver, nur langsamer
Von den ganzen Scriptsprachen ist PHP wahrscheinlich die Schnellste, es ist schon sehr krass wie gut der PHP Interpreter optimieren kann. Wenn du magst kannst du dir PHP auch, wie .NET, in nen Bytecode übersetzen, so dass die Ausführung noch schneller wird.
Die Sprache PHP finde ich persönlich sehr hässlich, dennoch kann man damit sehr schnell Seiten bauen. Vom Entwicklungsaufwand würde ich PHP also niedriger einschätzen.Wenns dir auf Geschwindigkeit ankommt, würde ich bei der PHP Lösung auch nen Lighttpd Server einsetzen (gibts das für Windows*? *ja -> http://en.wikipedia.org/wiki/Lighttpd). Zumindest unter Linux kommt der wesentlich schneller mit vielen Clientabfragen auf PHP klar.
Alles in allen ist das eine sehr solide Lösung. Für kostenlos - solange das Know-How bei euch im Team vorhanden ist. Allerdings fällt mir bei deiner Programmbeschreibung jetzt kein Grund ein, warum diese Lösung wesentlich schneller oder langsamer sein soll als die IIS+.NET Kombo.
Mein Vorschlag: Entscheide so, dass die Plattform wo die Meiste Expertise vorhanden ist, gewählt wird. Ein zweiter Server kostet nicht viel, Einarbeitungsaufwand in ein komplett neues System u.U. schon.
-
@Headhunter
Danke für das Statement. Problem ist einfach wir kennen uns im Team (3-4 Mann) ziemlich gut mit PHP aus (Nur halt nicht nicht sehr besonders :D) doch wir haben halt das Problem mit den enormen Datenmengen und fürchten das eine MySQL Datenbank und/oder PHP sich ziemlich schnell verabschieden können wenn es über 5 GByte geht und halt pro Seitenaufruf ca. 30 Querys gemacht werden müssen.Daher wissen wir jetzt nicht ob ASP.NET dort besser haftet oder ob man bei PHP bleiben sollte und wenn ja: Was man beachten sollte, damit es kein böses Erwachen gibt.
Mit der Zielgruppe das wir momentan nur von Windows 2003 Servern ausgehen, liegt daran das wir nur Interessenten mit Windows 2003 Servern haben, die dann noch mit MSSQL oder Oracle arbeiten (PHP bietet hier ja z. B. Funktionen dafür an, ASP.NET leider nur ODBC). Linux/Unix/Solaris/usw. Interessenten haben wir absolut nicht.
Auch Sicherheit ist uns sehr wichtig! Also jetzt nicht von Codehinsicht, (denke das wir da ordentlich arbeiten können :D) sondern eher von Zugriffsseite. Da die Anwendungen ja aus dem Netz bedient werden sollen (z. B. per Laptop im Zug per https-Protokoll im IE oder FF)
Nicht das PHP so unsicher ist, das unsere zukünftigen Kunden uns die Bude einrennen und sagen das durch unsere Anwendung ihre Server angegriffen werden oder sogar platt gemacht wurden!
Entwicklungsaufwand ist natürlich auch ein Thema, da wir noch ein sehr junges Team sind und später eine Firma gründen möchten. Je niedriger die Entwicklungskosten desto mehr Kapital haben wir im Endeffekt - jedoch sollte auch die Qualität stimmen.
Beim Thema Qualität ist das auch so eine Sache: Unsere Programme sollen mindestens 3-5 Jahre laufen - wie sieht das mit der Langzeitdauer von PHP und ASP.NET aus? Also wodrauf kann man für die Zukunft bauen? Wir wollen ja jetzt nicht in XYZ Entwickeln und in 2 Jahren vor einem Scherbenhaufenstehen weil die Sprache ZYX weniger sicherheitslücken hatte, stabiler lief, schneller war oder sonst was.
PHP in Bytecode? Gibbet da OpenSourcetools? klingt interessant
-
Wenn ihr euch in PHP schon recht gut auskennt, ist das sicher ein grosser Pluspunkt, weil einarbeiten in ASP.NET sicher nicht ganz trivial ist. Meint ihr, ihr bekommt es hin, euer erstes ASP.NET-Projekt durchzuziehen ohne in all die Fallen zu tappen, in die man normalerweise immer tappt, wenn man eine neue Sprache/Technologie verwendet? Andererseits will ASP.NET nicht mies reden, ich kenn es gar nicht. Und bei meiner aktuellen Arbeit hab ich PHP richig hassen gelernt, der Code wird einfach sehr schnell sehr uebersichtlich. Aber IMO ist das bei Webanwendungen nur mit viel Muehe vermeidbar, weil man immer wieder in so einen HTML-JavaScript-PHP Mischmasch reinfaellt. Und wenn ihr PHP selbst kennt wisst ihr ja dass es manchmal einfach..... suboptimal ist
k.A. wie ASP da im Vergleich abschneidet.
Ueber die Datenvolumen macht ihr euch IMO zu viele Sorgen. Wikipedia z. B. baut auf PHP + MySQL auf, und die haben ja wohl ein ziemlich beeindruckendes Datenvolumen (auch wenn einige geschwindigkeitskritische Dinge in C als Plugins fuer PHP geschrieben sind, AFAIK). Wie kommt ihr zu der Annahme, MySQL wuerd bei 5 Gigabyte schlapp machen? Ich weiss es zwar auch nicht, aber probieren geht ueber studieren. Wenn ihr's ordentlich macht werdet ihr schlimmstenfalls die Datenbank spaeter in der Entwicklung eh relativ schmerzlos austauschen koennen.
-
Und was haltet ihr von IIS und PHP.
Hier kannst du beide Ansätze nehmen. ASPNET und PHP.Ich persönlich bin jedoch kommerz. auf ASPNET umgestiegen.
1. weil es IIS6 ist
2. weil wir dann nur eine IDE brauchen
3. ASPNET hat mit NETFRAMEWORK 2 viele Feature
4. Code läßt sich durch C# auch in Windows-Programme übernehmen.Wenn ihr schon PHP könnt und ASPNEt erst lernen müsst dann nehmt PHP mit IIS.
Aber nur wenn ihr PHP nicht als CGI laufen habt sonderen als ISAPI.
-
PHP&IIS? Na da fühlt sich PHP wahrscheinlich am wohlsten
Wie läuft der Performancetechnisch so?Für PHP4 gibts (gabs?) ein paar OS-Bytecompiler. Weiß aber nicht wie gut die sind. Der Bytecompiler für Zend (wohl der Beste) kostet Geld. Es gibt auch einen Versuch PHP auf der CLR von Microsoft lauffähig zu machen, nen .NET Compiler für PHP quasi.
Der Projekt wird von MS unterstützt, ich glaube auf Golem habe ich davon gelesen.
Vielleicht ist das schon benutzbar?
Andererseits würde ich mir viel mehr Gedanken um ein gutes Design und einen guten Cachingmechanismus machen, als um 10% Geschwindigkeitsvorteil/Nachteil durch eine Programmiersprache.Wenn du mit ASP .NET noch nichts gemacht hast, würde ich davon abraten es direkt in einem "richtigem" Programm einzusetzen. Es ist sehr komplex und es gibt sehr viele Stolperfallen, in die man gerade am Anfang leicht hereinfällt.
Setzt man es richtig ein, so kann man jedoch einen großen Vorteil gegenüber vergleichbaren PHP Code haben. In PHP kann man halt auch viel falsch machen. Schau dir auf jeden Fall mal CakePHP an, das ist sowas wie RubyOnRails für PHP, und Rails rockt eh alles
-
Headhunter schrieb:
Wenn du magst kannst du dir PHP auch, wie .NET, in nen Bytecode übersetzen, so dass die Ausführung noch schneller wird.
Wie macht man das
Kann man den Code dann auch nicht mehr "zurückübersetzen"?
-
*push*
-
-
Headhunter schrieb:
DeadGod schrieb:
*push*
Da findest du alles was du brauchst.
Super! Echt geil! Google, habe ich mir schon immer gewünscht!
Würdest Du mir noch paar GUTE Suchbegriffe nennen außer "Php to bytecode" wo auch mal was anständiges rauskommt und kein pseudoscheiss währe ich dir SEHR dankbar.
Und ZEND ist etwas sehr groß und es wäre auch toll wenn es Freeware ist und ich keine 400 US $ für sowas zahlen müsste!
Google, boah wie ich so eine faule billige antwort hasse. Demnächst können wir das Forum schließen und als startseite hin schreiben: "www.google.de" super.
-
Auf Fragen, auf die es keine Antwort gibt, gibt es immer eine Antort: Google.
Einen Freeware PHP-Compiler der etwas taugt wirst du aber wohl auch beim Menschenfreund Nr. 1 nicht finden ...
-
Reyx schrieb:
Einen Freeware PHP-Compiler der etwas taugt wirst du aber wohl auch beim Menschenfreund Nr. 1 nicht finden ...
apc
-
Shade Of Mine schrieb:
Reyx schrieb:
Einen Freeware PHP-Compiler der etwas taugt wirst du aber wohl auch beim Menschenfreund Nr. 1 nicht finden ...
apc
Google Suche nach APC bringt irgendwie so Mannschaftstransporter von Millitärs raus
-
Bei Wikipedia sinds die folgenden Möglichkeiten:
Adenomatous Polyposis of the Colon, ein Tumor-Suppressorgen [b]NEIN[/b] Anaphase promoting Complex, eine Ubiquitin Protein Ligase (RING Finger E3 Enzym) [b]NEIN[/b] Advanced Process Control, Zusammenfassung verschiedener Prozesskontrolltechnologien [b]NEIN[/b] Aktiviertes Protein C - die APC-Resistenz ist eine Krankheit, bei der es zu Blutgerinnungsstörungen kommt [b]NEIN[/b] Alternative PHP Cache [b]OHA[/b] American Power Conversion, ein Hersteller von USVs Anaphase-promoting complex, ein Enzym Antigenpräsentierende Zellen, bestimmte Zellen des Immunsystems A Perfect Circle, Progressive Rock-Band Armoured Personnel Carrier, englischsprachige Bezeichnung für Transportpanzer Arbeitsplatzcomputer Archäologischer Park Cambodunum in Kempten im Allgäu Association for Progressive Communications Asynchronous Procedure Call, englischsprachige Bezeichnung für asynchrone Funktionsaufrufe Automatic Performance Control
MfG SideWinder