Einstellung eines SqlServer OLTP-Spezialist, Welche Erfahrungen oder Anforderungen soll ich achten? [geschlossen]

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

Frage

Ich laufe in Db Performance-Probleme mit einem OTLP Projekt arbeite ich. Ein anderer Entwickler, und ich habe das Ende unserer kumulierten Leistung Wissen erreicht und suchen ein individuelles, dem Team beizutreten, um uns unsere Anwendung zu helfen zu beschleunigen.

Für einige Hintergrund wir Schemaänderungen gemacht haben Stücke der Daten denormalize, jede Abfrage optimiert, mehrere Datenbank-Tuning Berater lief unsere Indizes richtig hinzubekommen, MSSQL-Server-Optionen eingestellt.

Wir brauchen nicht jemanden zu kommen und uns sagen, schließt sich langsam sein kann und welche Deadlocks ist, brauchen wir jemanden, der weiß, was nach dem tun, um alle oben aufgeführten Schritte anstrengend.

Wer irgendwelche Tipps oder Erfahrungen Einstellung des OLTP DBA zu teilen? Welche Art von Fragen können wir fragen, die DBA während des Interviews Prozess?

Die eine ungerade Situation zu sein, wir wissen, wir brauchen jemanden, der mehr als das aktuelle Team weiß, aber wir wissen nicht, welche Fragen zu stellen, weil wir nicht wissen, was die nächsten Schritte sind. Macht das Sinn?

War es hilfreich?

Lösung

Ok, das sagt mir etwas:

  

Für einige Hintergrund wir Schemaänderungen gemacht haben Stücke der Daten denormalize, jede Abfrage optimiert, mehrere Datenbank-Tuning Berater lief unsere Indizes richtig hinzubekommen, MSSQL-Server-Optionen eingestellt.

Sie haben bereits abgestimmt oder überschritten, was 90% der Menschen, die sich DBAs nennen werden in der Lage zu tun.

Das Problem ist, dass viele DBAs sind nicht wirklich Programmierer, sind sie auf der Systemadministration Seite der Dinge. Sie benötigen einen DBA-Programmierer, der nicht nur wirklich gut TSQL ist, aber wer weiß, Ihre andere Programmiersprache (n) als auch.

Ich gebe einen erheblichen Teil meiner Zeit auf Datenbank-Tuning Fragen wie diese, und die Lösung beinhaltet oft erhebliche Umgestaltungen des ganzen Weg vom vorderen Ende zurück zum Datenbankschema. Sie können diese Probleme nicht isoliert lösen, und ohne die vollständige Kontrolle (und Gesamt Verständnis) der gesamten Architektur, werden Sie nie die Leistung, die Sie benötigen.

Sie könnte die beste Person für den Job sein, und es könnte klüger sein, dass Sie jemand zu mieten, beschäftigt Arbeit aus dem Teller zu nehmen, so können Sie sich auf die OLTP-Performance-Probleme konzentrieren.

Andere Tipps

Sie haben hier zu sein variieren vorsichtig, können Sie einen Guru DBA am Ende der Einstellung, haben ihm die Datenbank-Performance deutlich verbessern und immer noch mit Ihrer Anwendung haben Probleme, die in ihrer Architektur verwurzelt sind.

Einige Ideen:

  1. Nehmen Sie die komplexeste Abfrage, die Sie mit QA geben es an den Kandidaten DBA optimiert und ihn / sie es wieder zu optimieren. Haben sie beschreiben, was sie taten und wie sie es taten.

  2. Stellen Sie sicher, dass diese Person versteht Hardware, wenn Sie mehrere Dateigruppen verwenden würde, RAID-Arrays, Datenpartitionierung, 64 vs 32-Bit-Leistung etc ...

  3. Geben Sie für jemanden, der auch einige Software-Architektur Hintergrund hat.

  4. Stellen Sie ihnen ein paar härtere SQL Server Fragen zB. Was ist die OVER Aussage? Sind GUIDs gute Primärschlüssel und warum, ist int Identität vorzuziehen?

De Abstimmung der DB ein wenig zurück, bevor Sie Ihre eigene Optimierung und gibt es ihnen. Sehen Sie, wenn sie können, stimmen sie auszuführen, wie gut oder besser im Vergleich zu den Änderungen.

Frage, warum sie diese Technik gewählt hat.

Referenzen aufnehmen und sich über die Umgebungen sie gekommen sind, von denen am ehesten Ihren eigenen übereinstimmen.

Eine gute DBA in der Lage, Ihnen in dem Interview auf einem hohen Niveau zu sagen, was sie als nächstes würden die Schritte. Sie sollten hier mehr Aufmerksamkeit auf die Denkprozesse zahlen, anstatt die Lösung für das Problem. Wenn der DBA einige Lösungen gegeben hat, gehen Sie zurück und Quiz und sie fragen, warum sollte das Problem in dieser Weise gelöst werden.

Diese Methode wird sehr schnell die Männer von den Jungs unterscheiden, wie es war.

Wie nah sind Sie auf die max Leistung des db? Es ist sehr einfach, ein OLTP Problem zu schaffen, die mit dieser Technologie unlösbarer ist. Wie Eric sagte, könnte insgesamt Architektur Redesign in Ordnung sein. Mehr RAM, nur mehr RAM hinzuzufügen:)

Sicher, ohne die Datenbank zu sehen, es ist schwer zu sagen, was der beste Weg sein könnte, zu optimieren. Nach dem, was Sie getan haben, wahrscheinlich benötigen Sie einen Datenbank-Designer mieten - eine mit Erfahrung in der Entwicklung und Optimierung von Datenbanken im Größenbereich, die Sie haben. In der Frage, wie sie das Problem sehen würden nähern, wenn der Interviewer zunächst die schlecht Durchführung von Abfragen aussehen würde, und führen Sie Profiler, um zu sehen, was geschieht und sich zu identifizieren. Die Person soll spezifische Fragen zu Parametern beantworten kann Sniffing und wie es zu vermeiden, was die Methoden, die verwendet werden können, Cursor zu vermeiden, warum Statistiken aktualisiert werden tun müssen, was macht eine Abfrage saregable. Es gibt einige allgemeine Dinge, die ich in Performance-Tuning aussehen würde. Ist das Netzwerk ausgereizt (Manchmal ist es nicht die Datenbank), ist das gesamte Design unüberlegte, sind Sie SQL-Code verwendet, dass im Allgemeinen schlecht ab? Wenn alle Ihre Suchen einem Platzhalter als erstes Zeichen zum Beispiel ermöglichen, ist es nicht einmal möglich, sie schnell zu sein zu bekommen. Wenn Ihr mehrspaltigen natürliche Schlüssel sind auf beitritt, sind sie langsamer als sie sein sollten. Sind Speichern Sie mehr als ein Stück von Informationen in einem Feld viel Manipulation verursacht Daten aus, um wieder? Sind Sie mit Cursor? Sind Sie mit Funktionen? Sind die Wiederverwendung von Code, wenn Sie nicht sein sollte? Kehren Sie immer die Mindestinformationen benötigt? Schließen Sie Verbindungen? Erhalten Sie Deadlocks? Sind Ihre Tabellenzeilen zu breit? Haben Sie zu viele Datensätze in bestimmten Tabellen (Spülen alte Aufzeichnungen oder in einer Archivdatenbank setzen kann einen großen Unterschied machen)? Wie viel von der Code Zeile orientiert und nicht orientiert eingestellt? Dies sind Beispiele für die Art von Dingen, eine erfahrene Datenbank Person aussehen würde und damit die Art von Dingen sollen sie über in dem Interview sprechen.

Einige schlechte Code-Beispiele (Sie wissen, was Sie bereits optimiert haben) kann Ihnen eine gute Idee, ihre Herangehensweise an, wie sie es stimmen. Sie wollen jemanden, der methodisch und hat eine Tiefe von SQL-Kenntnisse.

Es gibt einige gute Bücher über Performance-Tuning - Ich würde vorschlagen, sie bekommen und mit ihnen immer familar vor der Befragung

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top