Job description
Job Description
Role: Cassandra DBA / Engineer
Experience: 7+ Years
Work Location: Phoenix, AZ - Onsite
Project Duration: 12+ Months Contract
Responsibilities
- Design, develop, configure, and maintain enterprise-grade highly available and scalable Cassandra clusters supporting business-critical applications and services.
- Manage and administer Cassandra and other NoSQL/open-source database platforms to ensure stability, availability, reliability, and optimal performance.
- Demonstrate strong understanding of Cassandra architecture, replication strategies, consistency levels, partitioning, data modeling, token distribution, and multi-data-center deployments.
- Design Cassandra cluster topology and perform capacity planning based on application workloads, scalability, availability, and performance requirements.
- Perform Cassandra performance analysis and tuning to optimize read/write performance, throughput, and latency.
- Tune Cassandra compaction strategies, caching, consistency levels, tombstones, SSTables, and database configuration parameters.
- Identify and resolve hot partitions, slow queries, high latency, and database or infrastructure resource bottlenecks.
- Manage Cassandra cluster lifecycle activities including installations, upgrades, migrations, patching, capacity expansion, and configuration changes.
- Add, replace, remove, and safely decommission Cassandra nodes while maintaining cluster availability and data integrity.
- Perform cluster expansion and capacity upgrades with minimal production impact.
- Manage token distribution, node bootstrap and streaming, repair, cleanup, and cluster rebalancing activities.
- Implement and maintain Cassandra backup and restore strategies, including snapshots and incremental backups.
- Support point-in-time recovery where supported by the organization's backup solution and conduct recovery testing.
- Develop and support disaster-recovery procedures and ensure Cassandra environments meet availability and business continuity requirements.
- Tune Cassandra JVM heap, garbage collection, memory, and related configuration settings.
- Troubleshoot JVM and system-level issues including GC pauses, heap pressure, CPU utilization, disk I/O, memory, and storage performance.
- Tune Linux/OS and storage configurations to support Cassandra database workloads.
- Monitor Cassandra cluster health, availability, latency, throughput, disk usage, compactions, dropped messages, GC activity, repairs, and overall capacity.
- Troubleshoot complex production issues including node failures, high latency, timeouts, replica inconsistencies, capacity problems, and cluster instability.
- Use nodetool, Cassandra logs, metrics, tracing, and monitoring/alerting platforms to diagnose and resolve database issues.
- Proactively identify opportunities for performance optimization, scalability improvements, reliability, and operational efficiency.
- Develop and implement database automation solutions to streamline administration, deployment, maintenance, monitoring, and operational processes.
- Develop scripts, utilities, and engineering tools using technologies such as Python, Shell Scripting, Java, or Go.
- Automate database administration and infrastructure processes using Ansible and other automation frameworks.
- Collaborate with architecture and business teams to translate data requirements into effective conceptual, logical, and physical data models.
- Support distributed and highly available database environments while ensuring reliability, resiliency, and fault tolerance.
- Work closely with application development, infrastructure, platform engineering, and support teams to ensure seamless integration of Cassandra database services.
- Contribute to database standards, governance practices, operational procedures, and engineering best practices.
- Implement monitoring, alerting, and observability solutions to improve visibility into database health and performance.
- Participate in cloud adoption initiatives and support Cassandra database workloads across modern cloud platforms.
- Contribute to CI/CD initiatives and help integrate database deployment and operational processes into automated delivery pipelines.
- Support Agile delivery teams by participating in sprint planning, technical reviews, deployments, production support, and continuous improvement activities.
Required Qualifications
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or a related technical discipline; advanced degree preferred.
- 5+ years of professional experience in database engineering, database development, or database administration.
- Strong hands-on experience with Cassandra database administration and engineering in enterprise production environments.
- Strong understanding of Cassandra architecture, replication, consistency levels, partitioning, data modeling, token distribution, and multi-DC deployments.
- Experience designing and managing highly available, scalable, and fault-tolerant Cassandra clusters.
- Hands-on experience with Cassandra node management, including node addition, replacement, removal, decommissioning, bootstrap, streaming, repair, cleanup, and cluster rebalancing.
- Experience with Cassandra capacity planning, cluster topology design, expansion, and infrastructure upgrades.
- Strong experience with Cassandra performance analysis and tuning, including:
- Read/write performance and latency
- Compaction
- Caching
- Consistency levels
- Tombstones
- SSTables
- Hot partitions
- Slow queries
- Cassandra configuration
- Experience managing operational activities such as:
- Database upgrades and migrations
- Patch management
- Capacity planning and expansion
- Backup and recovery
- Performance analysis and tuning
- High availability and disaster recovery implementations
- Strong knowledge of Cassandra backup and recovery, including snapshots, incremental backups, restore procedures, and recovery testing.
- Strong understanding of JVM heap, garbage collection, memory management, CPU utilization, disk I/O, Linux/OS, and storage tuning.
- Strong hands-on experience troubleshooting Cassandra production environments using nodetool, Cassandra logs, metrics, tracing, and monitoring tools.
- Strong understanding of database architecture, storage concepts, indexing strategies, replication mechanisms, and query optimization.
- Experience creating and maintaining conceptual, logical, and physical data models.
- Ability to collaborate effectively with development, infrastructure, architecture, and production support teams.
- Experience supporting distributed systems and multi-tier application environments.
- Proficiency in one or more programming or scripting languages such as:
- Python
- Shell Scripting
- Java
- Go
- Understanding of API-driven architectures and modern application integration patterns.
- Familiarity with Agile methodologies and software delivery practices.
- Experience working with Continuous Integration and Continuous Delivery pipelines.
- Strong troubleshooting, analytical, and problem-solving capabilities.
- Excellent verbal and written communication skills.
Apply for this job
You'll be taken to the employer's application page.