sql >> Database >  >> RDS >> Oracle

Voordelen van het leren van nieuwe DB-systemen

Ik volg momenteel een online klas van MongoDB University om te leren hoe ik een DBA voor MongoDB kan zijn. Mijn bedrijf heeft op dit moment geen plannen voor MongoDB. Maar ik merk dat zo'n cursus me kan helpen meer over het product te weten te komen en misschien zal ik ontdekken dat dit product goed past bij een aantal toekomstige databasevereisten. Voor degenen die geïnteresseerd zijn in de klas, hier is een link. Ik raad het ten zeerste aan en het beste deel zijn de kosten!

Toen ik het einde van de cursus van 7 weken naderde, begon ik na te denken over de voordelen van databasebeheerders die meerdere databasesystemen leren. Sommige DBA's zijn belast met slechts één type databasesysteem. Mijn eerste DBA-baan was zo. Ik heb daar alleen Oracle gebruikt. In mijn tweede DBA-baan werd ik aangenomen vanwege mijn Oracle-expertise. Kort nadat ik bij het bedrijf begon, moesten ze SQL Server implementeren en wilden ze iemand van het DBA-team naar een les over dit onderwerp sturen. Ik greep de kans. De meesten van ons raken betrokken bij de databasesystemen die worden gebruikt door het bedrijf dat ons in dienst heeft, en daar houdt het op. Soms krijgt het bedrijf een nieuw databaseproduct binnen en mag de DBA zijn vleugels uitslaan met het nieuwe product. En dan zijn er bedrijven die een grote databasevoetafdruk hebben en kunnen genieten van de luxe van het inhuren van specialisten. Ze zullen dus enkele Oracle DBA's en enkele SQL Server DBA's inhuren, enz. In die bedrijven wordt de DBA vaak in een silo gestopt.

Specialisatie in een specifiek product heeft voordelen. Je wordt er echt goed mee. Je leert alle nuances van dat product kennen. En dat kan je erg voordelig maken voor je werkgever. Sommige mensen kunnen zich niet specialiseren, wat de uitdrukking oproept die zoiets zegt als "hij is een duizendpoot en meester van niets". Dit kan ook nuttig zijn totdat er een kleverig probleem is dat een niveau van expertise vereist dat de duizendpoot geen tijd heeft gehad om te leren omdat ze het te druk hadden met hun vingers in al die verschillende soorten databasesystemen.

Het is duidelijk dat mijn expertise bij Oracle ligt. Maar ik heb met mySQL, Postgres, SQL Server, Adabas, IMS en vele anderen gewerkt. Tenzij je je ergens onder een databaserots hebt verstopt, heb je gehoord van de nieuwe golf van database-engines ... MongDB, Hadoop, Cassandra, Neo4j en anderen. De databasemarkt is zeker aan het veranderen.

Als IT-professionals moeten we leren ons aan te passen aan de veranderingen. Mijn Oracle-expertise zal de komende tijd nog hard nodig zijn. Maar welke veranderingen wachten mij verder weg in de toekomst? Nou, als ik die vraag zou kunnen beantwoorden, zou ik een moord doen met wedden op sport! We kunnen de toekomst niet zien. We kunnen ons er alleen zo goed mogelijk op voorbereiden, gewapend met de kennis die we vandaag hebben, en bereid om die kennis aan te passen naarmate we morgen meer leren.

Verandering is constant in IT en de nieuwe database-engines die vandaag worden geïmplementeerd, zijn een verder bewijs. Het is de menselijke natuur dat Angst, Onzekerheid en Twijfel (FUD) binnensluipen bij het nadenken over deze verandering. Betekenen deze nieuwe databasesystemen het einde van mijn carrière? Word ik vervangen door een andere DBA die een van deze producten kent? Ik zeg om de nieuwe technologie te omarmen. Ik herinner me nog de dag dat mij werd gevraagd of ik naar de SQL Server training wilde gaan. Ik was enthousiast over de kans. Naarmate de tijd verstreek, heb ik de redenen begrepen waarom ik graag leer over andere databasesystemen dan Oracle, wat me bij het punt van dit artikel brengt. Wat zijn de voordelen van databasebeheerders die meerdere databasesystemen leren? Ik heb een lijst samengesteld met de voordelen vanuit mijn oogpunt. Anderen kunnen dingen aan de lijst toevoegen, dus stuur me gerust een paar opmerkingen. In willekeurige volgorde, hier zijn de voordelen die ik zie.

* Als ik een nieuw databasesysteem leer, probeer ik terug te gaan naar de databasetheorie. Het soort theorie dat ze graag aanhangen in de academische wereld. Dit zijn geen dingen uit de echte wereld, maar puur theoretisch. Helemaal niet praktisch. Maar de theorie is belangrijk. En als ik een goed begrip heb van de databasetheorie, kan ik snel een nieuw systeem leren. Ik ken bijvoorbeeld de theorie achter locking voor concurrency control. Wanneer ik een nieuw databasesysteem aan het leren ben, hoef ik transactiebeheer niet helemaal opnieuw te leren. Ik maak gebruik van mijn bestaande kennis, vertrouwend op die theoretische basis, en zoek uit hoe dat specifieke systeem het implementeert. Op deze manier kan ik de sterke punten van dat specifieke systeem waarderen en weet ik weg te blijven van de zwakke punten. Het leren van nieuwe databasesystemen versterkt de kerndatabasetheorie die ik ken. Het zet me ook aan het denken over de implementatie van die theorie op een nieuwe manier waar ik misschien nog niet eerder aan had gedacht.
* Vanuit een carrièrestandpunt denk ik niet dat het een geweldig idee is om in een silo te worden geplaatst waar ik weet maar één ding. Zoals ik al eerder aangaf, is verandering de enige constante in de IT-business. Als ik in een silo zit, wat moet ik dan doen als het enige dat ik weet weg is? Als ik alleen maar IMS wist, zouden mijn kansen op een baan vrij klein zijn. Wat betreft de levensduur van een carrière, houdt de kennis van meerdere systemen me voor de lange termijn aan het werk.
* Nogmaals, vanuit een carrièreperspectief, helpt het kennen van meerdere systemen mijn bedrijf om flexibeler te zijn met hun database-implementaties. Het bedrijf kan een vereiste hebben om gegevens in meer dan één databasesysteem te hosten. Als ik niet meer dan alleen Oracle kan ondersteunen, dan ben ik waarschijnlijk niet de persoon voor de baan. Door flexibel te blijven met de databasesystemen die ik ondersteun, wordt het bedrijf flexibeler en ben ik waardevoller voor het bedrijf. Hoe waardevoller ik ben, hoe meer werkzekerheid ik heb en hoe meer geld ik verdien.
* Nieuwe technologie is cool! Zoals velen in de IT-business, voel ik me aangetrokken tot computersystemen in het algemeen. We houden allemaal van nieuwe technologie. Die nieuwe glimmende smartphone. Nu smartphones gemeengoed zijn, kijken we naar Fitbits en nu naar slimme horloges. We vinden de nieuwe toepassingen altijd leuk. Ik zal upgraden naar de nieuwste versie van MS Office, niet voor de nieuwe functies, maar omdat ik het beu ben om diezelfde look en feel de afgelopen 3 jaar te zien. Omdat ik graag met gegevens werk, is er niets cooler dan die glimmende nieuwe database-engine die ik nog nooit eerder heb gezien.
* Een nieuw databasesysteem doorbreekt de eentonigheid. We kunnen allemaal wel eens zelfgenoegzaam en verveeld raken met dingen. Dat is de menselijke natuur. Oracle wil die eentonigheid voor mij doorbreken door een nieuwe versie te introduceren met alle nieuwe functies die ik moet leren. Maar soms vind ik het leuk om gewoon een nieuw product te leren.
* Een nieuw databasesysteem kan ervoor zorgen dat u uw oude waardeert! Alleen omdat het systeem het nieuwste is, wil nog niet zeggen dat het beter is dan het beproefde systeem waar ik al tientallen jaren aan werk. Het is misschien tijd om dat te versterken en te leren waarom ik dat oude systeem nog steeds gebruik.
* Een nieuw systeem kan je dwingen om in een ander licht over je oude systeem na te denken. Het kan ervoor zorgen dat je buiten de spreekwoordelijke kaders gaat denken, wat soms tot andere oplossingen kan leiden. Als je het nieuwe systeem leert, kun je teruggaan en een andere manier vinden om iets in het oude systeem te implementeren.
* Trollen bestaan ​​overal! Ze leven niet meer alleen onder bruggen. We zijn allemaal getroffen door de pseudo-IT-professional die ergens een artikel heeft gelezen en denkt dat ze meer weten over de nieuwste/beste technologie dan jij. Deze video is hilarisch en doet me denken aan soortgelijke gesprekken (Opmerking:video bevat grof taalgebruik) die ik tijdens mijn carrière helaas heb gehad. Als databaseprofessionals moeten we intelligent kunnen praten over wat een databasesysteem wel en niet goed kan. Als we die systemen niet leren kennen, hoe kunnen we dan een pleitbezorger zijn voor de juiste technologie om aan de zakelijke vereisten te voldoen? Daarnaast rekent mijn bedrijf op mij voor gedegen advies voor onze corporate database-architectuur. Ik wil niet de man zijn die een specifieke database-engine heeft geïmplementeerd om er een jaar of zo later achter te komen dat we het verkeerde hebben geïmplementeerd. Kennis is essentieel bij het verdedigen tegen trollen en het helpen van het bedrijf bij het nemen van solide beslissingen.
* Je weet nooit wanneer er iets nieuws komt en je meer intrigeert dan waar je aan hebt gewerkt. Ik ken een aantal Oracle DBA's die niet meer met het Oracle-product werken en hebben besloten dat ze iets anders leukers vinden. Hoe weet je of het gras groener is aan de overkant als je er niet heen gaat voor een bezoek? Ik pleit niet per se voor het zoeken naar de groenere weide, maar ik hou er ook niet van om deuren te sluiten voordat ik er doorheen ben gestapt. Dus neem een ​​kijkje. Neem een ​​kijkje. Schop de banden een beetje. Het kan geen kwaad.
Als DBA en als IT-professional zal ik nog steeds kijken naar nieuwe databasesystemen als ze volwassen worden en relevant worden. Ik weet zeker dat ik dit de rest van mijn carrière zal volhouden. Ik heb er baat bij, zelfs in mijn huidige baan, om iets nieuws te leren, zelfs als dat nieuwe niet direct verband houdt met waar ik vandaag aan werk.

Er kunnen lezers zijn die het niet eens zijn met enkele van de dingen die ik hierboven heb gezegd. Dat is goed. We hebben het hier niet over feiten, alleen meningen, dus er is geen goed of fout. Voel je vrij om opmerkingen achter te laten en in meer detail te bespreken als je wilt.


  1. Hoe kan ik een SELECT DISTINCT uitvoeren op alle velden behalve een BLOB?

  2. Regex-patroon in de functie SQL Replace?

  3. Boom sorteren met een gematerialiseerd pad?

  4. Een primaire sleutel gebruiken met een WithoutRowID