Angesichts dieser Erwartungen, welche Sprache oder System würden Sie wählen die Lösung zu implementieren? [geschlossen]

StackOverflow https://stackoverflow.com/questions/455618

  •  19-08-2019
  •  | 
  •  

Frage

Hier sind die Schätzungen sollte das System handhaben:

  • 3000+ Endanwendern
  • 150+ Niederlassungen auf der ganzen Welt
  • 1500 gleichzeitige Benutzer zu Spitzenzeiten
  • 10.000+ tägliche Updates
  • 4-5 verpflichtet pro Sekunde
  • 50-70 Transaktionen pro Sekunde (liest / Suchen / Updates)

Dies wird nur intern Business-Anwendung sein, die sich mit dem Management der weltweiten Versand Reederei zu helfen.

Was wäre Ihre Technologie Wahl sein, warum diese Wahl und grob, wie lange es dauern würde, sie umzusetzen? Danke.

Hinweis: Ich bin nicht die Rekrutierung. : -)

War es hilfreich?

Lösung

Also fragte man, wie ich, ein solches Projekt angehen würde. In der Smalltalk-Welt, die Menschen scheinen zu bestätigen, dass Edelstein macht die Dinge ein wenig magisch skalieren.

Also, was ich wirklich tun, ist dies: ich in einem einfachen Squeak Bild zu entwickeln beginnen würde, mit SandstoneDB . Dann würde dieser Moment, wo ein einzelnes Bild zu langsam beginnt.

GemStone dann kümmert sich Ihre öffentliche Objekte zu kopieren (die sichtbar von einem bestimmten Stamm ) hin und her zwischen allen Instanzen. Sie erhalten Sitzungen und eine verbesserte Abfrage-Funktionalitäten sowie ziemlich schnell VM.

Es teilt Daten mit C, Java und Ruby.

In der Tat, sie haben ihre eigenen VM für Ruby , die auch einen Blick wert ist.

Andere Tipps

wikipedia schafft viel höhere Anforderungen mit MySQL

Ihre Volumina sind signifikant, aber wahrscheinlich keine glaubhafte RDBMS belasten, wenn effizient programmiert. Wenn Ihr Team schlampig ist (dh beiläufig setzen SQL-Abfragen direkt in Komponenten, die dann in größeren Komponenten zusammengesetzt sind), stellen Sie die Wahrscheinlichkeit eines „Multiplikator“ -Effekt, wo eine logische Anforderung (die notwendigen Daten für diese Seite erhalten) verwandelt sich in ein hohe Anzahl von physikalischen Datenbankabfragen.

Also, anstatt sich auf die Kapazität Ihres RDBMS Fokussierung, sollten Sie auf die Kapazität Ihrer Programmierer konzentrieren und den Grad der Implementierung Sprache und Umgebung Profilierung und Refactoring erleichtern.

Das Szenario, das Sie vorschlagen, ist eindeutig ein 24x7x365 ein, auch, so dass Sie auch die Notwendigkeit für die Überwachung / Armaturenbrett Anforderungen berücksichtigen sollten.

Es gibt keine Möglichkeit, Entwicklungsaufwand zu schätzen basierend auf den Bedürfnissen Sie präsentiert haben; es ist toll, dass Sie Ihre Transaktionen auf diese Ebene der Granularität, aber die wichtigste Determinante des Entwicklungsaufwand analysiert haben, wird die Domain und UI-Anforderungen sein.

Wählen Sie die Technologie, um Ihre Entwickler kennen und kennen. Alle wichtigen Technologien da draußen behandeln diese Anforderungen mit Leichtigkeit.

Ihr tägliches Update Zahlen vs Commits addieren sich nicht. Vier Commits pro Sekunde = 14.400 pro Stunde.

Sie erwähnen nichts über erwartete Datenbankgröße.

Auf jeden Fall würde ich meine Bemühungen konzentrieren sich auf eine robuste Backend wie Oracle die Wahl, Sybase, MS usw. Diese Wahl wird den größten Unterschied in der Leistung machen. Das vordere Ende könnte entweder ein Desktop-App oder Web App wird je nach Bedarf. Da dies auf der ganzen Welt in vielen Büros verwendet werden, ein Web-App könnte am meisten Sinn machen.

ich mit MySQL oder PostgreSQL gehen würde. Wahrscheinlich nicht für Ihre Anforderungen mit entweder einem Problem haben.

Ich liebe Objekt-Datenbanken. In Bezug auf den Commits pro Sekunde und Datenbank-Rundfahrt, kann keine relationale Datenbank halten. Schauen Sie sich db4o . Es ist tot leicht zu erlernen, die Beispiele reinhören!

Wie für die Programmiersprache und UI-Framework: Nun, nehmen, was Ihr Team gut ist. Dynamische Sprachen mit weniger Meta-Zeit verschwenden werden wahrscheinlich Zeit sparen.

Es gibt nicht genug hier bereitgestellten Informationen eine richtige Empfehlung zu geben. Eine wenig mehr Sorgfalt in Ordnung ist.

  • Was ist die IT-Kultur wie? Haben sie lieber viele kleine Server oder weniger größere Server oder große Eisen? Was ist ihre Position auf Virtualisierung?
  • Was ist die Unternehmenskultur wie? Was ist das politische Klima? Die Open-Source-Angebote können sehr gut die Last bewältigen, aber Sie können mit einem proprietären Anbieter gehen müssen, nur weil sie bereits verwendet werden, um die politischen Winde eines großen Unternehmens zu navigieren. Die Wahrnehmung ist wichtig.
  • Was ist der Reifegrad der Organisation? Haben sie bereits eine Enterprise Architecture Team an Ort und Stelle? Haben sie einmal wissen, was EA ist?
  • Sie haben die operative Seite, aber was ist mit der analytischen Seite beschrieben? Was für OLAP-Technologie erwarten sie oder bereits an der richtigen Stelle zu benutzen?
  • Apropos Integration, was andere Systeme werden Sie mit benötigen zu integrieren?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top