DBA olmak ne demektir?
10 farklı veritabanı yöneticisine “DBA olmak ne demektir” sorusunu sorarsanız, on farklı cevap alabilirsiniz. Örneğin bir firma, mevcut veritabanlarının günlük yönetiminin sağlanması adına bir DBA’e ihtiyaç duyabiliyorken başka bir firma hem T-SQL hem de C# kodu yazmasını isteyebilir yada SSIS konusunda uzmanlaşmış bir DBA isteyebilir.
DBA’nin işi birçok farklı rolü ve genellikle iş ünvanlarını kapsar ve bunlar firmaların farklılaşması ile büyük ölçüde değişebilir. Kısacası, bir DBA için standart bir iş tanımı yoktur. Bunun nedeni kısmen, iş ünvanının uzun bir geçmişe sahip olmaması ve yeni teknolojiler yayınlandıkça DBA rolünün hızla gelişmekte olmasıdır.
DBA’nin genel olarak kabul edilmiş bir tanımı olmadığından, DBA’lerin her gün ne yaptığını mesleğe yeni başlayanlara anlatıyor olacağım.
A’dan Z’ye DBA görevleri
DBA’ler o kadar çok farklı görevleri yerine getirir ki hepsini kategorize etmek zordur. Aşağıdaki alfabetik liste, ortak DBA görevlerinin ana hatlarını gösterir. Bu liste hiçbir şekilde kapsamlı değildir ve bazı görevler çakışmaktadır.
APPLICATION INTEGRATION – Uygulama Entegrasyonu
Çoğu kuruluş, şirket içi ve üçüncü taraf uygulamaların bazı kombinasyonlarını kullanır yada bu uygulamaların birkaçı tek başına çalışır. Bu nedenle, DBA’ler genellikle veri paylaşımı aracı olarak bir veritabanı kullanarak farklı uygulamaların birbirleriyle konuşmasını sağlamak zorundadır. DBA’ler genellikle uygulamaları entegre etmenin en iyi yolunu bulmaya dahil olur olurlar ve genellikle entegrasyonları kendileri gerçekleştirir.
ARCHIVING DATA – Verilerin arşivlenmesi
Veriler zamanla büyür ve depolanması maliyetli ve yönetilmesi zor hale gelebilir. Ek olarak, artan veriler performans sorunlarının da artmasına sebeo olabilirler. DBA’ler genellikle veri boyutunu ve veri büyümesini izlemekten ve bunları depolamanın en iyi yolunu belirlemekten sorumludur. Bazı durumlarda bu, nadiren kulanılan verilerin başka bir veritabanında arşivlenmesini içerebilir veya artık gerekli olmayan verilerin temizlenmesine anlamına gelebilir. Şirket politikası ve hükümet düzenlemeleri verilerin nasıl ve nerede olduğunu kısıtlayabileceğinden, seçenekler genelde sınırlıdır.
ATTENDING MEETINGS – Toplantılara katılım
Çoğu DBA, çalışma saatlerini azalttığı için toplantılara katılmaktan nefret eder. Toplantılar, çalışma hayatının bir gerçeğidir ve akıllıca kullanılırsa zaman kaybı olmaktan çıkacaklardır. Doğu planlama ve hazırlık ile, toplantılar iletişimi geliştirmek için harika fırsatlardır. DBA’nin sorumlulukları genellikle iş arkadaşları tarafından bilinmez veya yanlış anlaşılır. Bu nedenle DBA’ler yaptıklarını başkalarıyla paylaşmak için her zaman toplantılar gibi fırsatlardan yararlanmalıdır.
AUDITING – Denetim
DBA’nin ortaya çıkan bir görevi, hangi kullanıcıların ne zaman ve hangi ortamdan verilere eriştiğini, veri eklendiğini, güncellediğini veya sildiğini belirlemektir. Denetim, yalnızca sınırlı süreler için, belirli veriler için yada 7/24 gerekli olabilir. DBA’ler bu görevi gerçekleştirmek için genellikle kurum dışından dış denetçiler ile birlikte çalışır. Tabi bu denetim’in yapılmaması yada eksik yapılması gibi durumlarda kuruluş için önemli cezalar ve yaptırımlar söz konusu olabilir. Bu yüzden denetim, bir DBA’nin en önemli sorumlulukları arasında yer almaktadır.
BACKUP AND RECOVERY – Yedekleme ve Kurtarma
DBA’nin işinin en temel yönlerinden biri kuruluşun verileri korumaktır. Bir sorun ortaya çıkması durumunda ise verilerin ve kritik sistemlere erişimin hızla geri yüklenebilmesi için iyi geliştirilmiş bir kurtarma planının uygulaması ve test edilmesi gereklidir. Bu yüzden bir kere ayarlanıp bırakılmamalı ve düzenli olarak kurtarma planı test edilmelidir. Aksi durumda oluşabilecek bir yedekleme sorunu kuruluş için büyük felaketlere yol açabilir.
BUSINESS INTELLIGENCE AND DATA WAREHOUSING – İş Zekası ve Veri ambarı
Ortaya çıkan bir başka trend de DBA’lerin veri ambarlarının ve iş zekası uygulamlarının oluşturulması ve bakımıyla görevlendirilmesidir. Böylece kuruluşlar daha etkili iş kararları almak için verileri daha iyi kullanabilir.
CAPACITY PLANNING – Kapasite planlaması
Çoğu kuruluşta, veritabanlarının sayısı ve boyutu hızla büyür. Veri büyümesini izlemek ve bununla en iyi nasıl başa çıkılacağını planlamak DBA’nin sorumluluklarındandır. Bu arşivlemeyi, sıkıştırmayı, mevcut donanımın boyutunun büyütülmesi yada yeni donanım eklenmesini içeriyor olabilir.
CHANGE MANAGEMENT – Değişim Yönetimi
SQL Server yapılandırmaları, veritabanı şeması, T-SQL Kodu ve uygulama ekosistemi zamanla değişir. Değişiklikler yapılmadan önce etki analizi yapmak, değişiklikleri uygulamak, değişiklikleri test etmek ve bunları belgelemek genellikle DBA’nin sorumluluğundandır.
DATA MODELING AND DATABASE DESIGN – Veri modelleme ve Veritabanı tasarımı
Verimli ve ölçeklenebilir veritabanlarının temeli iyi tasarımıdır. DBA’ler genellikle ihtiyaç ve gereksinim analizi gerçekleştirerek, mantıksal bir model oluşturarak ve ardından fiziksel modeli uygulayalarak veritabanı tasarımlarını oluştururlar. Daha büyük kuruluşlar, veritabanı tasarımında uzmanlaşmış DBA’lere sahip olabilirler.
DATABASE APPLICATION DEVELOPMENT – Veritabanı uygulama geliştirme
Çoğu DBA, SQL Server veritabanlarında depolanan verilere erişmek için kod yama konusunda uzmanlaşmış uygulamala geliştiricilerdir. Bu en yaygın olarak T-SQL kullanılarak yapılsa da SQL Server verilerine erişmek / veritabanını yönetmek için için iyi bir veritabanı uygulama geliştiricisi olmak için bilgi derinliğini geliştirmek zorundadır.
DEVELOPING AND MAINTAINING BEST PRACTICES – Standart kabul edilmişleri uygulamak ve geliştirmek
Başarılı DBA’ler işlerinde proaktiftir ve proaktif olmanın en iyi yollarından biri, standart kabul edilmiş veritabanı uygulamalarını geliştirmek ve bunları tutarlı bir şekilde yönetiminde olan sisteme uygulamaktır. Veritabanı operasyonları ne kadar iyi organize edilir ve yönetilirse o kadar verimli olacaktır.
DISASTER RECOVERY – Felaket Kurtarma
Kariyerlerinin bir noktasında DBA’ler kayıp verileri kurtarmak zorunda kalacak. Bu, bir veritabanı yada log dosyasının geri yüklemek kadar basit olabilir veya hava şartlarından zarar görmüş bir veri merkezini bir şehirden diğerine taşımak kadar karmaşık olabilir. Felaketler ile başa çıkmayı kolaylaştırmak için olağanüstü durum kurtarma senaryolarını planlamak, uygulamak ve düzenli olarak test etmek DBA’nin sorumluluğundadır.
HARDWARE / OS – SETUP AND CONFIGURATION – Donanım ve İşletim Sistemi Kurulum ve yapılandırılması
Çok sayıda kuruluşta donanım, kendi alanında özel yetkinliklere sahip kişiler tarafından yönetilir. Fakat bir DBA kendi donanımlarını oluşturmayı bilen, yönettiği uygulamamanın hangi donanım ve yapılandırması ile daha iyi çalıştığını bilmek, sorun giderme ve bakım işlemlerini gerçekleştirebilir olmalıdır.
HIGH AVAILABILITY – Yüksek Kullanılabilirlik
DBA’ler sistemlerinde oluşabilecek dar boğazların yönetimi ve sürdürülebilirliğinin maksimum olması için yüksek kullanılabilirlik çözümlerini planlamak ve yayına almak ile sorumludur. SQL Server AlwaysOn, Log Shipping, Database Mirroring gibi bir çok farklı çözüm ile yüksek kullanılabilirliğin olmasını sağlayabilirsiniz.
INSTALLING, CONFIGURING, AND UPGRADING SQL SERVER SOFTWARE – SQL Server Kurulum, yapılandırma ve Yükseltme
SQL Server kurmak, yapılandırmak ve yükseltmek en çok zaman alan veritabanı görevlerinden biridir. Kolay bir görev / iş gibi görülsede genellikle öyle değildir. 7/24 esasında çalışan bir kuruluş için bu işi yapmak için uygun bir zaman bulmaktır. Ek olarak SQL Server için uygulanan her patch işleminde veritabanına erişen uygulamaların veya veritabanlarının kendilerinin düzgün çalışmama riski vardır. Bunun ötesinde, DBA’ler genellikle değişiklikleri yaptıktan sonra sorun olmamasına rağmen sorun olduğunu iddia edenler ile savaşmak zorundadır. Bu yüzden bu görev, iyi planlanmalı tüm adımları birkaç kere gözden geçirilmesi gerekmektedir.
MAINTAINING DOCUMENTATION – Belgelerin sürdürülmesi
Belgeleri yazmak, devam ettirmek muhtemelen bir DBA’nin karşılaşacağı en sıkıcı ve nefret edilen sorumluluğudur. Ne kadar sıkıcı olursa olsun, DBA’nin işinin kritik bir parçasıdır. Belgeleme yapmazsanız, mevcut altyapıyı yeniden inşa etmenin kolay bir yolu yoktur.
MANAGING PEOPLE – İnsanları Yönetmek
Birçok DBA, junior DBA’lerden sorumludur. Her ne kadar ülkemizden junior DBA sayısı yeni yeni artış gösterse bunların yönetimi ve takip edilmesi DBA’lerin sorumluğudur. İnsanları yönetmek, sistemleri yönetmekten daha zor olabileceği için bu görev çoğu DBA tarafından sahiplenilmek istenmeyebilir.
MANAGING SQL SERVER–BASED APPLICATIONS – SQL SUNUCU TABANLI UYGULAMALARI YÖNETME
Birçok yeni DBA için süpriz sayılabilecek bir sorumluluk olabilir. Kuruluşta yer alan veritabanına erişen tüm uygulamaları yönetmekten de sorumlu olunabilir. Bu durum, SQL Server sunucularının yönetiminden daha uzun zamanlarını alabilir.
MANAGING TEST ENVIRONMENTS – Test ortamlarını yönetmek
Birçok kuruluşta DBA’lar, yalnızca test SQL Sunucularını ve test veritabanlarını değil, aynı zamanda test uygulamalarını da içeren test ortamlarını yönetir. Bunun amacı, uygulamaların (hem şirket içi hem de üçüncü taraf), uygulamanın veya SQLSunucunun yeni sürümleri üretime sunulmadan önce test edilmesine izin vermektir.
MENTORING – MENTORLUK
Çoğu zaman, DBA’lar bilgilerini diğer DBA’lar, geliştiriciler veya son kullanıcılarla paylaşmak zorundadır.
MONITORING – İzleme
Bu, performans izleme, sunucu disk alanını izleme, günlükleri görüntüleme, işlerin başarılı bir şekilde çalışmasını sağlama ve hataları inceleme gibi birden çok alt görevi içeren geniş kapsamlı bir görevdir. Bu işi yapabilmek için çeşitli araçlar mevcut olsa da, DBA’ler genellikle bu tür araçlar için bütçeleri olmadığı veya bunlara aşina olmadıkları için manuel olarak izleme işini gerçekleştirirler fakat bu da çok zamanlarını alır.
PERFORMANCE TUNING – Performans İyileştirme
Performansı izlemek ve veritabanı performansını optimize etmenin yollarını belirlemek DBA’nın görevidir. Bu karmaşık olabilir ve birçok DBA bu alanda uzmanlaşmıştır.
SCRIPTING
DBA’lar, izleme ve bakım dahil olmak üzere çok çeşitli görevleri gerçekleştirmek için genellikle kendi T-SQL komut dosyalarını yazar. Fakat Powershell’in gelişmesi ve yaygınlaşması ile üretkenliğini artırmak için powershell ile geliştirme yaparlar.
SECURITY – Güvenlik
DBA’lar verilere kimin erişebileceğini ve onunla ne yapabileceklerini kontrol eder. Kullanıcıları oluşturma, izinleri atama, sunucular arasında güvenliği taşıma ve veri şifreleme uygulama gibi birçok yönü vardır.
TROUBLESHOOTING – Sorun Giderme
Neredeyse her gün, DBA’lar şu veya bu sorunu giderir. Genellikle bir sorun ortaya çıktığında, DBA’nın her şeyi bırakması ve eldeki sorunu çözmeye odaklanması beklenir. Bu, uzun saatler ve yüksek stres seviyelerine neden olabilir. Birçok teknik pozisyonda olduğu gibi, etkili DBA’lar iyi problem çözücülerdir.
WORKING WITH TEAMMATES – Takım Arkadaşları ile Çalışmak
DBA’lar nadiren tek başına çalışır. Çoğu durumda DBA’lar, diğer DBA’lar, geliştiriciler, son kullanıcılar, ürün uzmanları, satıcılar, muhasebeciler, donanım uzmanları ve ağ uzmanları dahil olmak üzere birçok kişiyle etkileşim halindedir. Bu nedenle DBA’ların iyi insan becerilerine ihtiyacı var.
DBA Uzmanlıkları
Gördüğünüz gibi, DBA’lar birçok farklı görevi yerine getirirler ve çok çeşitli roller üstlenirler.Genellikle, DBA’lar geneldir çünkü birçok farklı alan hakkında biraz bilgi sahibi olmaları gerekir. Öte yandan, daha önce açıklanan tüm görevlerin ustası olan bir DBA’yı nadiren bulursunuz. Bu iki nedenden dolayıdır. İlk olarak, çoğu insanın DBA ile ilgili her konuda ustalaşmak için zamanı yoktur. İkincisi, hızla değişen teknolojiye ayak uydurmak zorunda olmanın ek bir yükü var. Çoğu kişi için DBA rolünün tüm yönlerini yerine getirmek imkansızdır. Başarılı bir DBA olmak için SQL Server hakkında bilinmesi gereken her şeyi bilmenize gerek yok. Aslında, odak noktanızı daraltırsanız ve bir avuç SQL Server konusunda uzmanlaşırsanız, başarılı bir DBA olma şansınız çok daha yüksektir.
Şimdi DBA’ların uzmanlaştığı bazı ortak alanlara bir göz atacağız.
DBA SYSTEM ADMINISTRATOR – DBA SİSTEM YÖNETİCİSİ
DBA sistem yöneticisi, birçok farklı konuyu biraz bilen bir genelcidir. Üretim DBA olarak da bilinen DBA sistem yöneticisi, genellikle test ve üretim SQL Server ortamlarını kurmak, yapılandırmak ve sürdürmekten sorumludur. Bu, izleme, performans ayarlama, yedeklemeler ve geri yüklemeler, güvenlik, iş oluşturma vb. Gibi rutin görevler içerebilir. Tıbbi açıdan, DBA sistem yöneticisini genel pratisyen olarak düşünün. Diğer tüm DBA uzmanları daha çok tıp uzmanları gibidir.
DBA DATABASE ARCHITECT – DBA VERİTABANI MİMARI
Bir DBA veritabanı mimarını, bir kuruluştaki veri depolama ve erişimin büyük resmini gören ve görevi kuruluşun veri ihtiyaçlarını araştırmak, mevcut seçenekleri araştırmak ve ardından kuruluşun uygulaması gereken politikalar önermek olan bir çalışan olarak düşünün. Birçok organizasyonda, veritabanı mimarı unvanı, lider DBA, DBA yöneticisi veya DBA proje yöneticisi adı da başka isimleridir.
DBA DATABASE DESIGNER – DBA VERİTABANI TASARIMCISI
DBA veritabanı tasarımcıları, yeni veritabanı şemaları oluşturmaya odaklanır. Kullanıcı ihtiyaçlarını ve gereksinimlerini tanımlarlar, mantıksal veritabanı tasarımları geliştirirler, fiziksel veritabanları oluştururlar vb. Çoğu durumda, DBA veritabanı tasarımcısı, uygulamaları geliştirmek ve sürdürmek için DBA geliştiricileri veya diğer geliştiricilerle birlikte çalışır.
DBA DEVELOPER – DBA GELİŞTİRİCİ
DBA geliştiricisi, T-SQL komut dosyaları, stored prosedürler, fonksiyonlar, Ortak Dil Çalışma Zamanı (CLR) nesneleri veya SQL Server verilerine erişmek için kullanılan diğer herhangi bir kod türü yazabilir. DBA geliştiricisi, uygulamaları geliştirmek ve sürdürmek için genellikle DBA sistem yöneticileri, DBA veritabanı tasarımcıları, proje yöneticileri ve diğer geliştiricilerle birlikte çalışır.
DBA HIGH AVAILABILITY AND DISASTER RECOVERY SPECIALIST – DBA YÜKSEK KULLANILABİLİRLİK VE AFET KURTARMA UZMANI
Günümüzün çevrimiçi işletmelerinin çoğu için, SQL Server’ın günün her saati kullanılabilir olması her zamankinden daha kritik hale geldi. Bu nedenle, DBA’ların genellikle yüksek kullanılabilirlik konusunda uzmanlaşması gerekir. Görevleri, ortamları için hangi yüksek kullanılabilirlik yöntemlerinin en iyi olduğunu belirlemek ve daha sonra bunları uygulamak ve sürdürmek ve en başta veri kaybını önlemeye yardımcı olmaktır. Diğer DBA’lar, felaket kurtarma konusunda uzmanlaşmıştır. Başka bir deyişle, mevcut yüksek kullanılabilirlik ve olağanüstü durum kurtarma prosedürleri başarısız olduğu için bozuk veritabanlarından verileri kurtarmaya çalışmak üzere getirilirler.
DBA BUSINESS INTELLIGENCE SPECIALIST – DBA İŞ ZEKASI UZMANI
DBA BI (iş zekası) uzmanları, veri ambarları ve çevrimiçi analitik işleme (OLAP) küpleri tasarlar, oluşturur ve sürdürür, böylece veriler kuruluşlar tarafından daha kolay alınabilir ve analiz edilebilir. Bu genellikle Çok Boyutlu İfadeler (MDX) sorguları kullanılarak yazılmış BI tabanlı uygulamalar geliştirmeyi içerir. Çoğu durumda, SSIS paketlerinin ayıklanması, dönüştürülmesi ve yüklenmesi (ETL) ile tasarım ve uygulama konularında da büyük rol oynarlar.
Özet
DBA iş tanımının çok çeşitli ve sürekli olarak değiştiği göz önüne alındığında, odaklanmak isteyebileceğiniz tüm olası DBA uzmanlıklarını listelemek zordur, bu nedenle bu bölümdeki listenin gayri resmi bir kılavuzdan başka bir şey olduğunu düşünmeyin.Listelediğim geniş uzmanlık alanlarından daha fazla odaklanan kendi uzmanlığınızı geliştirmek istediğinizi fark edebilirsiniz.
Gördüğümüz gibi DBA olmak birçok farklı anlama geliyor. Tek bir beceri kümesine sahip tek bir iş unvanı değil, bunun yerine, DBA’nın iş unvanı, tek bir ortak payda ile birbirine bağlanmış çok çeşitli iş görevlerini ve rolleri kapsar. DBA’lar, kuruluşun verilerinin koruyucusudur. DBA’lar olarak bizim işimiz sadece bir kuruluşun verilerini korumak değil, aynı zamanda işlerini etkin bir şekilde gerçekleştirmek için bu verileri ihtiyaç duyan herkesin kullanımına sunmaktır. Bu sorumluluğu ne kadar iyi yerine getirirsek, DBA’lar olarak ne kadar başarılı oluruz.
Kaynak: SQL Server MVP Deep Dives Book
Çağlar Özenç
DMC Bilgi Teknolojileri