IT-Infrastruktur für Unternehmung

Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich meinte eher optimieren der Struktur, sprich Indexes, Temp-Tables, Prozeduren und Funktionen in der DB, Komprimierung der Indexes, ...

Hat Postgress einen Optimizer, die Ausführung vom SQL vorberechtet? Kann man dem Hilfe leisten? Was hat Postgress zur Sicherstellung der Integrität?
ich glaube das featureset ist größer bei PostgreSQl als bei MySQL (Sequenzen, Vererbung, diverse Optionen beim Erstellen der Tabellen, Window-Functions, WITH [RECURSIVE], Arrays, partielle Indexe, ... )
zudem arbeitet postgresql nach dem ACID-Prinzip, was immer konsistente Daten ergibt, soviel zur Integrität.. zudem bietet postgres mit " Eplain Analyze" etwas wovon mysql in der free-version nur träumen kann.

aber das hier soll jetzt kein postgresql vs mysql werden ;)
 
Du implizierst, dass MySQL sich nicht an ACID hält. Zumindest wenn man InnoDB als Storage Engine nutzt, tut es das aber sehr wohl.
 
Wenn ich diese Rechnung runterbreche komme ich im schlimmsten Fall auf durchschnittlich knapp 2000 User in der Sekunde. Um mir die Poissonverteilung zu ersparen nehme ich einfach mal 3000 User als maximum an. Was hat denn so ne normale Website für ne größe wenn da ein paar kleine Artikelbilders dabei sind? Ich würde ja grob 100kb schätzen. Der Sicherheit halber gehe ich von 500kb aus. Komme ich ca. auf 12000 MBit/s als Anbindung, also fast 12 GBit/s. Nach 5 Jahren und wenn alles super läuft. Als aus technischer Sicht schlimmster anzunehmender Fall.
Sind die 500kb für eine Website realistisch?

Ich denke, die Zahlen sind viel viel zu Hoch angesetzt!
3000 User (Zugriffe?) in der Sekunde?
Das sind 180.000 in der Minute. -> und wiederum fast 11 Mio in der Stunde!

Nimm das wohl aktuell Weltgrößte PC Spielenetzwerk Steam, dort hast du zu täglichen Stoßzeiten irgendwo 7 Mio Sessions, sprich eingewählte Nutzer! Die Zeit wiederum ist nicht nur ein einzelner Peakwert, sondern die Nutzerzahl liegt durchaus auch mal mehrere Stunden auf diesem hohen Niveau von 6-8 Mio!
Ich weis nicht, wenn du hier für ne Initialkalkulation von 11 Mio Nutzer in einer Stunde ausgehst, ist das mal locker 50% mehr, wie das Steam Netzwerk aktuell abfedert und ich bezweifle doch schon extrem, das du mit einem Marktplatz vom Start weg derartige Nutzerzahlen ansprichst.

Selbst wenn man Steam als ungünstigen Vergleich ansieht. Schau auf den Luxx Server, der hier das Forum hostet. Irgendwo in den Artikeln finden sich Meldungen über die Hardwareausstattung des Konstrukts.
Wir hier im Luxx haben irgendwo im Bereich 4000-6000 aktive User, was sich über die Stoßzeiten verteilt.
Der absolut höchste Peak lag seinerzeit bei ~10k Usern gleichzeitig. Das ganze ist noch unterteilt in ca. 1/4 registrierte User und 3/4 Gäste! -> sprich die Gäste erzeugen keinen Kontent sondern lesen nur.

Auch sollte man davon aus gehen, das eine Website, genau so wie ein Shop, grundsätzlich "nur" geblickt wird anstatt das man dort im sekundentakt pro User neue Seiten aufruft -> was bei einem Shop durchaus nicht anders ist (vielleicht etwas kürzere Sessiontimes pro User als ein Forum, aber die Richtung dürfte ersichtlich sein)
Sinnvollerweise müsste man sich jetzt mal eine Berechnungsgrundlage suchen, wie viele Zugriffe ein aktiver (also eingelogter) User in der Minute erzeugt. Ich denke, 2-3 wären da durchaus realistisch. Bei 4000 aktiven Usern zur selben Zeit wären das gemittelt irgendwo 130-200 Zugriffe in der Sekunde!

Ich verstehe nicht, warum du nicht den Beitrag von Backbone weiter oben beherzigst, denn auch er sagte dir, das du erstmal kleine Brötchen backen sollst/solltest. Willst du am Start zuviel, kostet dich das deutlich mehr als sinnvoll an Ressourcen. Das macht wenig Sinn. Auch wäre mir keine Shop/Marktplatzseite bekannt, die vom Start weg mit riesigen Serverfarmen losgelegt hat... Sondern die haben alle samt klein angefangen. Ja der Facebook und Co. haben klein angefangen und wachsen über die Bekanntheit! Genau dieses Wachsen federt man mit skalierbaren Lösungen ab, aber nicht mit Hardware vom Start weg, die man nicht braucht...
 
Genau deshalb ist es für den am sinnvollsten mit einem oder ein paar Mietservern zu Starten und seine Software so auszurichten dass man bei hoher Last zusätzliche Maschinen z.B. bei Amazon EC2 hochfahren lässt. Wenn man einen vernünftige Webserver und Cache hat (nginx/Varnish) und eine sauber entwickelte Applikation hat kann man auch schon mit einer Hand voll Servern große Besucheraufkommen bewältigen, sollte die Server mal zu viel zu tun haben werden automatisch weitere Instanzen bei Amazon hoch gefahren und gut ist.
Sobald die Besucher dann wieder weg sind kann man sie dann automatisch runter fahren lassen. So zahlt man Beispielsweise nur knapp ein paar hundert Euro Miete fix für seine festen Dedicated Server, z.B. bei OVH oder Serverloft und für die Lastspitzen die vielleicht nicht mal einem Tag im Monat (einzelne Stunden verteilt auf den ganzen Monat) ausmachen hat man dann seine Kosten für die paar Amazon- oder sonst was -Instanzen. Außerdem bricht die Website dann auch bei einem plötzlichen Besuchersturm nicht gleich völlig zusammen sondern wird in den ersten Minuten schwer erreichbar sein bis alle virtuellen Instanzen online sind.

Sollte man dann feststellen das man mehr durchschnittliche User bekommt mietet man weitere Server fix an. Erst bei einem wirklich sehr großen Serveraufkommen lohnt es sich überhaupt das Ganze selbst in die Hand zu nehmen. Aber dafür müsstest du mit deinen Fixkosten mindestens mal einen Schrank voll kriegen, eher sogar mehr, vorher sind Mietserver die wirtschaftlichere Lösung. Das schaffen selbst die meisten bekannten Webseiten nicht mal und wirst du, egal wie toll deine Idee nun auch ist, in den ersten zwei Jahren sicherlich auch nicht hin bekommen. Okay, vielleicht wenn der durschnittliche Java-Entwickler deine Applikation entwickelt und Methoden von gestern verwenden. Dann ist man ganz schnell mal mit hohen Kosten dabei.

Oft wird selbst so etwas nicht mal benötigt da für weitere Besucher in Spitzenzeiten oft nicht mehr Rechenleistung erforderlich ist sondern einfach nur schiere Bandbreite. Für solche Fälle gibt es CDN-Dienstleister, z.B. Akamai (nur für sehr große Kunden, also deine Firma in den ersten Jahren nicht) oder Cloudflare (auch für kleine Kunden).

Wer es heute anders macht ist von gestern. Und genau so eine "von gestern Herangehensweise" verfolgst du, anscheinend, aktuell mit irgendwelchen fragwürdigen Berechnungen für maximal Last die du dann auch noch dauerhaft bezahlen willst. Zu mal solche Berechnungen eh nur für die reinen Hardware/Software/Mietkosten möglich sind und nicht für das eigene Personal und die entsprechende Wartung weil du deine Applikation nicht mal hast und man es von daher sowieso rein gar nicht realistisch einschätzen kann. Ich habe bereits bei ein paar Gründungen beraten und sogar eine selbst durchgeführt. Es kam bisher NIE so wie vorher geplant, die Abweichungen waren meist riesig.

Wenn man sein Projekt skalierbar ausführt bezahlt auch immer nur das wenn wirklich braucht. Und das wird selbst wenn du mal zum zweiten Ebay oder Facebook werden willst, im ersten Jahr wohl kaum 1000€/Monat überschreiten. Enorme konstante neue Besucherzahlen bekommt nämlich nicht über Nacht sondern das geht nur sehr sehr langsam. Klar hat man mal Peaks, aber dafür hätte man dann ja in der von mir beschriebenen Herangehensweise seine "Cloudinstanzen" die nur dann bezahlt werden müssen wenn sie mal gebraucht werden, und das ist eher selten.

Wer dir pauschal erzählt Java sei schneller als C++ ist entweder ein hinterlistiger Verkäufer oder ein Idiot. Oder vielleicht bezieht er das auch nur auf seine eigenen (unfähigen?) Entwickler. Prinzipbedingt ist C++ performancemäßig Java definitiv überlegen. Jeder der sich etwas mit Softwareentwicklung auskennt weiß das.

Aber ob es unbedingt wirtschaftlich ist in C++ zu entwickeln ist ist wieder eine andere Frage. Mit Java kommt man sicherlich schneller und einfacher ans Ziel. Man braucht dann vielleicht mehr Hardware, aber wenn stört es wenn die Entwicklungskosten geringer waren und man damit am Ende Geld spart?
Aber vielleicht meinte er mit schneller auch nur die Entwicklungszeit und nicht die Performance? ;)

Unterschiedliche Anforderungen, unterschiedliche Programmiersprachen. Je nach dem welche Firma du fragst wirst du alles mögliche hören. Kommt immer drauf an was für Entwickler sie beschäftigen. Wenn du bei 10 Firmen anfragst wirst du sicherlich Angebote über 5 verschiedene Sprachen bekommen.
 
Zuletzt bearbeitet:
Na vielen Dank, die Qualität der Beiträge scheint jetzt so langsam in der Gegend zu sein, die ich mir vorgestellt habe.
Wie ich Eingangs schon erwähnt habe, stet die Umsetzung der technischen Seite absolut nicht fest und wird auch nicht von mir erfolgen. Das wird Menschen vom Fach überlassen. Für mich als Gründer ist es im Rahmen des Businessplans wichtig zu wissen was in den nächsten 5 Jahren auf mich zukommen kann. Der Plan von GafikTreiber entspricht so ziemlich meinen Gedanken die ich dazu getätigt habe. Um es nochmal zu sagen ich muss an Szenarien denken und erklären können, dass ich selbst ein solchen positiven Geschäftsverlauf handlen könnte, wenn er eintreffen würde. Dabei geht es nicht darum ob ich persönlich damit rechne oder nicht. Es macht bei einem Investor einen schlechten Eindruck, wenn ich lediglich ein Szenario aufzeige, welches ich für realistisch ansehe. Von daher ist es nur logisch, dass ich mich sowohl mit einem schlecht laufenden Szenario beschäftige (samt Lösungsmöglichkeiten) und mit einem sehr optimistischen Szenario beschäftige samt Nachweis, dass das Unternehmen in der Lage wäre das zu bewerkstelligen. Ich kann leider nicht hinschreiben, dass ich die IT-Aufgabe ohnehin Outsourced und die das schon alles irgendwie machen werden.
 
Zuletzt bearbeitet:
Vielleicht solltest du dann deine Fragestellung etwas ueberdenken?
Du hattest explizit nach Kosten fuer eine Infrastruktur ala Amazon gefragt, kombiniert mit Bandbreite fuer eine Anwendung die noch nicht existent ist....
So wie ich das jetzt verstehe suchst du aber eher nach verschiedenen Ansaetzen wie man seine Infrastruktur aufziehen kann wie es GrafikTreiber nun beschrieben hat (Cloud, eigene Hardware, miete etc etc)
Ich denke dass dich viele, mich selbst eingeschlossen, schlicht und ergreifend nicht verstanden haben.

Eine Cloudloesung bietet dir gerade am Anfang ein gutes Preis/Leistungsverhaeltnis. Du kannst hier am flexibelsten auf moegliche neue Anforderungen reagieren. Und falls das alles nicht klappen sollte hast du auch keine weiteren Kosten sobald die VMs aus/geloescht sind.
 
Wenn man weiß, was man da macht, kriegt man auch Java zum Fliegen. Dass Java schneller sein soll als C++ wage ich jetzt allerdings zu bezweifeln. Kann auch ein paar Beispiele nennen, wo es definitiv nicht so ist.

Wenn man beides richtig gut kann, bleibt C++ schneller. Wenn man halt super Java kann und in C++ nur blutiger Anfänger ist, klar dann ist Java schneller.

Ein Freund von mir arbeitet als Programmierer in einer Firma mit an einer Texterkennung (OCR). Am Anfang auch alles schön in Java, lief selbst auf einem Smartphone schon ziemlich performant. Mittlerweile wurde das in C++ und dann auch nochmal in C komplett neu implementiert, weils deutlich schneller wurde. Jetzt geht 90% der Rechenzeit fürs Entpacken des JPEG drauf, deshalb basteln sie im Moment an der Engine.

Ist zwar nicht unbedingt eine Datenbankanwendung, das ist mir klar. Aber ich erinnere mich immer gerne an die latent aggressiven Erzählungen, wenn sich die Garbage Collection einfach mal wieder eingeschaltet hat wenns zeitsensibel war oder so :d
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh