Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

DevOps-Lösungen für die Automatisierung der Datenbankentwicklung

Was ist DevOps?

Database DevOps ist eine Philosophie, die die folgenden Konzepte umfasst:

  • Automatisierung der Entwicklungs-, Bereitstellungs-, Dokumentations-, Test- und Überwachungsprozesse zwischen Softwareentwicklern und Betriebstechnikern
  • Integration der Entwicklungs- und Betriebsprozesse, um Datenbankänderungen effizient zu synchronisieren, zu validieren, zu verwalten und anzuwenden

Die Datenbank-DevOps-Praxis konzentriert sich auf die Verbesserung der Effizienz des Datenbankmanagements. Es hilft bei der Rationalisierung des Bereitstellungs- und Verbesserungsprozesses von Datenbanken, indem es die Möglichkeit bietet, viele Aspekte des Datenbanklebenszyklus zu automatisieren, wodurch sie beschleunigt und vereinfacht werden.

Daher ist DevOps die Best Practice, um Entwicklungs-, Betriebs- und Qualitätssicherungsprozesse zu vereinheitlichen.

Geschichte

Patrick Debois aus Belgien arbeitete für die Regierung am Migrationsprojekt. Er war frustriert über die Konflikte zwischen dem Systemadministrator und den Entwicklern. Um diese Probleme zu lösen und verschiedene Prozesse zu verbessern, studierte er die agile Methodik.

2008 nahm Patrick an der Agile-Konferenz teil, bei der Andrew Shafer als Redner auftrat. Die Konferenz drehte sich um Agile Infrastructure. Bei dieser Konferenz war Patrick die einzige Person, die an diesem Bericht teilnahm.

Zusammen mit Andrew gründeten sie die Agile Systems Administration Group.

2009 fand eine Konferenz namens „O’Reilly Velocity 09“ mit dem Bericht statt:„10 Deploys a Day:Dev and Ops Cooperation at Flickr“. Patrick wollte persönlich an der Konferenz teilnehmen und jemand schlug ihm vor, die Velocity-Gruppe in Belgien zu gründen.

Im selben Jahr gründete er eine Gruppe namens DevOpsDays mit dem Hashtag #DevOps auf Twitter.
Nachdem sich das DevOps-Konzept entwickelt hatte, begannen die Leute schließlich, den Ansatz speziell auf die Datenbankentwicklung anzuwenden und ihn entsprechend zu ändern.

Definition

Database DevOps vereinfacht den Prozess der Bereitstellung funktionaler und vielseitiger Datenbanken unter Verwendung von Best Practices und kulturellen Philosophien. Dies kann die Arbeit von Entwicklern und Systemadministratoren erheblich verbessern.

Die Grundidee von DevOps ist es, die Entwicklungs- und Betriebsprozesse zu verbinden und zu teilen, um sie kompatibel und effektiv zu machen.

Grundsätzlich müssen Entwickler und Systemadministratoren bei der Bereitstellung einer funktionalen Datenbank zusammenarbeiten.

Beispiel

Jedes Softwareunternehmen hat ein Team von Entwicklern. Dieses Team muss neue Softwareversionen veröffentlichen, einschließlich Patches, Hotfixes und mehr. Wenn eine neue Version fertig ist, sollte die aktualisierte Software auf einen Server hochgeladen werden.

Bereitstellung und Aktualisierung auf dem Server erfordern eine Abstimmung mit dem Betriebsteam. Das Betriebsteam einigt sich normalerweise mit Systemadministratoren und kann andere Pflichten und Aufgaben haben, die den Bereitstellungsprozess verzögern können. Aus diesem Grund ist es notwendig, beide Prozesse zu integrieren und die Aufgaben, einschließlich Bereitstellungen, zu automatisieren.

DevOps-Lösung

Um dies zu tun und die Softwarebereitstellungszeit zu verkürzen, benötigen Sie Folgendes:

  • Automatisierungstools, um Änderungen in der Software nachzuverfolgen.
  • Automatisierte Testwerkzeuge.
  • Tools zur Automatisierung der Konfiguration.
  • Tools zur Überprüfung der Bereitstellungsleistung.
  • Tools zur Automatisierung der Dokumentation.
  • Tools zur Verbesserung der Softwarequalität, einschließlich Formatierung und Codeentwicklung.

Wie kann dbForge Ihnen beim Datenbank-DevOps-Prozess helfen?

Betrachten wir die dbForge DevOps Automation-Lösung und einige dbForge-Tools für SQL Server, die zur Verbesserung der DevOps-Prozesse für Datenbanken verwendet werden können:

dbForge SQL abgeschlossen

Beim Schreiben von Code müssen Entwickler ihre Gedanken oft so schnell wie möglich vermitteln, um die Effektivität und Produktivität aufrechtzuerhalten und gleichzeitig den Code konsistent und lesbar zu halten.

dbForge SQL Complete bietet eine Vielzahl von Funktionen für die automatische Codevervollständigung, Formatierung und Refactoring, um den Entwicklungsprozess erheblich zu vereinfachen. Dazu gehören ein umfangreicher Satz von Codeausschnitten, intelligente Umbenennung von Aliasen und Variablen, hochgradig anpassbare Codeformatierungsfunktionen, Datenvisualisierer und vieles mehr.

Eine der bemerkenswertesten Funktionen in SQL Complete ist die Befehlszeilenschnittstelle für die SQL-Formatierung. Mit seiner Hilfe können SQL-Dateien und Skriptordner automatisch als Continuous-Integration-Validierungsschritt formatiert werden.

dbForge-Quellcodeverwaltung

Jedes Mal, wenn der Code bereitgestellt wird, müssen Änderungen im Quellcode automatisch überprüft werden.

Mit dem Quellcodeverwaltungstool dbForge ist es einfacher, Änderungen an SQL-Skriptdateien zu überwachen und rückgängig zu machen, wenn einige Änderungen die Integrität Ihrer Datenbank beeinträchtigen.

dbForge Source Control ist ein SSMS-Plugin, das Sie bei der Verwaltung von Datenbankänderungen in der Quellcodeverwaltung unterstützt. Sie können den Änderungsverlauf für eine gesamte SQL-Datenbank anzeigen, Ihre lokalen Änderungen der Quellcodeverwaltung übergeben, Aktualisierungen an Ihrer Arbeitskopie vornehmen, indem Sie die neuesten Änderungen aus dem Repository des Quellcodeverwaltungssystems abrufen, Konflikte zwischen Versionen erkennen und lösen und vieles mehr. Alle Quellkontrollaufgaben können auch über die Befehlszeilenschnittstelle automatisiert werden.

Das Tool kann Ihre Datenbanken mit SVN, TFS, Git, Perforce, Mercurial und SourceGear Vault verknüpfen.

dbForge-Schemavergleich

Wenn Sie mehrere Bereitstellungen haben, wird die Datenbank ständig geändert. In diesem Fall muss überprüft werden, ob neue Tabellen, Ansichten oder gespeicherte Prozeduren erstellt oder entfernt werden. Mit dbForge Schema Compare für SQL Server können Sie zwei Datenbanken vergleichen und einfach synchronisieren.

Mit dem Tool können Sie mit Live-Datenbanken, Backups oder Snapshots arbeiten und Änderungen in der Produktionsdatenbank überwachen. Um die Änderungen anzuzeigen, können Sie einen HTML- oder Excel-Bericht mit Informationen über Unterschiede zwischen Datenbanken erstellen.

Mit diesem Tool können Sie den Aktualisierungsprozess mit Hilfe der integrierten Befehlszeilenschnittstelle automatisieren, die Softwareentwicklung beschleunigen und die Vorgänge zur Entwicklung und Bereitstellung des Produkts vereinfachen.

dbForge-Einheitentest

Um den Entwicklungsprozess zu verbessern, führt ein Qualitätstechniker häufig Komponententests durch, um zu überprüfen, ob alles im Code richtig funktioniert – insbesondere nachdem einige Aktualisierungen vorgenommen wurden.

dbForge Unit Test ist die perfekte Lösung zum Erstellen, Organisieren und Ausführen von Testfällen mit wenigen Klicks. dbForge Unit Test basiert auf dem Open-Source-tSQLt-Framework, das die Verwendung von T-SQL zur Implementierung von Unit-Tests ermöglicht. Mit dbForge Unit Test können Sie den normalerweise manuellen und zeitaufwändigen Prozess des Unit-Tests vereinfachen, da es Ihnen ermöglicht, mehrere Unit-Tests gleichzeitig auszuführen, und eine Befehlszeilenschnittstelle zum Automatisieren und Planen des Prozesses bereitstellt.

dbForge-Datengenerator

Bevor Datenbanken in die Produktionsumgebung verschoben werden können, sollten mehrere Tests durchgeführt werden, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Um dies jedoch richtig zu machen, sollten Sie die Datenbanken zuerst mit Testdaten füllen.

Der dbForge-Datengenerator bietet die Möglichkeit, Millionen Zeilen realistischer Testdaten für jede Art von Datenbank oder Tabelle zu generieren.

Sie können einen der über 200 integrierten Datengeneratoren auswählen, die auf verschiedene Anforderungen zugeschnitten sind. Wenn jedoch keiner Ihren Anforderungen entspricht, können Sie einen benutzerdefinierten Datengenerator erstellen.

Datengenerierungsaufgaben können auch mit Hilfe der Befehlszeilenschnittstelle geplant und automatisiert werden.

dbForge-Datenpumpe

Data Pump bietet leistungsstarke Funktionen zum Füllen von SQL-Datenbanken mit Daten aus externen Quellen und zum Migrieren von Daten zwischen Systemen.

Folgende Datenformate werden unterstützt:

  • Import:Text, MS Excel, MS Excel 2007, MS Access, XML, CSV, ODBC, DBF (FoxPro, dBase III, dBase IV, dBase 7), JSON
  • Export:HTML, Text, MS Excel, MS Excel 2007, MS Access, RTF, PDF, XML, CSV, ODBC, DBF (Foxpro, dBase III, dBase IV, dBase 7), SQL, JSON

Mit Hilfe spezialisierter Import- und Export-Assistenten, die umfangreiche Optionen bieten, können Sie die Import- und Exportprozesse genau konfigurieren.

Sie können auch Vorlagen für Import- und Exportvorgänge erstellen und speichern, um wiederkehrende Aufgaben zu vereinfachen, und diese Aufgaben dann über die Befehlszeilenschnittstelle automatisieren.

dbForge-Monitor

In einer agilen Entwicklungsumgebung ist es notwendig, den Bereitstellungsprozess zu automatisieren. Nach der Bereitstellung der Software können Sie automatisierte Tests in Ihrer Datenbank ausführen und die Leistung von SQL Server mit dbForge Monitor analysieren.

Mit diesem KOSTENLOSEN Plug-in für SSMS können Sie die SQL Server-Leistung, CPU-Auslastung, Speicher- und Festplattennutzung, Lese- und Schreiblatenzen, Deadlocks, Transaktionen pro Sekunde und mehr überwachen.

Mit diesem Tool können Sie überprüfen, ob Änderungen im Code zu Problemen mit der Leistung führen. Sie können auch problemlos die Umgebungseigenschaften in Entwicklung und Produktion überprüfen, einschließlich SQL Server-Version, Service Pack, Betriebssystemversion, Sortierung, Cluster-Nutzung und mehr. Dieses Tool kann verwendet werden, um zu analysieren, ob Speicherlecks, Deadlocks oder andere Probleme vorliegen.

Sie können beispielsweise Einheitentests mit Abfragen durchführen und überwachen, wie dieses Tool funktioniert, um zu überprüfen, ob die Leistung akzeptabel ist, und die ressourcenintensivsten Abfragen erkennen, die die Serveraktivität verlangsamen.

dbForge-Ereignis-Profiler

Während dbForge Monitor Zugriff auf SQL Server- und OS-Zähler und Registrierungen hat, konzentriert sich dbForge Event Profiler auf die Überprüfung der Leistung von Abfragen und gespeicherten Prozeduren.

Sie können Ablaufverfolgungen von T-SQL-Code automatisch ausführen und die CPU-Zeit überprüfen, um die Ablaufverfolgungsergebnisse zu analysieren und in einer Datei zu speichern. Dieses Tool hilft Ihnen, lang andauernde Abfragen, Deadlocks und andere leistungsbezogene Probleme mit Abfragen zu erkennen.

Im Vergleich zu anderen hat dieses Tool eine hervorragende Leistungsqualität und verbraucht weniger Ressourcen, um Aufgaben auszuführen.

Schlussfolgerung

Wie Sie sehen, bietet dbForge eine große Anzahl von Tools zur Automatisierung der Prozesse der Softwareentwicklung, des Vergleichs von Daten und Schemas, der Leistungsüberwachung auf verschiedenen Ebenen, des Testens von Änderungen im Code, der Standardisierung und Erstellung von Code, der Generierung von Berichten und vielem mehr.

Referenzen

Weitere Informationen zu DevOps finden Sie unter diesen Links:

Was ist DevOps? – In einfachem Englisch
DevOps-Tutorial für Anfänger
DevOps