Skalierbarkeit

In der Elektronik (einschließlich der Hardware, Kommunikation und Software) ist Skalierbarkeit die Fähigkeit eines Systems, Netzes, oder Prozesses, um wachsenden Betrag der Arbeit auf eine fähige Weise oder seine Fähigkeit zu behandeln, vergrößert zu werden, um dieses Wachstum anzupassen. Zum Beispiel kann es sich auf die Fähigkeit zu einem System beziehen, Gesamtdurchfluss unter einer vergrößerten Last zu vergrößern, wenn Mittel (normalerweise Hardware) hinzugefügt werden. Eine analoge Bedeutung wird einbezogen, wenn das Wort in einem kommerziellen Zusammenhang verwendet wird, wo die Skalierbarkeit einer Gesellschaft andeutet, dass das zu Grunde liegende Geschäftsmodell das Potenzial für das Wirtschaftswachstum innerhalb der Gesellschaft anbietet.

Skalierbarkeit, als ein Eigentum von Systemen, ist allgemein schwierig zu definieren, und in jedem besonderen Fall ist es notwendig, die spezifischen Voraussetzungen für die Skalierbarkeit auf jenen Dimensionen zu definieren, die wichtig gehalten werden. Es ist ein hoch bedeutendes Problem in Elektronik-Systemen, Datenbanken, Routern und Netzwerkanschluss. Wie man sagt, ist ein System, dessen sich Leistung nach dem Hinzufügen der Hardware proportional zur hinzugefügten Kapazität verbessert, ein ersteigbares System.

Wie man

sagt, klettern ein Algorithmus, Design, Protokoll, Programm oder anderes System vernetzend, wenn es angemessen effizient und wenn angewandt, auf große Situationen (z.B eine große Eingangsdatei, eine Vielzahl von Produktionen oder Benutzern, oder eine Vielzahl von teilnehmenden Knoten im Fall von einem verteilten System) praktisch ist. Wenn das Design oder System scheitern, wenn eine Menge zunimmt, klettert es nicht. In der Praxis, wenn es eine Vielzahl von Dingen n gibt, die Schuppen betreffen, dann muss n weniger wachsen als n. Ein Beispiel ist ein Suchmotor, der nicht nur für die Zahl von Benutzern klettern muss, aber für die Zahl von Gegenständen versieht es mit einem Inhaltsverzeichnis.

Das Konzept der Skalierbarkeit ist in der Technologie sowie den Geschäftseinstellungen wünschenswert. Das Grundkonzept entspricht - die Fähigkeit zu einem Geschäft oder Technologie, um vergrößertes Volumen zu akzeptieren, ohne den Beitragsrand zusammenzupressen (= Einnahmen − variable Kosten). Zum Beispiel kann ein gegebenes Stück der Ausrüstung Kapazität von 1-1000 Benutzern, und außer 1000 Benutzern haben, zusätzliche Ausrüstung ist erforderlich, oder Leistung wird sich neigen (variable Kosten werden vergrößern und Beitragsrand reduzieren).

Maßnahmen

Skalierbarkeit kann in verschiedenen Dimensionen gemessen werden wie:

  • Verwaltungsskalierbarkeit: Die Fähigkeit zu einer steigenden Zahl von Organisationen oder Benutzern, um ein einzelnes verteiltes System leicht zu teilen.
  • Funktionelle Skalierbarkeit: Die Fähigkeit, das System durch das Hinzufügen neuer Funktionalität an der minimalen Anstrengung zu erhöhen.
  • Geografische Skalierbarkeit: Die Fähigkeit, Leistung, Nützlichkeit oder Brauchbarkeit unabhängig von der Vergrößerung von der Konzentration in einem lokalen Gebiet zu einem mehr verteilten geografischen Muster aufrechtzuerhalten.
  • Lastskalierbarkeit: Die Fähigkeit zu einem verteilten System, um sich seine Quellenlache sich leicht auszubreiten und vertraglich zu verpflichten, schwerere oder leichtere Lasten oder Zahl von Eingängen anzupassen. Wechselweise hat die Bequemlichkeit, mit der ein System oder Bestandteil modifiziert werden können, beigetragen oder ist umgezogen, um sich ändernde Last anzupassen.

Beispiele

  • Ein Routenplanungsprotokoll wird ersteigbar in Bezug auf die Netzgröße betrachtet, wenn die Größe des notwendigen Routenplanungstisches auf jedem Knoten als O wächst (loggen Sie N), wo N die Zahl von Knoten im Netz ist.
  • Ein ersteigbares Online-Transaktionsverarbeitungssystem oder Datenbankverwaltungssystem sind dasjenige, das befördert werden kann, um mehr Transaktionen durch das Hinzufügen neuer Verarbeiter, Geräte und Lagerung zu bearbeiten, und das leicht und durchsichtig befördert werden kann, ohne es zu schließen.
  • Einige früh Gleicher-zu-Gleicher-(P2P) Durchführungen von Gnutella hatten kletternde Probleme. Jede Knotenabfrage hat seine Bitten allen Gleichen überschwemmt. Die Nachfrage auf jedem Gleichen würde im Verhältnis zur Gesamtzahl von Gleichen zunehmen, schnell die beschränkte Kapazität der Gleichen überflutend. Andere P2P Systeme wie BitTorrent klettern gut, weil die Nachfrage auf jedem Gleichen der Gesamtzahl von Gleichen unabhängig ist. Es gibt keinen zentralisierten Engpass, so kann sich das System unbestimmt ohne die Hinzufügung ausbreiten, Mittel (anders zu unterstützen, als die Gleichen selbst).
  • Die verteilte Natur des Domainname-Systems erlaubt ihm, effizient zu arbeiten, selbst wenn allen Gastgebern im Weltinternet gedient wird, so, wie man sagt, klettert es gut "".

Klettern Sie horizontal gegen vertikal

Methoden, mehr Mittel für eine besondere Anwendung hinzuzufügen, fallen in zwei breite Kategorien:

Klettern Sie horizontal (Skala)

Horizontal (oder Skala) zu klettern, bedeutet, mehr Knoten zu einem System, wie das Hinzufügen eines neuen Computers zu einer verteilten Softwareanwendung hinzuzufügen. Ein Beispiel könnte aus einem Webserver-System zu drei klettern.

Als Computerpreise fallen und Leistung fortsetzt, zuzunehmen, niedrig "Waren"-Systeme zu kosten, kann für die hohe Leistung Rechenanwendungen wie seismische Analyse und Biotechnologie-Arbeitspensen verwendet werden, die in der Vergangenheit gekonnt haben, nur durch Supercomputer behandelt werden. Hunderte von kleinen Computern können in einer Traube konfiguriert werden, um gesamte Rechenmacht zu erhalten, die häufig zu weit geht, hat dieser des einzelnen traditionellen RISC Verarbeiters wissenschaftliche Computer gestützt. Dieses Modell ist weiter durch die Verfügbarkeit von hohen Leistungsverbindungen wie Myrinet und Technologien von InfiniBand angetrieben worden. Es hat auch geführt, um Eigenschaften wie Fernwartung und für "Waren"-Systeme vorher nicht verfügbares Gruppe-Verarbeitungsmanagement zu fordern.

Das Modell der Skala hat eine vergrößerte Nachfrage nach der geteilten Datenlagerung mit der sehr hohen Eingabe/Ausgabe-Leistung besonders geschaffen, wo die Verarbeitung von großen Datenmengen, solcher als in der seismischen Analyse erforderlich ist. Das hat der Entwicklung von neuen Speichertechniken wie Gegenstand-Speichergeräte Brennstoff geliefert.

Skala bemühen sich Lösungen für Datenbankserver gnereally, zu einem geteilten nichts zu bewegen, was Architektur, die den Pfad herunterkommt, durch Google von sharding aufgeflammt hat.

Skala (schraubt) vertikal (hoch)

Vertikal zu klettern (oder hoch zu schrauben), bedeuten, Mittel zu einem einzelnen Knoten in einem System hinzuzufügen, normalerweise die Hinzufügung von Zentraleinheiten oder Gedächtnis zu einem einzelnen Computer einschließend. Solches vertikales Schuppen von vorhandenen Systemen ermöglicht ihnen auch, Virtualisierungstechnologie effektiver zu verwenden, weil es mehr Mittel für den veranstalteten Satz des Betriebssystems und der Anwendungsmodule zur Verfügung stellt, um sich zu teilen.

Das Ausnutzen solcher Mittel kann auch aufgerufen werden, wie Erweiterung der Zahl von Apachen-Dämon-Prozessen zurzeit das Laufen "kletternd".

Umtausche

Es gibt Umtausche zwischen den zwei Modellen. Größere Zahlen von Computern bedeuten vergrößerte Verwaltungskompliziertheit, sowie ein komplizierteres Programmiermodell und Probleme wie Durchfluss und Latenz zwischen Knoten; auch leihen einige Anwendungen sich zu einem verteilten Rechenmodell nicht. In der Vergangenheit hat der Preisunterschied zwischen den zwei Modellen "Skala" bevorzugt, für jene Anwendungen rechnend, die sein Paradigma passen, aber neue Fortschritte in der Virtualisierungstechnologie haben diesen Vorteil verschmiert, seit dem Entfalten eines neuen virtuellen Systems über einen Hyperschirm ist fast immer (wo möglich) weniger teuer als das wirkliche Kaufen und die Installation einer echten. Das Konfigurieren eines vorhandenen müßigen Systems ist immer weniger teuer gewesen als das Kaufen, die Installation und das Konfigurieren eines neuen unabhängig vom Modell.

Datenbankskalierbarkeit

Mehrere verschiedene Annäherungen ermöglichen Datenbanken, zur sehr großen Größe zu wachsen, während sie eine ständig steigende Rate von Transaktionen pro Sekunde unterstützen. Natürlich nicht rabattiert zu werden, ist der schnelle Schritt von Hardware-Fortschritten sowohl in der Geschwindigkeit als auch in der Kapazität von Massenspeichergeräten, sowie den ähnlichen Fortschritten in der Zentraleinheit und Netzwerkanschlussgeschwindigkeit. Darüber hinaus, eine Vielfalt von Architekturen werden in der Durchführung von sehr groß angelegten Datenbanken verwendet.

Eine Technik, die durch den grössten Teil des Hauptdatenbankverwaltungssystems (DBMS) Produkte unterstützt ist, ist das Verteilen von großen Tischen, die auf Wertbereichen in einem Schlüsselfeld gestützt sind. Auf diese Weise kann die Datenbank über eine Traube von getrennten Datenbankservern erklettert werden. Außerdem mit dem Advent von 64-Bit-Mikroprozessoren, Mehrkernzentraleinheiten und großen SMP Mehrverarbeitern, sind DBMS Verkäufer an der vordersten Reihe des Unterstützens von Mehrgewindedurchführungen gewesen, die wesentlich Transaktionsverarbeitungskapazität hoch schrauben.

Netzbeigefügte Lagerung (NAS) und Speicherbereich-Netze, die (OHNE) mit schnellen lokalen Bereichsnetzen und Faser-Kanaltechnologie verbunden sind, ermöglichen noch größere, loser verbundene Konfigurationen von Datenbanken und haben Rechenmacht verteilt. Der weit unterstützte X/Open XA Standard verwendet einen globalen Transaktionsmonitor, um verteilte Transaktionen unter halbautonomen XA-compliant Datenbankmitteln zu koordinieren. Orakel-RAC verwendet ein verschiedenes Modell, um Skalierbarkeit zu erreichen, die auf gestützt ist, "geteilt - alles" Architektur, die sich auf Hochleistungsverbindungen zwischen Servern verlässt.

Während DBMS Verkäufer die Verhältnisverdienste ihrer begünstigten Designs diskutieren, stellen einige Gesellschaften und Forscher die innewohnenden Beschränkungen von Verwandtschaftsdatenbankverwaltungssystemen infrage. GigaSpaces behauptet zum Beispiel, dass ein völlig verschiedenes Modell des verteilten Datenzugangs und der Transaktionsverarbeitung, genannt Raum gestützt Architektur, erforderlich ist, die höchste Leistung und Skalierbarkeit zu erreichen. Andererseits Basis bringt Man die Argumente für die äußerste Skalierbarkeit vor, ohne von Hauptströmungsdatenbanktechnologie abzuweichen. In jedem Fall scheint es, keine Grenze in Sicht zur Datenbankskalierbarkeit zu geben.

Design für die Skalierbarkeit

Es wird häufig empfohlen, Systemdesign auf der Hardware-Skalierbarkeit aber nicht auf der Kapazität einzustellen. Es ist normalerweise preiswerter, einen neuen Knoten zu einem System hinzuzufügen, um verbesserte Leistung zu erreichen als, an Leistungsoptimierung teilzunehmen, um die Kapazität zu verbessern, die jeder Knoten behandeln kann. Aber diese Annäherung kann abnehmenden Ertrag (wie besprochen, in der Leistungstechnik) haben. Zum Beispiel: Nehmen Sie an, dass 70 % eines Programms wenn parallelized und Lauf auf vielfachen Zentraleinheiten statt einer beschleunigt werden können. Wenn der Bruchteil einer Berechnung ist, die folgend ist, und der Bruchteil ist, der parallelized sein kann, wird die maximale Beschleunigung, die durch das Verwenden P von Verarbeitern erreicht werden kann, gemäß dem Gesetz von Amdahl gegeben:. Das Auswechseln gegen den Wert für dieses Beispiel mit 4 Verarbeitern kommen wir. Wenn wir die schätzen Macht zu 8 Verarbeitern verdoppeln, kommen wir. Die Verdoppelung der in einer Prozession gehenden Macht hat nur die Beschleunigung um ungefähr einen fünft verbessert. Wenn das ganze Problem parallelizable wäre, würden wir natürlich die Geschwindigkeit bis zum doppelten auch erwarten. Deshalb ist das Werfen in mehr Hardware nicht notwendigerweise die optimale Annäherung.

Schwach gegen das starke Schuppen

Im Zusammenhang der hohen Leistung, die schätzt, gibt es zwei allgemeine Begriffe der Skalierbarkeit. Das erste ist starkes Schuppen, das als definiert wird, wie sich die Lösungszeit mit der Zahl von Verarbeitern für eine feste Gesamtproblem-Größe ändert. Das zweite ist schwaches Schuppen, das als definiert wird, wie sich die Lösungszeit mit der Zahl von Verarbeitern für eine feste Problem-Größe pro Verarbeiter ändert.

Siehe auch

Links


Zurückgegeben und Dienstleistungsliga Australiens / Das erste Gebot
Impressum & Datenschutz