sql >> Databasteknik >  >> RDS >> Sqlserver

DevOps-lösningar för automatisering av databasutveckling

Vad är DevOps?

Databas DevOps är en filosofi som omfattar följande begrepp:

  • automatisera utveckling, driftsättning, dokumentation, testning och övervakningsprocesser mellan mjukvaruutvecklare och driftingenjörer
  • integrera utvecklings- och driftprocesser för att effektivt synkronisera, validera, hantera och tillämpa databasändringar

Databas DevOps praxis är fokuserad på att förbättra effektiviteten i databashantering. Det hjälper till med att effektivisera processen för att distribuera och förbättra databaser genom att ge möjligheten att automatisera många aspekter av databasens livscykel, vilket påskyndar dem och förenklar dem.

Därför är DevOps den bästa praxisen för att förena utvecklings-, drift- och kvalitetssäkringsprocesser.

Historik

Patrick Debois, från Belgien, arbetade för regeringen med migrationsprojektet. Han var frustrerad över konflikterna mellan systemadministratören och utvecklarna. För att lösa dessa problem och förbättra olika processer studerade han Agile-metoden.

2008 gick Patrick till Agile-konferensen där Andrew Shafer var talare. Konferensen handlade om Agile Infrastructure. På den här konferensen var Patrick den enda personen som deltog i rapporten.

Tillsammans med Andrew skapade de Agile Systems Administration Group.

2009 hölls en konferens kallad "O'Reilly Velocity 09" med rapporten:"10 Deploys a Day:Dev and Ops Cooperation at Flickr." Patrick ville delta i konferensen personligen och någon föreslog att han skulle skapa Velocity-gruppen i Belgien.

Samma år skapade han en grupp som heter DevOpsDays med #DevOps hash-taggen på Twitter.
Efter att DevOps-konceptet utvecklats började folk så småningom tillämpa metoden specifikt för databasutveckling och ändra den därefter.

Definition

Databas DevOps förenklar processen att leverera funktionella och mångsidiga databaser med hjälp av bästa praxis och kulturella filosofier. Detta kan avsevärt förbättra arbetet för utvecklare och systemadministratörer.

Grundidén med DevOps är att gå med och dela utvecklings- och driftprocesserna för att göra dem kompatibla och effektiva.

I grund och botten måste utvecklare och systemadministratörer arbeta tillsammans för att distribuera en funktionell databas.

Exempel

Alla mjukvaruföretag har ett team av utvecklare. Det här teamet behöver släppa nya versioner av programvara inklusive patchar, snabbkorrigeringar och mer. När en ny version är klar bör den uppdaterade programvaran laddas upp till en server.

Distribution och uppdatering på servern kräver samordning med driftteamet. Driftsteamet är vanligtvis överens med systemadministratörer och kan ha andra uppgifter och uppgifter, vilket kan orsaka en försening i driftsättningsprocessen. Det är därför det är nödvändigt att integrera båda processerna och automatisera uppgifterna, inklusive implementeringar.

DevOps-lösning

För att göra detta och minska leveranstiden för programvaran behöver du följande:

  • Automatiska verktyg för att hålla reda på ändringar i programvaran.
  • Automatiska testverktyg.
  • Verktyg för att automatisera konfigurationen.
  • Verktyg för att kontrollera driftsättningsprestanda.
  • Verktyg för att automatisera dokumentation.
  • Verktyg för att förbättra programvarans kvalitet, inklusive formatering och kodutveckling.

Hur kan dbForge hjälpa dig i databasen DevOps-processen?

Låt oss överväga dbForge DevOps Automation-lösning och några dbForge-verktyg för SQL Server som kan användas för att förbättra DevOps-processerna för databaser:

dbForge SQL Complete

När utvecklare skriver kod behöver utvecklare ofta få fram sina tankar så snabbt som möjligt för att bibehålla effektivitet och produktivitet, samtidigt som de håller koden konsekvent och läsbar.

dbForge SQL Complete tillhandahåller ett brett utbud av funktioner för autokompletterande kod, formatering och refaktorering för att avsevärt förenkla utvecklingsprocessen. Dessa inkluderar en omfattande uppsättning kodavsnitt, smart byte av alias och variabler, mycket anpassningsbara kodformateringsmöjligheter, datavisualiserare och många fler.

En av de mest anmärkningsvärda funktionerna i SQL Complete är kommandoradsgränssnittet för SQL-formatering. Med dess hjälp kan SQL-filer och skriptmappar formateras automatiskt som ett kontinuerligt integrationsvalideringssteg.

dbForge källkontroll

Varje gång koden distribueras är det nödvändigt att automatiskt verifiera ändringar i källkoden.

Med verktyget dbForge källkontroll är det lättare att övervaka ändringar i SQL-skriptfiler och återställa dem om vissa ändringar påverkar integriteten för din databas.

dbForge Source Control är ett SSMS-plugin som hjälper dig att hantera databasändringar i källkontroll. Du kan se ändringshistorik för en hel SQL-databas, begå dina lokala ändringar av källkontroll, göra uppdateringar av din arbetskopia genom att hämta de senaste ändringarna från arkivet för källkontrollsystemet, upptäcka och lösa konflikter mellan versioner och mycket mer. Alla källkontrolluppgifter kan också automatiseras via kommandoradsgränssnittet.

Verktyget kan länka dina databaser till SVN, TFS, Git, Perforce, Mercurial och SourceGear Vault.

dbForge Schema Compare

När du har flera distributioner modifieras databasen ständigt. I det här fallet är det nödvändigt att se om nya tabeller, vyer eller lagrade procedurer skapas eller tas bort. Med dbForge Schema Compare för SQL Server kan du jämföra två databaser och enkelt synkronisera dem.

Verktyget låter dig arbeta med livedatabaser, säkerhetskopior eller ögonblicksbilder och övervaka förändringar i produktionsdatabasen. För att se ändringarna kan du skapa en HTML- eller Excel-rapport med information om skillnader mellan databaser.

Med det här verktyget kan du automatisera uppdateringsprocessen med hjälp av det inbyggda kommandoradsgränssnittet, påskynda mjukvaruutvecklingen och förenkla operationerna för att utveckla och distribuera produkten.

dbForge Unit Test

För att förbättra utvecklingsprocessen utför en kvalitetsingenjör ofta enhetstester för att verifiera att allt fungerar korrekt i koden – särskilt efter att vissa uppdateringar har gjorts.

dbForge Unit Test är den perfekta lösningen designad för att skapa, organisera och utföra testfall med några få klick. dbForge Unit Test är baserat på tSQLt-ramverket med öppen källkod som gör det möjligt att använda T-SQL för att implementera enhetstester. Med dbForge Unit Test kan du förenkla den vanligtvis manuella och tidskrävande processen för enhetstestning, eftersom det låter dig köra flera enhetstester samtidigt och ger ett kommandoradsgränssnitt för att automatisera och schemalägga processen.

dbForge Data Generator

Innan databaser kan flyttas till produktionsmiljön bör flera tester utföras för att säkerställa att allt fungerar korrekt. Men för att göra detta korrekt bör du först fylla databaserna med testdata.

dbForge Data Generator ger möjlighet att generera miljontals rader av realistiska testdata för alla typer av databas eller tabell.

Du kan välja en av de 200+ inbyggda datageneratorerna som är skräddarsydda för olika behov. Men om ingen av dem passar dina behov kan du skapa en anpassad datagenerator.

Datagenereringsuppgifter kan också schemaläggas och automatiseras med hjälp av kommandoradsgränssnittet.

dbForge Data Pump

Data Pump ger kraftfulla funktioner för att fylla SQL-databaser med data från externa källor och migrera data mellan system.

Följande dataformat stöds:

  • 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

Med hjälp av specialiserade import- och exportguider som tillhandahåller en omfattande uppsättning alternativ, kommer du att kunna konfigurera import- och exportprocesserna korrekt.

Du kan också skapa och spara mallar för import och export för att förenkla återkommande uppgifter och sedan automatisera dessa uppgifter via kommandoradsgränssnittet.

dbForge Monitor

I en agil utvecklingsmiljö är det nödvändigt att automatisera distributionsprocessen. Efter att ha distribuerat programvaran kan du köra automatiserade tester i din databas och analysera SQL Server-prestanda med dbForge Monitor.

Detta GRATIS plug-in för SSMS låter dig övervaka SQL Server-prestanda, CPU-användning, minnes- och diskanvändning, läs- och skrivfördröjningar, dödlägen, transaktioner per sekund och mer.

Med det här verktyget kan du verifiera om ändringar i koden orsakar problem med prestandan. Du kan också enkelt kontrollera miljöegenskaperna i utveckling och produktion, inklusive SQL Server-version, Service Pack, operativsystemversion, sortering, klusteranvändning och mer. Det här verktyget kan användas för att analysera om det finns några minnesläckor, dödlägen eller andra problem.

Du kan till exempel köra enhetstester med frågor och övervaka hur det här verktyget fungerar för att kontrollera om prestandan är acceptabel och upptäcka de mest resurskrävande frågorna som saktar ner serveraktiviteten.

dbForge Event Profiler

Medan dbForge Monitor har tillgång till SQL Server och OS-räknare och register, fokuserar dbForge Event Profiler på att kontrollera prestanda för frågor och lagrade procedurer.

Du kan automatiskt köra spår av T-SQL-kod och verifiera CPU-tiden för att analysera spårningsresultaten och spara dem i en fil. Det här verktyget hjälper dig att upptäcka långvariga frågor, dödlägen och andra prestandarelaterade problem med frågor.

Jämfört med andra har detta verktyg en utmärkt prestandakvalitet och förbrukar mindre resurser för att utföra uppgifter.

Slutsats

Som du kan se erbjuder dbForge ett stort antal verktyg för att automatisera processerna för att utveckla programvara, jämföra data och scheman, övervaka prestanda på olika nivåer, testa ändringar i koden, standardisera och skapa kod, generera rapporter och mycket mer.

Referenser

För mer information om DevOps, se dessa länkar:

Vad är DevOps? – På enkel engelska
DevOps-handledning för nybörjare
DevOps


  1. Redundanta data i uppdateringsutlåtanden

  2. Är det möjligt att sammanfoga kolumnvärden till en sträng med CTE?

  3. Åsidosätt frågeoptimeraren för dina T-SQL-anslutningar med FORCEPLAN

  4. SQL-fråga för att hitta saknade rader mellan två relaterade tabeller