Von Techopedia Staff, 19. April 2017
Imbiss: Der Moderator Eric Kavanagh diskutiert Prognosen mit Dr. Robin Bloor, Rick Sherman und IDERAs Bullett Manale.
Sie müssen sich für diese Veranstaltung registrieren, um das Video anzuzeigen. Registrieren Sie sich, um das Video zu sehen.
Eric Kavanagh: Sehr geehrte Damen und Herren, hallo noch einmal und herzlich willkommen zurück zur Webcast-Serie von Hot Technologies! Mein Name ist Eric Kavanagh, ich bin Ihr Gastgeber für das heutige Web-Seminar mit dem Titel „Zeit, Geld und Ärger mit optimalen Prognosen sparen“. Natürlich habe ich den ersten Teil des Titels „The Best Laid Plans“ dort verpasst Sprechen Sie in dieser Show immer darüber. Natürlich ist Hot Technologies unser Forum, um zu verstehen, welche coolen Produkte es heute auf der Welt gibt, welche Unternehmenstechnologien es gibt, was die Leute damit machen, wie sie funktionieren und was so viel Spaß macht.
Und das Thema heute befasst sich, wie ich vorschlage, mit Prognosen. Sie versuchen wirklich zu verstehen, was in Ihrer Organisation passieren wird. Wie halten Sie Ihre Benutzer bei Laune, egal was sie tun? Wenn sie Analysen durchführen, wenn sie echte Arbeit leisten, wenn sie reale Kunden mit Transaktionssystemen konfrontieren, möchten Sie in jedem Fall verstehen, wie Ihre Systeme funktionieren und was los ist, und das ist es, was wir tun. Ich werde heute darüber reden. Es ist irgendwie lustig, weil Prognosen nichts sind, was ich gerne mache, weil ich abergläubisch bin, so wie ich denke, wenn ich zu viele Prognosen mache, passieren schlimme Dinge, aber das bin nur ich. Folge nicht meinem Beispiel.
Also, hier sind unsere Moderatoren heute, Ihre wirklich in der oberen linken Ecke, Rick Sherman wählt sich aus Boston ein, unser Kumpel Bullett Manale von IDERA und unser eigener Dr. Robin Bloor. Und damit übergebe ich es Robin und erinnere die Leute nur daran: Stell Fragen, sei nicht schüchtern, wir lieben gute Fragen, wir werden sie heute unseren Moderatoren und anderen vorlegen. Und damit, Robin, nimm es weg.
Robin Bloor: Okay, da ich in der Pole Position bin, dachte ich, ich würde heute eine SQL-Geschichte erzählen, weil dies der Hintergrund für die Diskussion ist, die weitergeht, und es wird unvermeidlich nicht zu Konflikten kommen denn Rick konzentriert sich nicht darauf und wird nicht mit dem in Konflikt geraten, was Rick zu sagen hat. Also, die SQL-Geschichte, es gibt einige interessante Dinge über SQL, weil es so dominant ist. Sehen Sie, das ist ein Tippfehler, SQL ist eine deklarative Sprache. Die Idee war, dass Sie eine Sprache erstellen könnten, in der Sie das anfordern würden, was Sie wollten. Und die Datenbank würde herausfinden, wie man es bekommt. Eigentlich hat es ziemlich gut geklappt, aber es gibt eine Reihe von Dingen, die es wert sind, darüber gesprochen zu werden, nämlich die Konsequenzen, wenn die gesamte IT-Branche auf einer deklarativen Sprache basiert. Der Benutzer weiß nichts über die physische Organisation der Daten und das ist das Gute an der deklarativen Sprache - sie trennt Sie von all dem und macht Ihnen sogar Sorgen - fragen Sie einfach nach, was Sie wollen, und nach der Datenbank werde gehen und es bekommen.
Der Benutzer hat jedoch keine Ahnung, ob sich die Art und Weise, wie die SQL-Abfrage strukturiert wird, auf die Leistung der Abfrage auswirkt, und das ist ein kleiner Nachteil. Ich habe Abfragen gesehen, die Hunderte und Hunderte von Zeilen lang sind, die nur eine SQL-Anforderung darstellen, die mit "select" beginnt und nur mit Unterabfragen und so weiter und so fortfährt. Und tatsächlich stellt sich heraus, dass Sie, wenn Sie eine bestimmte Sammlung von Daten aus einer Datenbank abrufen möchten, diese mit SQL auf viele verschiedene Arten abrufen und die gleiche Antwort erhalten können, wenn Sie mit den Daten vertraut sind. Daher ist eine SQL-Abfrage nicht unbedingt die beste Methode, um Daten anzufordern, und Datenbanken reagieren je nach der von Ihnen eingegebenen SQL ganz unterschiedlich.
Und so wirkt sich SQL tatsächlich auf die Leistung aus. Menschen, die SQL verwenden, sind es auch, die SQL-Programmierer, die SQL verwenden, und sie sind sogar noch weniger geneigt, über die Auswirkungen nachzudenken, die sie haben werden, weil Der größte Schwerpunkt liegt auf der Manipulation von Daten und nicht auf dem Abrufen und Ablegen von Daten. Das Gleiche gilt auch für BI-Tools. Ich habe gesehen, wie SQL, wenn Sie so wollen, aus BI-Tools verschiedener Datenbanken herausgeholt wird, und es muss gesagt werden, dass vieles davon, na ja, nicht wahr ist. Schreiben Sie solche SQL-Abfragen nicht. Es ist jemand, der, wenn Sie möchten, einen kleinen Motor geschaffen hat, der, unabhängig von den Parametern, SQL auslöst, und auch hier muss SQL nicht unbedingt effizient sein.
Dann dachte ich, ich würde die Impedanz-Fehlanpassung erwähnen, die Daten, die Programmierer verwenden, unterscheiden sich von den Daten, die sie sortieren. Unser DMS speichert Daten in Tabellen, organisiert den objektorientierten Code als Codierer, programmiert heutzutage objektorientiert und ordnet Daten in Objektstrukturen, sodass sie nicht aufeinander abgebildet werden. Es besteht also die Notwendigkeit, von dem, was der Programmierer für die Daten hält, in das zu übersetzen, was die Datenbank für die Daten hält. Wie es scheint, müssen wir etwas falsch gemacht haben, damit dies der Fall ist. SQL verfügt über DDL für die Datendefinition und über DML (Data Manipulation Language) - Auswählen, Projizieren und Verknüpfen, um diese Daten abzurufen. Jetzt gibt es sehr wenig Mathematik und sehr wenig zeitbasiertes Zeug, also ist es die unvollkommene Sprache, obwohl gesagt werden muss, dass sie erweitert wurde und weiterhin erweitert wird.
Und dann haben Sie das Problem der SQL-Barriere, das immer klarer ist als das Diagramm, da viele Leute aus analytischen Gründen Fragen stellten, sobald sie die Antwort auf die Frage Datenbegriffe erhielten, eine andere Frage stellen möchten. Es wird also zu einer Dialogsache. Nun, SQL wurde nicht für Dialoge erstellt, sondern für die Frage, was Sie auf einmal möchten. Und es lohnt sich zu wissen, dass es einige Produkte gibt, die SQL tatsächlich aufgeben, um die Konversation zwischen dem Benutzer und den Daten zu ermöglichen.
In Bezug auf die Datenbankleistung - und diese Art von Datenverbreitung - gibt es CPU, Arbeitsspeicher, Festplatten, Netzwerk-Overheads und das Problem, dass mehr als eine Person die Daten zu einem bestimmten Zeitpunkt exklusiv nutzen möchte Zeitpunkt. Es gibt aber auch schlechte SQL-Aufrufe, und es gibt eine Menge zu tun, wenn Sie die SQL tatsächlich in Bezug auf die Leistung optimieren. Faktoren für die Datenbankleistung: fehlerhaftes Design, fehlerhaftes Programmdesign, fehlende Parallelität der Arbeitslast, Lastenausgleich, Abfragestruktur, Kapazitätsplanung. Das ist Datenwachstum. Kurz gesagt, SQL ist praktisch, optimiert sich jedoch nicht von selbst.
Trotzdem denke ich, dass wir an Rick weitergeben können.
Eric Kavanagh: Okay, Rick, lassen Sie mich Ihnen die Schlüssel für das WebEx-Auto geben. Nimm es weg.
Rick Sherman: In Ordnung, großartig. Nun, danke Robin, als wir zu Beginn der Präsentation angefangen haben, sind meine Grafiken immer noch ziemlich langweilig, aber wir werden weitermachen. Also stimme ich allem zu, worüber Robin auf der SQL-Seite gesprochen hat. Aber ich möchte mich jetzt ein wenig auf die Nachfrage nach Daten konzentrieren, die wir sehr schnell durchlaufen werden, das Angebot wie bei Werkzeugen, die in diesem Raum verwendet werden, oder den Bedarf an Werkzeugen in diesem Raum.
Zunächst einmal gibt es in jedem Artikel, den Sie lesen, einige, die mit Big Data, vielen Daten, unstrukturierten Daten aus der Cloud und Big Data zu tun haben, die Sie sich überall vorstellen können. Aber das Wachstum des Datenbankmarktes war kontinuierlich mit SQL, relationale Datenbanken machen wahrscheinlich ab 2015 immer noch 95 Prozent des Datenbankmarktes aus. Die drei größten relationalen Anbieter haben in diesem Bereich einen Marktanteil von rund 88 Prozent. Während Robin sprach, reden wir immer noch über SQL. Selbst wenn wir uns die Hadoop-Plattform ansehen, ist Hive and Spark SQL - das mein Sohn, der Datenwissenschaftler ist, die ganze Zeit nutzt - mit Sicherheit die dominierende Methode, um an Daten zu gelangen.
Auf der Datenbankseite gibt es nun zwei große Kategorien für die Verwendung von Datenbanken. Einer ist für betriebliche Datenbankverwaltungssysteme, also für die Planung von Unternehmensbeziehungen, die Verwaltung von Kundenbeziehungen, die Salesforce-ERPs, Oracles, EPICs, N4s usw. der Welt. Außerdem gibt es eine große und wachsende Datenmenge in Data Warehouses und anderen auf Business Intelligence basierenden Systemen. Weil alles, unabhängig davon, wo und wie es erfasst, gespeichert oder abgewickelt wird, irgendwann analysiert wird und somit eine enorme Nachfrage und Zunahme der Nutzung von Datenbanken besteht, insbesondere von relationalen Datenbanken auf dem Markt.
Jetzt haben wir die Nachfrage, es kommen riesige Datenmengen. Dabei geht es nicht nur um Big Data, sondern auch um die Verwendung von Daten in Unternehmen aller Art. Aber wenn wir von der Angebotsseite aus sehen, dass Menschen, die diese Ressourcen verwalten können, zunächst einmal einen DBA-Mangel haben. Nach Angaben des Bureau of Labour Statistics werden die DBA-Jobs von 2014 bis 2024 nur um 11 Prozent wachsen - das sind jetzt Leute mit DBA-Berufsbezeichnungen, aber darüber werden wir gleich sprechen - im Vergleich zu den 40-Jährigen. plus Prozent jährlicher Datenwachstumsraum. Und wir haben viele DBAs; Im Durchschnitt ist dieselbe Studie, in der über das Durchschnittsalter gesprochen wurde, im Vergleich zu anderen IT-Berufen ziemlich hoch. Und dann haben wir eine Menge Leute, die das Feld verlassen und nicht unbedingt in den Ruhestand gehen, sondern sich anderen Aspekten widmen, ins Management gehen oder was auch immer.
Ein Grund, warum sie jetzt gehen, ist, dass der DBA-Job immer schwieriger wird. Zunächst haben wir Datenbankadministratoren, die viele verschiedene Datenbanken selbst verwalten, physische Datenbanken, die sich überall befinden, sowie verschiedene Arten von Datenbanken. Das kann relational sein, oder es können auch andere Datenbanktypen sein. Aber selbst wenn es relational ist, können sie einen, zwei, drei oder vier verschiedene Anbieter haben, die sie tatsächlich verwalten wollen. DBAs werden normalerweise nach dem Entwurf der Datenbank oder der Anwendung einbezogen. Robin sprach darüber, wie Datenbanken oder Anwendungen entworfen werden, wie SQL entworfen wird. Wenn es um Datenmodellierung, ER-Modellierung, erweiterte ER-Modellierung, Dimensionsmodellierung und erweiterte dimensionale Modellierung geht, haben Anwendungsprogrammierer und Anwendungsentwickler in der Regel nicht das Ziel, sondern die Effizienz von die Datenbankstruktur selbst. Wir haben also viel schlechtes Design.
Jetzt spreche ich nicht über die kommerziellen Anbieter von Unternehmensanwendungen. Sie haben in der Regel ER-Modelle oder erweiterte ER-Modelle. Ich spreche davon, dass in jedem Unternehmen viel mehr Geschäftsprozesse und Anwendungen von Anwendungsentwicklern erstellt werden - diese sind nicht unbedingt auf Effizienz oder Effektivität der Bereitstellung ausgelegt. Und die Datenbankadministratoren selbst sind überlastet und haben manchmal die Verantwortung rund um die Uhr. Sie erhalten immer mehr Datenbanken. Ich denke, das hat ein bisschen damit zu tun, dass die Leute nicht ganz verstehen, was sie tun oder wie sie es tun. Ihre eigene kleine Gruppe und die Leute denken immer wieder: „Nun, all diese Tools sind so einfach zu bedienen, dass wir immer mehr Datenbanken für ihre Arbeitslast verwenden können.“ Das ist nicht der Fall.
Was uns zu den Teilzeit- und Unfall-DBAs führt. Wir haben kleine IT-Teams, die sich nicht unbedingt einen dedizierten Datenbankadministrator leisten können. Nun, das gilt für kleine und mittlere Unternehmen, in denen der Ausbau von Datenbanken und Datenbankanwendungen im letzten Jahrzehnt explodiert ist und weiter zunimmt. Es ist aber auch bei großen Unternehmen der Fall, die in der Regel lange Zeit Data Warehousing und Business Intelligence-Analysen durchgeführt haben. Vor langer Zeit haben wir spezielle DBAs für diese Projekte erhalten. Wir bekommen nie mehr einen dedizierten DBA. Wir sind dafür verantwortlich, die Datenbank zu entwerfen, was in Ordnung ist, wenn es jemand ist, der Erfahrung hat. Aber im Allgemeinen sind die Datenbankadministratoren Anwendungsentwickler, sie übernehmen diese Rolle oft als Teilzeitbeschäftigung, sie verfügen nicht über eine formale Ausbildung und sie entwerfen sie wieder für ihre Endziele nicht auf Effizienz ausgelegt.
Und es gibt einen großen Unterschied zwischen Design und Entwicklung im Vergleich zu Bereitstellung und Verwaltung. Wir haben also die "Penny Wise, Pfund Dummheit" mit einem kleinen Sparschwein da, das überspringt, um die Fähigkeiten und Ressourcen zu bekommen, die für die Projekte benötigt werden. Ich denke, dass jeder von "Revenge of the Nerds" ist, mein kleines Bild dort. Soweit es die Menschen brauchen, werden Datenbanken und Daten in SQL immer häufiger verwendet. Wir haben eine begrenzte Anzahl von Datenbankadministratoren - Personen, die in diesen Situationen der Optimierung und des Entwurfs sowie der Verwaltung und Bereitstellung kompetent und kompetent sind. Und wir haben immer mehr Teilzeit- oder versehentliche DBAs, Leute, die nicht die formale Ausbildung hatten.
Also, was sind einige der anderen Dinge, die auch in das Problem der Tatsache geraten, dass diese Datenbanken nicht so gut optimiert oder auch nicht so gut verwaltet werden? Zunächst einmal gehen viele Menschen davon aus, dass das Datenbanksystem selbst über ausreichende Tools verfügt, um sich selbst zu verwalten. Jetzt werden die Tools immer einfacher - Design und Entwicklung - aber das ist etwas anderes als ein gutes Design und eine gute Verwaltung, Kapazitätsplanung, Überwachung usw. für die Bereitstellung. Zuallererst gehen die Leute davon aus, dass sie über alle Werkzeuge verfügen, die sie benötigen. Zweitens, wenn Sie ein Teilzeit- oder versehentlicher DBA sind, wissen Sie nicht, was Sie nicht wissen.
Ich glaube, ich habe dort einen Teil des Ausdrucks vergessen, so dass sie oft einfach nicht verstehen, worauf sie im Design überhaupt achten müssen oder wann sie die Datenbanken verwalten oder betreiben. Wenn das nicht dein Beruf ist, wirst du nicht verstehen, was du tun musst. Drittens handelt es sich bei SQL um ein Go-to-Tool, weshalb Robin über SQL sprach und darüber, wie schlecht SQL manchmal oder häufig aufgebaut ist. Und eines meiner Lieblingsprobleme im Bereich BI-Data-Warehousing, Datenmigration und Datentechnik ist, dass die Leute, anstatt Tools zu verwenden, dazu neigen, SQL-Code und gespeicherte Prozeduren zu schreiben, selbst wenn sie ein teures Datenintegrationstool verwenden oder Als teures BI-Tool wird es häufig nur zum Ausführen gespeicherter Prozeduren verwendet. Damit die Bedeutung des Verständnisses des Datenbankdesigns und der Erstellung von SQL immer mehr an Bedeutung gewinnt.
Und schließlich gibt es diesen Silo-Ansatz, bei dem sich einzelne Personen einzelne Datenbanken ansehen. Sie sehen nicht, wie die Anwendungen funktionieren und interagieren. Außerdem schauen sie sich häufig die Datenbanken und die Anwendungen an, für die sie sie verwenden. Die Arbeitslast, die Sie für die Datenbank benötigen, ist entscheidend für den Entwurf, für die Optimierung, für die Planung der Kapazität usw. Wenn Sie also den Wald von den Bäumen aus betrachten, befinden sich die Menschen im Unkraut Betrachten Sie die einzelnen Tabellen und Datenbanken und nicht die Gesamtinteraktion dieser Anwendungen in der Arbeitslast.
Schließlich müssen die Menschen die Schlüsselbereiche betrachten, die sie betrachten müssen. Wenn sie vorhaben, Datenbanken zu verwalten, müssen sie zuerst überlegen, einige anwendungsbezogene Leistungsmetriken entwickeln, damit sie nicht nur die Struktur dieser Tabelle und ihre besondere Modellierung untersuchen, sondern auch ihre Verwendung. Wenn Sie also über eine Unternehmensanwendung verfügen, die im Supply Chain Management fällig ist, wenn Sie Aufträge aus dem Internet entgegennehmen, wenn Sie BI ausführen - was auch immer Sie tun -, müssen Sie prüfen, wer es verwendet und wie es ist Verwenden Sie es, was die Datenmengen sind, wenn es passieren wird. Was Sie wirklich suchen, sind die Wartezeiten, denn egal was passiert, alle Anwendungen werden danach beurteilt, wie lange es dauert, bis etwas erledigt ist, ob es sich um eine Person oder nur um den Datenaustausch zwischen Anwendungen oder Prozessoren handelt. Und was sind die Engpässe? Wenn Sie versuchen, Probleme zu beheben, versuchen Sie natürlich so oft, die tatsächlichen Engpässe herauszufinden - nicht unbedingt, wie Sie alles optimieren, sondern wie Sie die Wartezeiten verkürzen und die Leistung steigern und Durchsatz - was auch immer Sie betrachten müssen.
Und Sie müssen die Datenerfassung, die Transaktionen, die Transformationsaspekte in der Datenbank sowie die Analysen wirklich trennen. Jedes von ihnen hat unterschiedliche Designmuster, jedes von ihnen hat unterschiedliche Verwendungsmuster und jedes von ihnen muss anders abgestimmt werden. Sie müssen also darüber nachdenken, wie diese Daten verwendet werden, wann sie verwendet werden, wofür sie verwendet werden, und herausfinden, welche Leistungsmetriken und welche Schlüsselsachen Sie im Zusammenhang mit dieser Verwendung analysieren möchten. Wenn Sie nun die Leistung überwachen möchten, möchten Sie sich die Datenbankvorgänge selbst ansehen. Sie möchten sich sowohl die Datenstrukturen als auch die Indizes, die Partitionierung und andere physische Aspekte der Datenbank ansehen. Auch die Struktur der Datenbank - egal, ob es sich um ein ER-Modell oder ein dimensionales Modell handelt, wie strukturiert sie auch sein mag - all diese Faktoren wirken sich auf die Leistung aus insbesondere in den verschiedenen Kontexten der Datenerfassungsanalyse und den damit verbundenen Transformationen.
Und wie Robin auf der SQL-Seite erwähnt hat, ist es wichtig, die SQL zu betrachten, die von diesen verschiedenen Anwendungen in diesen Datenbanken ausgeführt wird, und sie zu optimieren. Betrachten Sie die Gesamtauslastung der Anwendungen und die Infrastrukturumgebung, in der diese Datenbanken und Anwendungen ausgeführt werden. Damit die Netzwerke, die Server, die Cloud - auf was auch immer sie ausgeführt werden - auch die Auswirkungen betrachten, die diese Anwendungen und diese Datenbanken in diesem Kontext haben, spielen all diese Faktoren zusammen, um die Datenbank optimieren zu können.
Wenn Sie sich schließlich Tools ansehen, möchten Sie in der Lage sein, die drei verschiedenen Arten von Analysen zu betrachten, die damit zusammenhängen. Sie möchten sich die deskriptive Analyse ansehen: Was passiert und wo? Bezogen auf die Datenbank und die Anwendungsleistung. Sie möchten in der Lage sein, diagnostische Analysen durchzuführen, um nicht nur herauszufinden, was gerade passiert, sondern warum es passiert, wo die Engpässe liegen, wo die Probleme liegen, was gut läuft, was nicht gut läuft? Aber in der Lage zu sein, die Problembereiche zu analysieren und aufzuspüren, um diese entweder für das Design oder was auch immer Sie tun müssen, anzugehen.
Und schließlich besteht die aggressivste oder proaktivste Art der Analyse darin, tatsächlich eine Vorhersageanalyse durchzuführen, eine Modellierung der Vorhersageanalyse, was auch immer. Wir wissen, dass die Datenbank und die Anwendungen in diesem Kontext funktionieren, wenn wir die Kapazität erhöhen, wenn wir mehr Benutzer erhalten, wenn wir mehr Durchsatz erzielen, was auch immer wir tun, um herauszufinden, was, wie und wo dies geschehen wird Die Auswirkungen auf die Datenbank und die Anwendungen ermöglichen es uns, proaktiv zu planen und herauszufinden, wo die Engpässe liegen, wo die Wartezeiten möglicherweise leiden und was wir tun müssen, um die Probleme zu beheben. Daher möchten wir Tools haben, mit denen die Leistungsmetriken implementiert und die Leistung überwacht werden können, wie bei diesen drei Analysetypen. Und das ist meine Übersicht.
Eric Kavanagh: Also gut, lassen Sie es mich übergeben - das sind übrigens zwei großartige Präsentationen - lassen Sie mich dies Bullett Manale übergeben, um es von dort zu übernehmen. Und Leute, vergiss nicht, gute Fragen zu stellen; Wir haben bereits einige gute Inhalte. Nimm es weg, Bullett.
Bullett Manale: Hört sich gut an. Danke, Eric. Also, eine Menge von dem, was Rick und Robin gesagt haben, stimme ich offensichtlich zu 100 Prozent zu. Ich würde sagen, dass ich diese Folie nach oben gezogen habe, weil ich denke, dass es passt. Ich weiß nicht, dass John Hannibal Smith in den 80er Jahren für diejenigen von euch, die "A-Team" -Fans sind, ein Sprichwort hatte, das er immer hatte Sagen Sie: "Ich liebe es, wenn ein Plan zusammenkommt." Und ich denke, wenn Sie über den SQL Server sprechen, auf den wir uns konzentrieren, dann ist dies das Produkt, über das wir heute sprechen werden. SQL Diagnostic Manager ist definitiv eines der Dinge, die Sie haben müssen. Sie müssen in der Lage sein, die vorhandenen Daten zu nutzen und aus diesen Daten Entscheidungen zu treffen, und in einigen Fällen suchen Sie keine Entscheidung. Sie suchen nach etwas, das Ihnen sagt, wann Ressourcen knapp werden, wann Ressourcen knapp werden, wann Sie einen Engpass haben, solche Dinge.
Es geht nicht nur darum, eine bestimmte Metrik zu überwachen. Mit Diagnostic Manager können Sie also unter anderem Vorhersagen treffen und spezifische Informationen zu den Arbeitsauslastungen erhalten. Darüber werden wir heute noch viel sprechen. Das Tool ist auf den Datenmanager, den Datenbankadministrator oder den amtierenden Datenbankadministrator ausgerichtet. Viele der Dinge, über die Rick gesprochen hat, sind also zutreffend. In vielen Fällen, wenn Sie kein DBA sind, wird es eine Menge Fragezeichen geben, wenn es darum geht, eine SQL-Umgebung zu verwalten, Dinge, die Sie nicht kennen. Und so suchen Sie nach etwas, das Ihnen hilft, Sie durch diesen Prozess führt und Sie auch in diesem Prozess unterrichtet. Daher ist es wichtig, dass das Tool, das Sie für diese Art von Entscheidungen verwenden, Ihnen einen Einblick in die Gründe gibt, warum diese Entscheidungen getroffen werden. Es sagt Ihnen nicht nur: "Hey, tun Sie das."
Da ich der amtierende DBA bin, könnte ich schließlich der ausgewachsene DBA mit dem tatsächlichen Fachwissen und Wissen sein, um diesen Titel zu untermauern. Wenn wir also davon sprechen, ein Datenbankadministrator zu sein, zeige ich diese Folie immer zuerst, da der DBA verschiedene Rollen hat und je nach Organisation, in der Sie arbeiten, Diese werden von Ort zu Ort unterschiedlich sein - aber in der Regel sind Sie immer in gewisser Weise für Ihren Speicher, Ihre Planung dieses Speichers und das Verständnis verantwortlich, vorauszusehen, wie viel Speicherplatz Sie belegen zu brauchen, ob es für Ihre Sicherungen ist, oder ob es für die Datenbanken selbst ist. Sie müssen das verstehen und bewerten.
Darüber hinaus müssen Sie in der Lage sein, die Dinge nach Bedarf zu verstehen und zu optimieren, und während Sie die Umgebung überwachen, ist es offensichtlich wichtig, dass Sie Änderungen nach Bedarf auf der Grundlage der Dinge vornehmen, die erforderlich sind Veränderung innerhalb der Umwelt selbst. Dinge wie die Anzahl der Benutzer, die Beliebtheit von Anwendungen und die Saisonalität einer Datenbank sollten bei der Prognose berücksichtigt werden. Und dann offensichtlich andere Aspekte im Hinblick auf die Bereitstellung der Berichte und der Informationen, die für das Treffen dieser Entscheidungen erforderlich sind. In vielen Fällen bedeutet dies eine vergleichende Analyse. Dies bedeutet, dass Sie sich eine bestimmte Metrik genau ansehen und verstehen können, wie hoch der Wert dieser Metrik im Laufe der Zeit war, damit Sie vorhersagen können, wohin sie sich entwickeln wird.
Was für eine Menge Funktionen das Tool Diagnostic Manager bietet, und die Leute nutzen es jeden Tag, um z. B. Prognosen zu erstellen, und ich habe hier die Definition der Kapazitätsplanung eingefügt. Und es ist eine ziemlich weit gefasste und eigentlich ziemlich vage Definition, bei der es nur darum geht, die Produktionskapazität zu bestimmen, die ein Unternehmen benötigt, um den sich ändernden Anforderungen an seine Produkte gerecht zu werden. Letztendlich geht es darum: Es geht darum Informationen aufnehmen zu können, die Sie auf die eine oder andere Weise haben, und diese Informationen zu treffen und Entscheidungen zu treffen, die Ihnen helfen, im Laufe des Lebenszyklus Ihrer Datenbanken voranzukommen. Die Gründe, warum Menschen dies tun müssen, sind offensichtlich in erster Linie, in den meisten Fällen, um Geld zu sparen. Unternehmen haben offensichtlich das Hauptziel, Geld zu verdienen und Geld zu sparen. Gleichzeitig bedeutet dies aber auch, dass Sie sicherstellen können, dass es zu keinen Ausfallzeiten kommt. Und Sie können sicherstellen, dass Ausfallzeiten so gering wie möglich gehalten werden, dh, Sie müssen nicht darauf warten, dass sie eintreten, und dann darauf reagieren.
Neben der allgemeinen Steigerung der Produktivität Ihrer Benutzer ist es natürlich entscheidend, diese effizienter zu gestalten, damit Sie mehr Geschäfte abwickeln können. Dies sind also die Dinge, die der DBA oder eine an Prognosen oder Kapazitäten beteiligte Person tun Planung muss in der Lage sein, die Informationen zu durchforsten, um diese Entscheidungen treffen zu können. Und insgesamt hilft Ihnen dies natürlich dabei, Verschwendung zu vermeiden, nicht nur in Bezug auf Geld, sondern auch in Bezug auf Zeit und in Bezug auf Ressourcen, die möglicherweise für andere Zwecke verwendet werden könnten. In der Lage sein, diesen Abfall zu beseitigen, so dass Sie keine Opportunitätskosten haben, die mit dem Abfall selbst verbunden sind.
Welche Art von Fragen erhalten wir also speziell für die Person, die ein DBA ist? Wann werde ich keinen Platz mehr haben? Das ist eine große Frage, nicht nur wie viel Platz ich jetzt verbrauche, sondern wann werde ich knapp, basierend auf den Trends und der Vergangenheit? Dasselbe gilt für die tatsächlichen Instanzen von SQL, die Datenbanken. Welche Server kann ich konsolidieren? Ich werde einiges auf die VMs schreiben. Was macht Sinn, wenn es darum geht, welche Datenbanken ich konsolidieren möchte und auf welchen SQL-Instanzen sie sich befinden sollen? Alle diese Fragen müssen beantwortet werden können. Denn in den meisten Fällen, wenn Sie DBA sind oder als DBA fungieren, werden Sie dies irgendwann in Ihrer Karriere konsolidieren. In vielen Fällen werden Sie dies kontinuierlich tun. Sie müssen also in der Lage sein, diese Entscheidungen schnell zu treffen und dabei keine Ratespiele zu spielen.
Wir haben über Engpässe gesprochen und darüber, wo sie als nächstes auftreten werden, um dies erneut zu antizipieren, anstatt darauf zu warten, dass sie eintreten. All diese Dinge, über die wir sprechen, sind in dem Sinne sinnvoll, dass Sie sich in den meisten Fällen auf historische Daten verlassen, um diese Empfehlungen zu generieren, oder in einigen Fällen in der Lage sind, Entscheidungen selbst zu formulieren. in der Lage zu sein, mit diesen Antworten zu kommen. Aber es erinnert mich daran, dass, wenn Sie die Radiowerbung für jemanden hören, der Wertpapiere oder ähnliches verkauft, die Performance in der Vergangenheit immer kein Hinweis auf zukünftige Ergebnisse ist und auf solche Dinge. Und das Gleiche gilt hier. Es wird Situationen geben, in denen diese Prognosen und Analysen möglicherweise nicht zu 100 Prozent stimmen. Aber wenn Sie mit Dingen zu tun haben, die in der Vergangenheit passiert sind und die bekannten, und wenn Sie in der Lage sind, das „Was-wäre-wenn“ mit vielen dieser Arten von Fragen zu beantworten und zu tun, werden Sie darauf stoßen, das ist sehr wertvoll und es wird Sie viel weiter bringen, als das Ratespiel zu spielen.
Also, diese Art von Fragen werden offensichtlich auftauchen, also wie wir viele dieser Fragen mit Diagnostic Manager behandeln, zuallererst verfügen wir über Prognosefunktionen, die dies sowohl in der Datenbank als auch am Tisch tun können als das Laufwerk oder die Lautstärke. Um nicht nur sagen zu können: „Hey, wir sind voll mit Speicherplatz“, sondern in sechs Monaten, in zwei Jahren und in fünf Jahren, wenn ich das budgetiere, wie viel Speicherplatz werde ich fahren budgetieren müssen? Das sind Fragen, die ich stellen muss, und ich muss in der Lage sein, eine Methode dafür zu verwenden, anstatt zu raten, meinen Finger in die Luft zu heben und zu warten, wie der Wind weht. Das ist leider oft so, wie viele dieser Entscheidungen getroffen werden.
Darüber hinaus kann ich - wie es aussieht - meine Folie ein wenig abschneiden, aber in Form von Empfehlungen Unterstützung leisten. Es ist also eine Sache, Ihnen ein Dashboard voller Metriken anzeigen zu können und sagen zu können: "OK, hier sind alle Metriken und wo sie sich befinden", aber dann in der Lage zu sein, einige davon zu machen oder ein gewisses Verständnis dafür zu haben was zu tun ist, basierend darauf, ist ein weiterer Sprung. In einigen Fällen sind die Mitarbeiter ausreichend in der Rolle des DBA geschult, um diese Entscheidungen treffen zu können. Und so haben wir einige Mechanismen im Tool, die dabei helfen, die wir Ihnen in nur einer Sekunde zeigen werden. Aber in der Lage zu sein, nicht nur zu zeigen, was die Empfehlung ist, sondern auch einen Einblick zu geben, warum diese Empfehlung ausgesprochen wird, und darüber hinaus in einigen Fällen in der Lage zu sein, tatsächlich ein Skript zu entwickeln, das die Empfehlung automatisiert Die Behebung dieses Problems ist ebenfalls ideal.
Wenn wir hier zum nächsten übergehen, was wir sehen werden, ist es im Allgemeinen nur ein Verständnis bis auf die metrische Ebene, was normal ist. Ich kann dir nicht sagen, was nicht normal ist, wenn ich nicht weiß, was normal ist. Wenn Sie also eine Möglichkeit haben, dies zu messen, müssen Sie in der Lage sein, mehrere Arten von Bereichen zu berücksichtigen, z. B. - oder ich sage es mal so - verschiedene Gruppierungen von Servern, die dies dynamisch tun können. Aus alarmierender Sicht, dh mitten in der Nacht, während meines Wartungsfensters, erwarte ich, dass meine CPU zu 80 Prozent ausgelastet ist, basierend auf der gesamten laufenden Wartung. Vielleicht möchte ich meine Schwellenwerte in diesen Zeiträumen höher setzen als vielleicht mitten am Tag, wenn ich nicht so viel Aktivität habe.
Dies sind einige Dinge, die offensichtlich umweltbezogen sind, aber Dinge, die Sie auf das, was verwaltet wird, anwenden können, um Ihnen dabei zu helfen, diese Umgebung effizienter zu verwalten und dies einfacher zu machen. Der andere Bereich besteht offensichtlich darin, die Berichte und die Informationen insgesamt bereitzustellen, um diese Art von „Was wäre wenn“ -Fragen beantworten zu können. Wenn ich gerade eine Änderung an meiner Umgebung vorgenommen habe, möchte ich die Auswirkungen verstehen, damit ich diese Änderung auf andere Instanzen oder andere Datenbanken in meiner Umgebung anwenden kann. Ich möchte in der Lage sein, Informationen oder Munition zu haben, um diese Änderung mit etwas Ruhe und dem Wissen vorzunehmen, dass es eine gute Änderung sein wird. In der Lage zu sein, vergleichende Berichte zu erstellen, meine SQL-Instanzen zu klassifizieren, meine Datenbanken gegeneinander zu klassifizieren und zu sagen: "Welcher ist mein höchster CPU-Konsument?" Oder welcher benötigt am längsten Wartezeiten und ähnliches? Viele dieser Informationen werden auch mit dem Tool verfügbar sein.
Und zu guter Letzt ist es nur eine allgemeine Fähigkeit, dass Sie ein Tool benötigen, das in der Lage ist, jede Situation zu bewältigen, die auf Sie zukommt, und damit meine ich, wenn Sie eine große Umgebung mit einer In vielen Fällen werden Sie wahrscheinlich auf Situationen stoßen, in denen Sie Kennzahlen abrufen müssen, bei denen es sich normalerweise nicht um Kennzahlen handelt, die ein DBA in bestimmten Fällen je nach Situation sogar überwachen möchte. Wenn Sie also über ein erweiterbares Tool verfügen, können Sie zusätzliche Metriken hinzufügen und diese Metriken in der gleichen Form und Art und Weise verwenden, wie Sie sie verwenden würden, wenn Sie eine sofort einsatzbereite Metrik verwenden würden Metrik zum Beispiel. Die Möglichkeit, Berichte zu erstellen, Warnungen und Grunddaten zu erstellen - all die Dinge, über die wir sprechen - ist auch eine wichtige Voraussetzung dafür, dass Sie diese Prognose erstellen und sie so gestalten können, dass Sie die gewünschten Antworten erhalten in der Lage sein, diese Entscheidungen zu treffen und voranzukommen.
So wie Diagnostic Manager dies tut, haben wir einen zentralisierten Dienst, eine Gruppe von Diensten, die Daten für Instanzen von 2000 bis 2016 sammelt. Und dann nehmen wir diese Daten und speichern sie in einem zentralen Repository. Dann tun wir natürlich viel, um weitere Einsichten zu ermöglichen. Darüber hinaus haben wir - und eines der Dinge, die hier nicht erwähnt werden - einen Dienst, der mitten in der Nacht ausgeführt wird, nämlich unseren Predictive Analysis-Dienst, bei dem einige Zahlen berechnet werden und der zum Verständnis beiträgt und Ihnen als DBA oder amtierender DBA dabei helfen, diese Art von Empfehlungen abzugeben und auch Einblicke in Bezug auf Baselines zu gewähren.
Also, was ich gerne tun würde, und dies ist nur ein kurzes Beispiel für die Architektur, der große Vorteil hier ist, dass es keine Agenten oder Services gibt, die tatsächlich auf den Instanzen sitzen, die Sie verwalten. Aber ich möchte Sie nur zur Anwendung hier führen und Ihnen eine kurze Demo geben. Und lass mich einfach auch rausgehen und das geschehen lassen. Also, lass es mich wissen, ich denke Eric, kannst du das sehen, OK?
Eric Kavanagh: Ich habe es jetzt verstanden, ja.
Bullett Manale: OK, also werde ich Sie durch einige dieser verschiedenen Teile führen, über die ich gesprochen habe. Und im Wesentlichen wollen wir mit den Dingen beginnen, die eher in der Richtung von hier sind, die Sie tun müssen, oder hier ist etwas, das ein Zeitpunkt in der Zukunft ist, und wir werden Ihnen einen Einblick darüber geben. Und dies ist in der Lage, Dinge, wie sie geschehen, wirklich zu antizipieren - oder ich sollte dynamisch antizipieren -. Im Fall von Berichten sind im Tool unter anderem drei verschiedene Prognoseberichte enthalten. Und im Fall einer Datenbankprognose, was ich wahrscheinlich tun würde, wenn ich in der Lage wäre, die Größe einer Datenbank über einen bestimmten Zeitraum hinweg vorherzusagen, und ich werde Ihnen nur einige Beispiele dafür nennen . Also werde ich meine Audit-Datenbank nehmen, die ziemlich I / O-intensiv ist - sie enthält eine Menge Daten. Mal sehen, wir machen das hier und holen uns einfach die Gesundheitsdatenbank hier oben.
Aber der Punkt ist, dass ich nicht nur sehe, wie viel Platz darauf ist, sondern auch sagen kann: "Schauen wir mal, wie viel Daten wir im letzten Jahr haben" - und ich werde hier ein wenig darüber sprechen. Ich habe nicht wirklich Daten im Wert von einem Jahr, ich habe Daten im Wert von ungefähr zwei Monaten - aber da ich hier eine Abtastrate von Monaten wähle, kann ich dies vorhersagen oder prognostizieren Bei den nächsten 36 Einheiten, weil unsere Abtastrate auf Monate eingestellt ist - das ist eine Einheit, ist ein Monat - und dann wäre ich in der Lage, einen Bericht zu erstellen, der mir im Grunde zeigt, wo wir für diese ein zukünftiges Wachstum erwarten würden drei Datenbanken. Und wir können feststellen, dass die Unterschiede zwischen den drei verschiedenen Datenbanken unterschiedlich sind, insbesondere in Bezug auf die Datenmenge, die sie historisch verbrauchen.
Wir können sehen, dass die Datenpunkte hier die historischen Daten darstellen, und dann liefert uns die Linie die Vorhersage zusammen mit den Zahlen, um diese zu sichern. Das können wir auf Tabellenebene tun, das können wir sogar auf Laufwerksebene tun, wo ich vorhersagen kann, wie groß meine Laufwerke werden, einschließlich der Mount-Punkte. Wir wären in der Lage, diese Art von Informationen vorherzusagen, aber auch hier kann ich in Abhängigkeit von der Abtastrate bestimmen, wie viele Einheiten und wohin wir nehmen, was wir vorhersagen möchten. Beachten Sie auch, dass wir verschiedene Arten von Prognosetypen haben. So erhalten Sie viele Optionen und Flexibilität, wenn es um die Prognose geht. Nun, das ist eine Sache, die wir tun werden, indem wir Ihnen ein konkretes Datum geben und sagen können: „Hey, an diesem Datum würden wir das Wachstum Ihrer Daten antizipieren.“ Darüber hinaus können wir dies jedoch auch Sie erhalten weitere Einblicke in einige der Analysen, die wir außerhalb der Geschäftszeiten durchführen, und in den Service, wenn dieser ausgeführt wird. Einige der Dinge, die es tut, sind Versuche, die Dinge vorherzusagen, die wahrscheinlich passieren werden, basierend auf der Geschichte, als die Dinge in der Vergangenheit passiert sind.
Wir können hier also sehen, dass eine Prognose uns einen Einblick in die Wahrscheinlichkeit gibt, dass wir den ganzen Abend über Probleme haben, die auf Dingen beruhen, die in der Vergangenheit erneut aufgetreten sind. Das ist natürlich großartig, besonders wenn ich kein DBA bin. Ich kann mir diese Dinge ansehen. Was aber noch besser ist, wenn ich kein DBA bin, ist dieser Analyse-Tab. Bevor dies hier im Tool war, haben wir das Produkt den Leuten gezeigt und sie haben gesagt: "Das ist großartig, ich sehe all diese Zahlen, ich sehe alles, aber ich weiß nicht, was ich tun soll." (Lacht) "Infolgedessen." Was wir hier haben, ist eine bessere Möglichkeit für Sie, zu verstehen, ob ich Maßnahmen ergreifen werde, um bei der Leistung zu helfen, oder ob ich Maßnahmen ergreifen werde, um zu glätten Hilfe für die Gesundheit meiner Umwelt, die Möglichkeit, diese Empfehlungen in einer Rangfolge bereitzustellen, sowie nützliche Informationstipps, um mehr über diese Empfehlungen zu erfahren und sogar externe Links zu einigen dieser Daten zu haben, die mir und zeigen Nimm mich zu den Gründen, warum diese Empfehlungen gemacht werden.
Und in vielen Fällen in der Lage zu sein, ein Skript bereitzustellen, das, wie ich bereits sagte, die Behebung dieser Probleme automatisiert. Nun, ein Teil dessen, was wir hier mit dieser Analyse tun - und ich zeige Ihnen, wenn ich die Eigenschaften dieser Instanz konfiguriere, und ich gehe zum Abschnitt zur Analysekonfiguration -, es gibt viele verschiedene Kategorien hier aufgelistet, und ein Teil davon haben wir Indexoptimierung und Abfrageoptimierung. Wir werten also nicht nur die Metriken selbst und solche Dinge aus, sondern auch die Workloads und die Indizes. In diesem Fall werden wir tatsächlich eine zusätzliche hypothetische Indexanalyse durchführen. Es ist also eine dieser Situationen, in denen ich nicht möchte, in vielen Fällen möchte ich keinen Index hinzufügen, wenn ich nicht muss. Aber irgendwann gibt es eine Art Wendepunkt, an dem ich sage: „Nun, die Tabelle erreicht die Größe oder die Arten von Abfragen, die innerhalb der Workload ausgeführt werden. Es ist jetzt sinnvoll, einen Index hinzuzufügen. Aber es hätte vielleicht vor sechs Wochen keinen Sinn ergeben. “Auf diese Weise können Sie dynamisch einen Einblick in Dinge erhalten, die, wie ich bereits sagte, die Leistung basierend auf den Vorgängen in der Umgebung und den Vorgängen innerhalb der Workloads verbessern können und solche Dinge zu tun.
Und so erhalten Sie hier viele gute Informationen sowie die Möglichkeit, diese Dinge automatisch zu optimieren. Das ist also ein weiterer Bereich, in dem wir helfen könnten, was wir als prädiktive Analyse bezeichnen. Darüber hinaus haben wir auch andere Bereiche, die meiner Meinung nach im Allgemeinen dazu geeignet sind, Ihnen bei der Entscheidungsfindung zu helfen. Und wenn wir über das Treffen von Entscheidungen sprechen, geben Sie uns erneut einen Einblick, wie wir die Leistung verbessern können, indem Sie die historischen Daten einsehen können.
Jetzt können wir unter anderem einen Baseline-Visualizer verwenden, mit dem wir selektiv auswählen können, welche Metrik wir möchten - und hier eine anständige finden -, um die SQL-CPU-Auslastung zu erreichen, aber Sie sind der springende Punkt Ich kann jedoch viele Wochen zurückgehen, um diese Bilder zu malen, damit Sie sehen, wann es Ihre Ausreißer sind, um im Allgemeinen zu sehen, wo dieser Wert innerhalb der Zeiträume liegt, in denen wir Daten gesammelt haben. Außerdem werden Sie feststellen, dass wir, wenn wir zur eigentlichen Instanz gehen, die Möglichkeit haben, unsere Baselines zu konfigurieren. Und die Baselines sind ein wirklich wichtiger Teil, um Dinge automatisieren und über Dinge informiert werden zu können. Und die Herausforderung besteht, wie die meisten Datenbankadministratoren sagen würden, darin, dass Ihre Umgebung im Laufe des Tages nicht immer gleich ist, im Vergleich zum Abend und was auch immer wir im Beispiel mit den Wartungszeiträumen erwähnt haben, als wir haben hohe CPU-Auslastung oder was auch immer das sein mag.
In diesem Fall können wir mit diesen tatsächlichen Baselines mehrere Baselines haben, sodass ich zum Beispiel eine Baseline haben könnte, die während meiner Wartungsstunden liegt. Aber ich könnte genauso einfach eine Grundlinie für meine Produktionsstunden erstellen. Und der Sinn des Tuns ist, wenn wir in eine Instanz von SQL gehen und tatsächlich diese mehreren Baselines haben, dann könnten wir irgendeine Art von Automatisierung, eine Art von Korrektur oder nur eine Warnung im Allgemeinen antizipieren und durchführen. anders spezifisch für diese Zeitfenster. Eines der Dinge, die Sie hier sehen werden, sind die von uns generierten Basislinien, die die historischen Daten verwenden, um diese Analyse bereitzustellen. Noch wichtiger ist jedoch, dass ich diese Schwellenwerte statisch ändern kann, aber ich kann diese auch dynamisch automatisieren. Wenn das Wartungsfenster oder das Wartungsbasisfenster angezeigt wird, werden diese Schwellenwerte automatisch auf die Lasten umgeschaltet, auf die ich in diesem Zeitfenster stoße, im Vergleich zu möglicherweise mitten am Tag, an dem sich meine Lasten befinden nicht so viel, wenn die Arbeitsbelastung nicht so belastend ist.
Das ist also etwas anderes, das man in Bezug auf die Grundlinie im Hinterkopf behalten sollte. Offensichtlich werden diese für Sie sehr hilfreich sein, um auch zu verstehen, was normal ist, und um auch zu verstehen, sich zu engagieren, wenn Ihnen auch die Ressourcen ausgehen. Nun, die andere Art von Dingen, die wir in dem Tool haben, die Ihnen helfen werden, Entscheidungen zu treffen, zusätzlich zum Baselining und der Möglichkeit, Warnungen um diese Baselines und die Schwellenwerte, die Sie dynamisch erstellen, einzurichten, ist, wie ich zuvor sagte, Nur in der Lage zu sein, eine ganze Reihe von Berichten zu erstellen, die mir helfen, Fragen zu beantworten, was los ist.
Wenn ich also beispielsweise 150 Instanzen habe, die ich verwalte - in meinem Fall nicht -, müssen wir das so tun, als ob wir hier wären -, aber wenn ich alle meine Produktionsinstanzen hätte und verstehen müsste, wo sich diese befinden Den Bereich, auf den ich meine Aufmerksamkeit richten muss, mit anderen Worten, ich möchte mich auf die Schlüsselbereiche konzentrieren, wenn ich nur eine begrenzte Zeit habe, um eine Art von Administration durchzuführen, um die Leistung zu verbessern. Wenn dies gesagt ist, kann ich sagen: „Ordnen Sie meine Instanzen auf der Grundlage dieser Umgebung gegeneinander an, und geben Sie mir diese Rangfolge nach Konfliktpipe.“ Ob es sich also um Festplatten- oder Speicherverbrauch handelt, ob es um Wartezeiten handelt. Ob es sich um eine Antwortzeit handelt, ich kann diese Instanzen miteinander in Beziehung setzen - oder ich sollte sagen Rang -. Offensichtlich ist die Instanz, die am Anfang jeder Liste steht, wenn es dieselbe Instanz ist, wahrscheinlich etwas, worauf ich mich wirklich konzentrieren möchte, weil sie offensichtlich wieder am Anfang der Liste steht.
Daher enthält das Tool zahlreiche Berichte, mit denen Sie die Umgebung auf Instanzebene einordnen können. Sie können dies auch auf Datenbankebene tun, wo ich meine Datenbanken gegeneinander bewerten kann. Speziell für Schwellenwerte und Bereiche, die ich festlegen kann, kann ich hier sogar Platzhalter einrichten, um mich nur auf bestimmte Datenbanken zu konzentrieren. Der springende Punkt ist jedoch, dass ich meine Datenbanken auf die gleiche Weise vergleichen kann. Was andere Arten der vergleichenden Analyse und die große in diesem Tool anbelangt, so ist dies auch die Basisanalyse, die wir haben. Wenn Sie hier nach unten zur Serviceansicht scrollen, wird ein Basisstatistikbericht angezeigt. Dieser Bericht wird uns natürlich dabei helfen, nicht nur die Metrikwerte zu verstehen, sondern für eine bestimmte Instanz könnte ich herausgehen und für jede dieser Metriken in der Lage sein, die Basislinien für diese Metriken tatsächlich zu betrachten.
Was auch immer es sein mag, in Prozent oder was auch immer ich sagen könnte: "Lassen Sie uns die Grundlinie für diese in den letzten 30 Tagen aufgeschlüsselt sehen." In diesem Fall werden mir die tatsächlichen Werte gegenüber der Grundlinie und angezeigt Ich würde in der Lage sein, einige Entscheidungen anhand dieser Informationen zu treffen. Dies ist also eine der Situationen, in denen es darauf ankommt, welche Frage Sie sich gerade stellen. Aber dies wird Ihnen offensichtlich bei vielen dieser Fragen helfen. Ich wünschte, ich könnte sagen, wir hätten einen Bericht, der das alles kann, und er ähnelt dem einfachen Bericht, in dem Sie drücken und auf die Schaltfläche klicken und einfach jede „Was-wäre-wenn“ -Frage beantworten, die Sie jemals beantworten könnten. In Wirklichkeit haben Sie jedoch eine Vielzahl von Attributen und Optionen, aus denen Sie in diesen Pulldowns auswählen können, um die gewünschten Fragen vom Typ „Was wäre, wenn“ zu formulieren .
Viele dieser Berichte zielen darauf ab, solche Fragen beantworten zu können. Und so ist es auch wirklich wichtig, dass diese Berichte und darüber hinaus all die Dinge, die wir Ihnen bereits im Tool gezeigt haben, wie ich bereits erwähnt habe, die Flexibilität haben, neue Metriken einzubeziehen, verwaltet zu werden und sogar in der Lage zu sein, sie zu erstellen Leistungsindikatoren oder SQL-Abfragen, die in Ihren Abfrageintervallen enthalten sind, um mir bei der Beantwortung dieser Fragen zu helfen, die möglicherweise nicht automatisch überwacht werden sollten, können Sie diese Dinge hinzufügen. Und Sie könnten dann die gleichen Dinge tun, die ich Ihnen gerade gezeigt habe: Baseline, Berichte ausführen und Berichte aus dieser Metrik erstellen und in der Lage sein, viele dieser verschiedenen Arten von Dingen zu beantworten und zu tun, die ich Ihnen zeige Hier.
Darüber hinaus - und eines der Dinge, auf die wir offensichtlich in letzter Zeit gestoßen sind - war es zunächst das, bei dem jeder auf VMs umstieg oder flippte. Und jetzt haben wir eine Menge Leute, die sich auf den Weg in die Cloud machen. Und es gibt eine Menge Fragen, die sich um diese Art von Dingen drehen. Ist es für mich sinnvoll, in die Cloud zu wechseln? Werde ich Geld sparen, wenn ich in die Cloud ziehe? Wie viel Geld kann ich sparen, wenn ich diese Dinge auf einer VM oder einem Computer mit gemeinsam genutzten Ressourcen ablege? Diese Art von Fragen wird natürlich auch auftauchen. Mit Diagnostic Manager können wir also eine Menge dieser Dinge aus den virtualisierten Umgebungen von VMware und Hyper-V hinzufügen und abrufen. Wir können auch Instanzen hinzufügen, die sich in der Cloud befinden, sodass Ihre Umgebungen wie beispielsweise Azure DB oder sogar RDS auch Metriken aus diesen Umgebungen abrufen können.
Es gibt also eine Menge Flexibilität und die Möglichkeit, diese Fragen zu beantworten, wenn es um andere Arten von Umgebungen geht, in die sich die Leute begeben. Und es gibt immer noch viele Fragen zu diesem Thema, und wenn wir sehen, dass Menschen diese Umgebungen konsolidieren, müssen sie auch in der Lage sein, diese Fragen zu beantworten. Das ist also ein ziemlich guter Überblick über Diagnostic Manager, da er sich auf dieses Thema bezieht. Ich weiß, dass das Thema Business Intelligence aufgetaucht ist und wir auch ein Tool für Business Intelligence haben, über das wir heute nicht gesprochen haben, aber es wird Ihnen auch einen Einblick in die Beantwortung dieser Art von Fragen geben, die sich auf Ihre beziehen Würfel und all diese verschiedenen Arten von Dingen. Aber hoffentlich war dies ein guter Überblick, zumindest in Bezug darauf, wie dieses Produkt dazu beitragen kann, einen guten Plan zu formulieren.
Eric Kavanagh: Alles klar, gute Sachen. Ja, ich werfe es Rick raus, wenn er noch da draußen ist. Rick, hast du Fragen?
Rick Sherman: Ja, also zuerst, das ist großartig, ich mag es. Besonders gut gefällt mir die Ausweitung auf VMs und Clouds. Ich sehe viele App-Entwickler, die denken, dass sie es nicht tun müssen, wenn es in der Cloud ist. So-
Bullett Manale: Richtig, wir müssen noch dafür bezahlen, richtig? Sie müssen immer noch für das bezahlen, was die Leute in die Cloud stellen. Wenn es also schlecht läuft oder viele CPU-Zyklen verursacht, müssen Sie mehr Geld bezahlen, also nicht Sie Muss das Zeug noch unbedingt messen.
Rick Sherman: Ja, ich habe viele schlechte Designs in der Cloud gesehen. Ich wollte fragen, ob dieses Produkt auch verwendet werden kann. Ich weiß, dass Sie das BI-Produkt erwähnt haben und dass Sie Unmengen anderer Produkte haben, die miteinander interagieren. Aber würden Sie sich mit der SQL-Leistung befassen, mit einzelnen Abfragen in diesem Tool? Oder wären es andere Werkzeuge, die dafür verwendet würden?
Bullett Manale: Nein, das wäre absolut. Das ist eines der Dinge, die ich nicht behandelt habe und die ich beabsichtigte, ist der Abfrageteil davon. Wir haben viele verschiedene Möglichkeiten, um die Abfrageleistung zu ermitteln, unabhängig davon, ob es sich um Wartezeiten handelt, wie in dieser Ansicht dargestellt, oder ob es sich um den Ressourcenverbrauch von Abfragen insgesamt handelt. Es gibt eine ganze Reihe von Möglichkeiten, Abfragen zu analysieren Performance. Es ist wichtig, ob es sich um die Dauer, die CPU, die E / A handelt, und wir können auch die Workloads selbst betrachten, um einen Einblick zu erhalten. Wir können die Empfehlungen im Analysebereich bereitstellen und haben auch eine webbasierte Version, die Informationen zu den Abfragen selbst bereitstellt. So kann ich Empfehlungen zu fehlenden Indizes und der Möglichkeit erhalten, den Ausführungsplan und all diese Dinge anzuzeigen. es ist auch eine Fähigkeit. Auf jeden Fall können wir Anfragen auf sieben Arten zum Sonntag diagnostizieren (lacht) und diesen Einblick in die Anzahl der Ausführungen gewähren, sei es in Bezug auf den Ressourcenverbrauch, die Wartezeiten, die Dauer und all das Gute.
Rick Sherman: Okay, großartig. Und was belastet dann die Instanzen selbst mit all dieser Überwachung?
Bullett Manale: Das ist eine gute Frage. Die Herausforderung bei der Beantwortung dieser Frage besteht darin, dass sie davon abhängt, wie alles andere auch. Vieles von dem, was unser Tool zu bieten hat, bietet Flexibilität. Ein Teil dieser Flexibilität besteht darin, dass Sie angeben können, was zu sammeln ist und was nicht. Zum Beispiel muss ich bei den Abfragen selbst keine Warteinformationen erfassen, oder ich kann. Ich kann Informationen zu Anfragen sammeln, die eine bestimmte Zeit oder Ausführungsdauer überschreiten. Wenn ich zum Beispiel in den Monitor zum Konfigurieren von Abfragen gehen und sagen würde: "Ändern wir diesen Wert auf Null", lässt die Realität das Tool im Grunde genommen jede ausgeführte Abfrage erfassen, und das ist wirklich nicht die Im Allgemeinen kann ich das tun, wenn ich eine vollständige Stichprobe der Daten für alle Abfragen bereitstellen möchte.
Es ist also sehr relativ zu den Einstellungen, die Sie normalerweise standardmäßig vorgenommen haben. Der Overhead liegt zwischen 1 und 3 Prozent, es gelten jedoch andere Bedingungen. Es hängt auch davon ab, wie viele Portabfragen in Ihrer Umgebung ausgeführt werden, oder? Dies hängt auch von der Methode zur Erfassung dieser Abfragen und der SQL-Version ab. In SQL Server 2005 können wir beispielsweise nicht von erweiterten Ereignissen abrufen, wohingegen wir dazu von einer Ablaufverfolgung abrufen würden. Es wäre also ein bisschen anders in Bezug auf die Art und Weise, wie wir diese Daten sammeln würden, aber das besagt, wie ich bereits sagte, dass wir mit diesem Produkt seit ungefähr 2004 arbeiten. Es ist schon eine lange Zeit her, dass wir Tausende von Kunden haben. Das letzte, was wir tun möchten, ist ein Tool zur Leistungsüberwachung, das Leistungsprobleme verursacht (lacht). Deshalb versuchen wir, so weit wie möglich davon Abstand zu nehmen, aber im Allgemeinen sind etwa 1 bis 3 Prozent eine gute Faustregel.
Rick Sherman: OK, und das ist ziemlich niedrig, das ist also großartig.
Eric Kavanagh: Gut. Robin, hast du Fragen?
Robin Bloor: Es tut mir leid, ich war stumm. Sie verfügen über mehrere Datenbanken, und ich bin daran interessiert, wie Sie mehrere Datenbanken anzeigen können, damit Sie wissen, dass eine größere Ressourcenbasis möglicherweise auf verschiedene virtuelle Maschinen aufgeteilt ist, und so weiter und so fort. Ich bin daran interessiert, wie die Leute das tatsächlich nutzen. Mich interessiert, was die Kunden damit machen. Weil mir das so vorkommt, als ich mit Datenbanken rumgespielt habe, etwas, das ich nie zur Hand hatte. Und ich würde zu jedem Zeitpunkt immer nur eine Instanz auf eine sinnvolle Weise betrachten. Wie nutzen die Leute das?
Bullett Manale: Im Allgemeinen sprechen Sie nur über das Tool selbst? Wie benutzen sie es? Ich meine, im Allgemeinen geht es darum, einen zentralen Ort der Präsenz der Umwelt zu haben. Sie haben die Gewissheit, dass sie wissen, dass alles gut ist, wenn sie auf einen Bildschirm starren und grün sehen. Wenn Probleme auftreten und die meisten Fälle aus Sicht eines Datenbankadministrators, treten diese häufig vor der Konsole auf, sodass Sie benachrichtigt werden können, sobald das Problem auftritt. Aber zusätzlich dazu, in der Lage zu sein, zu verstehen, wann das Problem auftritt, in der Lage zu sein, die Informationen auf den Punkt zu bringen, die ihnen einen Kontext in Bezug auf den Grund dafür bieten. Und das ist, denke ich, der größte Teil: Proaktiv zu sein, nicht reaktiv zu sein.
Die meisten DBAs, mit denen ich spreche - und ich weiß nicht, dass es ein guter Prozentsatz von ihnen ist - befinden sich leider immer noch in einer reaktiven Umgebung. Sie warten darauf, dass sich ein Verbraucher an sie wendet, um ihnen mitzuteilen, dass ein Problem vorliegt. Wir sehen also viele Leute, die versuchen, sich davon zu lösen, und ich denke, dass dies ein großer Grund dafür ist, dass die Leute dieses Tool mögen, weil es ihnen hilft, proaktiv zu sein, ihnen aber auch Einblick in das gibt, was vor sich geht, was ist das Problem, aber in vielen Fällen ist es zumindest das, was wir finden - und vielleicht sind es nur die DBAs, die uns dies mitteilen -, aber die DBAs sind der Meinung, dass es immer ihr Problem ist, auch wenn es der Anwendungsentwickler ist, der die Anwendung geschrieben hat das hat es nicht richtig geschrieben, sie sind diejenigen, die die Schuld tragen werden, weil sie diese Anwendung in ihre Systeme oder Server übernehmen und wenn die Leistung dann schlecht ist, zeigen alle auf den DBA, sagt: "Hey, es ist deine Schuld."
Häufig wird dieses Tool verwendet, um dem DBA zu helfen, zu sagen: „Hey, hier liegt das Problem, und ich bin es nicht.“ (Lacht) Wir müssen Verbessern Sie dies, unabhängig davon, ob die Abfragen geändert werden oder was auch immer. In einigen Fällen fällt es ihnen in Bezug auf ihre Verantwortung schwer, aber zumindest das Werkzeug zu haben, um ihnen zu helfen, das zu verstehen und zu wissen, und es rechtzeitig zu tun, ist offensichtlich der ideale Ansatz.
Robin Bloor: Ja, die meisten Sites, die ich kenne, aber es ist schon eine Weile her, dass ich mir verschiedene Multi-Datenbank-Sites angesehen habe, aber meistens habe ich festgestellt, dass es solche gibt DBAs, die sich auf eine Handvoll Datenbanken konzentrierten. Und das wären die Datenbanken, die, wenn sie jemals ausfielen, ein wirklich großes Problem für das Unternehmen darstellen würden und so weiter und so fort. Und die anderen, sie werden nur ab und zu Statistiken sammeln, um zu sehen, dass ihnen nicht der Raum ausgeht und sie sie niemals ansehen würden. Und während Sie die Demo machten, habe ich mir das angeschaut und auf die eine oder andere Weise gut überlegt. Sie erweitern dies, indem Sie einfach so etwas für Datenbanken bereitstellen, für die sich oft niemand zu sehr interessiert, weil sie Datenwachstum haben Sie haben manchmal auch Anwendungswachstum. Sie erweitern die DBA-Abdeckung auf dramatische Weise. Darum geht es also wirklich, ist es so, dass Sie mit einer Reihe von Tools wie diesem in der Lage sind, praktisch jeder Datenbank im Unternehmensnetzwerk einen DBA-Service zuzuweisen?
Bullett Manale: Sicher, ich meine, die Herausforderung besteht darin, dass, wie Sie ziemlich eloquent gesagt haben, es einige Datenbanken gibt, die den DBAs wichtig sind, und es gibt einige, die ihnen weniger wichtig sind . Und die Art und Weise, wie dieses bestimmte Produkt lizenziert wird, ist von Fall zu Fall unterschiedlich. Es gibt also, so würde man sagen, eine Schwelle, bis zu der sich die Leute entscheiden: „Hey, das ist keine kritische Instanz, die ich mit diesem Tool verwalten möchte.“ Es gibt jedoch auch andere Tools, die wir ausführen Das sind mehr, denke ich, um diesen weniger wichtigen Instanzen von SQL gerecht zu werden. Einer davon ist wie der Inventar-Manager, in dem wir die Instanzen auf den neuesten Stand bringen, aber zusätzlich zu den von uns durchgeführten Ermittlungen ermitteln wir neue Instanzen, die online geschaltet wurden, und von diesem Zeitpunkt an Als DBA kann ich sagen: „OK, hier ist eine neue Instanz von SQL, ist es jetzt Express? Handelt es sich um die kostenlose Version oder um eine Enterprise-Version? “Das ist wahrscheinlich eine Frage, die ich mir stellen möchte, aber zweitens, wie wichtig ist mir diese Instanz? Wenn es nicht so wichtig ist, kann es sein, dass dieses Tool ausgeht und es ausführt, allgemein, was ich als allgemeine Gesundheitsprüfung bezeichne, in dem Sinne, dass es die elementaren Arten von Dingen sind, die mir als DBA wichtig sind: Füllt sich das Laufwerk? ? Reagiert der Server auf Probleme? Die Hauptsachen, richtig?
Während mit Diagnostic Manager, dem Tool, das ich Ihnen gerade gezeigt habe, die Abfrageebene, die Indexempfehlung, der Ausführungsplan und all die guten Dinge im Vordergrund stehen, ist dies hauptsächlich fokussiert Wem gehört was, was gehört mir und wer ist dafür verantwortlich? Welche Service Packs und Hotfixes habe ich? Und laufen meine Server mit den Hauptbestandteilen einer aus meiner Sicht fehlerfreien SQL-Instanz? Um Ihre Frage zu beantworten, gibt es eine kleine Mischung. Wenn wir Leute haben, die sich dieses Tool ansehen, betrachten sie normalerweise eine kritischere Menge von Instanzen. Das heißt, wir haben einige Leute, die jede Instanz, die sie haben, kaufen und verwalten, also hängt es einfach davon ab. Aber ich sage Ihnen, insgesamt gibt es definitiv eine Schwelle von Leuten, die der Ansicht sind, dass ihre Umgebung wichtig genug ist, um ein solches Tool zum Verwalten dieser Instanzen zu haben.
Robin Bloor: Okay, noch eine Frage, bevor ich sie an Eric weitergebe. Der Eindruck, den man beim Betrachten der Branche erhält, ist, dass Datenbanken immer noch ein Leben haben, aber alle Daten fließen in all diese Datenseen und so weiter und so fort. Das ist wirklich der Hype und der Hype spiegelt nie die Realität wider. Mich interessiert also, welche Art von Realität Sie da draußen wahrnehmen? Sind die wichtigen Datenbanken innerhalb eines Unternehmens, erleben sie das traditionelle Datenwachstum, das ich früher als 10 Prozent pro Jahr betrachtete? Oder wachsen sie mehr als das? Macht Big Data diese Datenbanken zum Ballon? Was ist das Bild, das Sie sehen?
Bullett Manale: Ich denke, in vielen Fällen werden einige Daten in die anderen Segmente verschoben, in denen es sinnvoller ist, wenn andere Technologien verfügbar werden. Seit kurzem sind einige der größeren Daten Sachen. Aber diese Datenbanken, würde ich sagen, sind in vielen Fällen schwer zu verallgemeinern, weil jeder ein bisschen anders ist. Im Allgemeinen sehe ich jedoch einige Abweichungen. Ich sehe, wie ich bereits sagte, dass die Leute in vielen Fällen zu den elastischen Modellen übergehen, weil sie die Ressourcen vergrößern wollen und nicht so sehr in anderen Bereichen. Einige Leute bewegen sich zu Big Data. Aber es ist schwierig, ein Gefühl für die Wahrnehmung zu bekommen, sagen Sie, weil die Leute, mit denen ich spreche, im Allgemeinen über die traditionellen Datenbanken verfügen und diese in einer SQL Server-Umgebung verwenden.
Das heißt, ich würde in Bezug auf SQL selbst sagen, ich denke immer noch, dass es Marktanteile gewinnt. Und ich denke, dass es noch viele Leute gibt, die von anderen Orten wie Oracle auf SQL zusteuern, weil es erschwinglicher ist und offensichtlich zu sein scheint, da SQL-Versionen fortschrittlicher werden - und Sie sehen dies mit den neueren Dingen, die In Bezug auf die Verschlüsselung und all die anderen Funktionen, die SQL zu einer Umgebung oder Datenbankplattform machen, ist SQL offensichtlich sehr geschäftskritisch. Ich denke, wir sehen das auch. Wo Sie eine Verschiebung sehen, geschieht dies immer noch. Ich meine, es geschah vor 10 Jahren. Ich denke, es passiert immer noch in Bezug auf SQL Server, wo die Umgebung wächst und der Marktanteil wächst.
Robin Bloor: OK, Eric, ich nehme an, das Publikum hat eine oder zwei Fragen?
Eric Kavanagh: Ja, lassen Sie mich einen schnellen zu Ihnen rüberwerfen. Das ist eigentlich eine ziemlich gute Frage. Einer der Teilnehmer fragt, ob dieses Tool möglicherweise einen Index benötigt, um die Abfrage zu beschleunigen. Wenn ja, können Sie ein Beispiel zeigen?
Bullett Manale: Ja, ich weiß nicht, ob ich einen speziell zum Hinzufügen eines Index habe, aber Sie können hier sehen, wir haben hier Fragmentierungsempfehlungen. Ich glaube auch nur, dass wir es soeben getan haben, und dies war Teil des Diagnostic Managers, der die webbasierte Version anbot. Dort wird mir mitgeteilt, dass ich einen fehlenden Index habe. Wir können uns diese Empfehlungen ansehen und daraus den potenziellen Nutzen ableiten, indem wir diese Informationen indizieren. Die andere Sache, die ich erwähnen möchte, ist, dass, wenn wir die Empfehlungen machen, für viele von ihnen das Skript dafür erstellt wird. Das ist kein gutes Beispiel, aber Sie können sehen, in welchen Situationen ein Index - entweder ein doppelter Index oder die Hinzufügung eines Index - die Leistung verbessern würde, und wie ich bereits sagte, tun wir viel das durch hypothetische Indexanalyse. Daher ist es für das Verständnis des Arbeitsaufwands sehr hilfreich, dies auf die Empfehlung anwenden zu können.
Eric Kavanagh: Das ist großartiges Zeug, und das wird mir einen guten Überblick über die letzten Kommentare geben. Robin und ich und auch Rick haben über viele Jahre gehört, dass es sich um selbstoptimierende Datenbanken handelt. Es ist eine selbstoptimierende Datenbank! Ich kann Ihnen nur sagen: Glauben Sie ihnen nicht.
Bullett Manale: Glauben Sie dem Hype nicht.
Eric Kavanagh: Es mag einige kleine Dinge geben, die dynamisch erledigt werden, aber selbst das möchten Sie vielleicht überprüfen und sicherstellen, dass es nichts tut, was Sie nicht wollen. Daher werden wir für einige Zeit Tools wie dieses benötigen, um zu verstehen, was auf Datenbankebene geschieht, und wie Robin sagte, sind Datenseen faszinierende Konzepte, aber es besteht wahrscheinlich eine ebenso große Chance, dass sie übernehmen, wie es der Fall ist Bald wird es ein Loch Ness Monster geben. Also, ich würde einfach noch einmal sagen, die reale Welt hat eine Menge Datenbanktechnologie, wir brauchen Leute, DBAs, die sich dieses Zeug ansehen und es synthetisieren. Sie können erkennen, dass Sie wissen müssen, was Sie tun, damit dieses Zeug funktioniert. Sie benötigen jedoch die Tools, um die Informationen zu erhalten, die Sie benötigen, um zu wissen, was Sie tun. Unterm Strich geht es den DBAs also gut.
Und ein großes Dankeschön an Bullett Manale und unsere Freunde bei IDERA. Und natürlich Rick Sherman und Robin Bloor. Wir archivieren alle diese Webcasts. Weitere Informationen hierzu finden Sie online unter insideanalysis.com oder auf unserer Partnerseite unter www.techopedia.com.
Und damit verabschieden wir uns von Ihnen, Leute. Nochmals vielen Dank, wir werden beim nächsten Mal mit Ihnen sprechen. Sich kümmern. Tschüss.