Administer, develop, and test databases. Perform many related database functions across one or more teams or clients, including designing, implementing and maintaining new databases, backup/recovery and configuration management. Install database management systems (DBMS) and provide input for modification of procedures and documentation used for problem resolution and day-to-day maintenance.
Technical Skills Required
A DBA should possess deep technical knowledge of database designing, optimization techniques, and high availability setups.
MySQL Skills
Proficiency in SQL and database normalization techniques.
Knowledge of MySQL architecture, storage engines (InnoDB, MyISAM).
Replication (Master-Slave, Group Replication).
Backup and recovery tools
Query optimization and indexing strategies.
Performance tuning and troubleshooting
Scripting with Bash / Python
PostgreSQL Skills
Working knowledge of PostgreSQL database.
Experience with performance tuning
Replication techniques
Knowledge of partitioning and sharding strategies.
Experience with backup and recovery using pg_dump, pg_basebackup.
Scripting and automation using PL/pgSQL, Python, or Bash.
Key Responsibilities
Database Design and Architecture
Designing and implementing database structures that align with business needs.
Evaluating and selecting appropriate database technologies (SQL/NoSQL).
Planning for scalability and high availability solutions.
Performance Tuning and Optimization
Monitoring database performance and proactively addressing bottlenecks.
Implementing indexing strategies and query optimization techniques.
Managing workload distribution and resource allocation for optimal performance.
Backup and Recovery Management
Establishing backup strategies to prevent data loss.
Performing regular backup testing and disaster recovery drills.
Ensuring RPO (Recovery Point Objective) and RTO (Recovery Time Objective) compliance.
Security and Compliance
Implementing security policies to protect sensitive data.
Managing database access controls and user privileges.
Ensuring compliance with industry standards (e.g., GDPR, HIPAA).
Database Installation, Upgrades, and Patching
Installing and configuring database software (MySQL, MongoDb, PostgreSQL etc.).
Planning and executing database version upgrades and security patches.
Minimizing downtime during critical updates.
High Availability and Disaster Recovery
Implementing HA/DR solutions such as clustering, replication, and failover mechanisms.
Monitoring database health and ensuring redundancy in case of failure.
Defining disaster recovery plans and periodic testing.
Automation and Scripting
Developing automation scripts for routine tasks using SQL, Shell, or Python.
Implementing infrastructure-as-code (IaC) solutions where applicable.
Automating database deployments and change management processes.
Capacity Planning and Resource Management
Assessing current and future database storage and performance needs.
Working with infrastructure teams to optimize hardware and cloud resources.
Forecasting growth and preparing scalability plans.