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:
- Speicherkapazität ~ 100 TB
- Tabellen ~ 200, Größen von 1 GB bis 5 TB. Die mittlere Größe könnte zwischen 100 GB und 200 GB liegen
- 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
- 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.
- 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:
- Zur Zeit schaue ich auf Oracle. Wie waren Ihre Erfahrungen mit anderen kommerziellen (oder) OpenSource-Lösungen für große Datenbanken?
- Welches Hardware-Betriebssystem funktioniert am besten? Ich plane für Linux auf Dell.
- Ist Netzwerkspeicher wie NetApp ein Muss? Welche Probleme sehen Sie bei der Verwendung von handelsüblichen Festplatten?
- 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?
- 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?
- 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.
Antworten:
Erste Eindrücke
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.
Siehe (1). Herkömmliche Hardware auf einer gemeinsam genutzten Festplattenarchitektur ist bei diesem Datensatz wahrscheinlich langsam.
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.
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.
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.
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.
quelle
Einige andere Optionen, die bei massiven Datenmengen wie diesen berücksichtigt werden müssen, sind:
Planen Sie nicht, irgendwo an Hardwarekosten zu sparen. Ein System mit solchen Spezifikationen kostet Sie viel Geld.
quelle