100 TeraBytes Capacity Database - Ressourcen und Zeitschätzungen

10

Ich arbeite an einer Berechnung auf der Rückseite des Umschlags für ein 100-TB-Berichtsdatenbank-Setup. Ich suche hier die Gedanken der Experten. Vorgeschlagene Umgebung:

  1. Speicherkapazität ~ 100 TB
  2. Tabellen ~ 200, Größen von 1 GB bis 5 TB. Die mittlere Größe könnte zwischen 100 GB und 200 GB liegen
  3. ETL - Jobs erfordern möglicherweise eine Verknüpfung zwischen Tabellen mit 10 Millionen Zeilen, wobei die Verknüpfungsschlüssel zwischen 10 und 500 Byte liegen. Solche Verbindungen sollten in weniger als 2-5 Minuten abgeschlossen sein
  4. Live-Auswahl - zunächst nur an ausgewählten Geschwindigkeiten interessiert. sollte 500 Auswahlen / Sekunde unterstützen. Aktualisierungen / Sekunde sind relativ viel kleiner und können für diese Übung ignoriert werden.
  5. benötigen 24x7 Verfügbarkeit. Für die Ausführung ausgewählter Anrufe (mit replizierten Daten) sollten 2 unabhängige DB-Server verfügbar sein.

Fragen:

  1. Zur Zeit schaue ich auf Oracle. Wie waren Ihre Erfahrungen mit anderen kommerziellen (oder) OpenSource-Lösungen für große Datenbanken?
  2. Welches Hardware-Betriebssystem funktioniert am besten? Ich plane für Linux auf Dell.
  3. Ist Netzwerkspeicher wie NetApp ein Muss? Welche Probleme sehen Sie bei der Verwendung von handelsüblichen Festplatten?
  4. Wenn die Hardware und das Betriebssystem bereit sind, wie viel Zeit würden Sie für die Einrichtung, Konfiguration der Datenbank, des Speichers usw. einplanen?
  5. Welche Teamzusammensetzungen haben in den von Ihnen beobachteten Umgebungen am besten funktioniert? Ich meine, die verschiedenen Administratoren (OS Admin, Oracle DB Admin?), Die für die Verwaltung und den Betrieb eines solchen Setups erforderlich sind. Wie viele davon werden möglicherweise benötigt, um eine Verfügbarkeit rund um die Uhr zu erreichen?
  6. Annäherung / Reichweite an DB-Lizenzen, Netzwerkspeicherkosten.

Ich weiß, dass ich nicht alle Umgebungsdetails habe. Ich suche keine genauen Details, eine Annäherung ist ausreichend. Obwohl einige der Fragen am besten von Managern beantwortet werden können, interessiert mich die Admins-Perspektive. Ich freue mich über Ihren Beitrag.

Kash
quelle
1
Ich denke, diese Frage ist zu weit gefasst, um sie zu beantworten. Ich werde andere sehen lassen, ob sie zustimmen, bevor ich Fortschritte mache.
Philᵀᴹ
1
@Phil Ich stimme zu, ich war mir nicht sicher, ob dies in mehrere Fragen aufgeteilt werden sollte, damit Benutzer mit unterschiedlichem Fachwissen unterschiedliche Teile beantworten können. Die Umgebungsbeschreibung ist jedoch für alle Fragen gleich. Stellen Sie daher eine einzelne Frage. Ich denke, dies ist möglicherweise meine erste Frage zu SO (obwohl ich ein regelmäßiger Benutzer von SO bin). Betrachten Sie mich also als Neuling. Wenn es einen besseren Weg gibt, diese Frage zu stellen, schlagen Sie dies bitte vor.
Kash
10
Das klingt nach einem Multi-Millionen-Dollar-Projekt. Würden Sie ein solches Projekt auf Forum-Ratschläge stützen?
Remus Rusanu
1
@RemusRusanu Dies ist nicht die einzige Informationsquelle. Wenn dies in die formelle Bewertungsphase geht, wird es viele andere Aktivitäten geben. Ich habe eine hohe Meinung von den Ratschlägen, die SO-Benutzer geben. Beim Schreiben der Frage war ich mir sicher, dass ich einige sehr nützliche Details finden werde, an die ich überhaupt nicht gedacht hatte.
Kash
1
@ RemusRusanu - es ist. Der letzte Preis, den ich für Netezza gesehen habe, war $ 20.000 / TB für TwinFin-Systeme. Ich bin mir nicht sicher, wofür eine Exadata-Box mit dieser Kapazität geeignet ist. Außerdem ist das SLA ziemlich aggressiv und das System scheint eine große Benutzerbasis zu haben. Möglicherweise ist eine größere Anzahl von Data Mart-Servern erforderlich, um die Abfragelast zu bewältigen.
ConcernedOfTunbridgeWells

Antworten:

21

Erste Eindrücke

  1. Abhängig von Ihren Leistungsanforderungen ist 100 TB ein ziemlich aggressives Datenvolumen. Wenn Sie Oracle möchten, sollten Sie die Exadata-Systeme überprüfen. Schauen Sie sich auch die Angebote von Netezza oder Teradata an. Mit diesem Auswahlvolumen möchten Sie möglicherweise ein OLAP-basiertes Front-End oder zumindest eine ziemlich aggressive Verwendung materialisierter Ansichten und das Umschreiben von Abfragen betrachten. Sie werden aus nichts 500 Tischscans / Sek. Erhalten.

    Für Dinge mit weniger strengen Latenzanforderungen sollten Sie eine größere Anzahl von Data Marts in Betracht ziehen, um die Berichtskapazität für Ihre Benutzergemeinschaft bereitzustellen. In diesem Fall sind SQL Server und SSAS möglicherweise eine Option für die Data Marts, da die Lizenzierung auf einer größeren Anzahl von Servern billiger ist als der Versuch, dasselbe mit Oracle zu tun.

  2. Siehe (1). Herkömmliche Hardware auf einer gemeinsam genutzten Festplattenarchitektur ist bei diesem Datensatz wahrscheinlich langsam.

  3. NEIN! Wenn jemand NFS vorschlägt, geben Sie ihm einen guten Tritt. Entweder Direct Attach Storage oder ein SAN mit mehreren Controllern mit vielen Midrange-Controllern. Denken Sie an ein paar Dutzend Controller der MD3000-Serie oder ähnliches - wenn Sie sich nicht für eine speziell entwickelte Big-Data-Plattform entscheiden.

  4. Holen Sie sich einen Speicherspezialisten mit Erfahrung in Data Warehouse-Plattformen der PB-Reihe. Sie sind wahrscheinlich bereit für einen bedeutenden ETL-Entwicklungsjob und eine Menge Testarbeit, wenn Sie eine strenge SLA erfüllen müssen.

  5. 24x7 in einem Data Warehouse ist im besten Fall ehrgeizig. Ist dies eine operative Berichtsplattform? Vielleicht können Sie Ihre Anforderungen etwas näher erläutern.

  6. Schließmuskel-faltig teuer und abhängig von Ihren Leistungsanforderungen. Zuletzt habe ich gesehen (vor ein paar Jahren), dass Netezza 20.000 US-Dollar / TB für TwinFin-Systeme angegeben hat, sodass Ihre Plattform 2 Millionen US-Dollar für 100 TB plus die Kosten für Ihren redundanten Server und Ihre Backup-Hardware beträgt. Exadata ist meiner Meinung nach etwas billiger, aber ich habe keine Preise zur Hand.

    Schauen Sie sich zum Vergleich Netezza, Exadata und eine Teradata-Plattform sowie die Kosten für Ab Initio als ETL-Tool an.

Dies ist eine ziemlich aggressive Reihe von Anforderungen - 24x7 in einem Data Warehouse wird normalerweise nicht durchgeführt und das Datenvolumen ist groß genug, um Sie in den Bereich einer Big-Data-Plattform zu versetzen. Wenn Sie eine betriebliche Berichtspflicht haben, sollten Sie sich genau ansehen, was das ist. Halten Sie es von Ihren Analysen getrennt, es sei denn, Sie haben einen bestimmten Grund (z. B. einen Marktdaten-Feed mit geringer Latenz), dies nicht zu tun. Das Mischen von Betriebs- und Analyseanforderungen auf derselben Plattform ist schlecht.

Ich denke, Sie müssen wirklich Spezialisten hinzuziehen, um Ihre Anforderungen zu bewerten. Ohne genauer zu betrachten, was Sie erreichen wollen, kann ich nur einige empirische Vorschläge machen, was zu tun ist oder nicht.

ConcernedOfTunbridgeWells
quelle
8

Einige andere Optionen, die bei massiven Datenmengen wie diesen berücksichtigt werden müssen, sind:

  1. Alles, was @ConcernedOfTunbridgeWells gepostet hat
  2. Greenplum von EMC
  3. Paralleles Data Warehouse von Microsoft

Planen Sie nicht, irgendwo an Hardwarekosten zu sparen. Ein System mit solchen Spezifikationen kostet Sie viel Geld.

mrdenny
quelle