Book Image

DevOps for Databases

By : David Jambor
Book Image

DevOps for Databases

By: David Jambor

Overview of this book

In today's rapidly evolving world of DevOps, traditional silos are a thing of the past. Database administrators are no longer the only experts; site reliability engineers (SREs) and DevOps engineers are database experts as well. This blurring of the lines has led to increased responsibilities, making members of high-performing DevOps teams responsible for end-to-end ownership. This book helps you master DevOps for databases, making it a must-have resource for achieving success in the ever-changing world of DevOps. You’ll begin by exploring real-world examples of DevOps implementation and its significance in modern data-persistent technologies, before progressing into the various types of database technologies and recognizing their strengths, weaknesses, and commonalities. As you advance, the chapters will teach you about design, implementation, testing, and operations using practical examples, as well as common design patterns, combining them with tooling, technology, and strategies for different types of data-persistent technologies. You’ll also learn how to create complex end-to-end implementation, deployment, and cloud infrastructure strategies defined as code. By the end of this book, you’ll be equipped with the knowledge and tools to design, build, and operate complex systems efficiently.
Table of Contents (24 chapters)
1
Part 1: Database DevOps
5
Part 2: Persisting Data in the Cloud
7
Chapter 5: RDBMS with DevOps
10
Part 3: The Right Tool for the Job
14
Part 4: Build and Operate
19
Part 5: The Future of Data

Security

Security is a critical aspect of any database, both relational and non-relational. However, non-relational databases present some unique challenges around security. Here are three challenges specific to non-relational databases, along with explanations and code snippets.

Limited access control

Non-relational databases may not support the same level of access control as relational databases. This can create challenges around securing sensitive data and preventing unauthorized access.

To address this challenge, DevOps teams may need to implement custom access control mechanisms in non-relational databases, such as role-based access control or custom authentication mechanisms. These mechanisms can help ensure that data is accessed only by authorized users and that sensitive data is protected.

Here’s an example of role-based access control in MongoDB:

MongoDB

// Create a user with a specific role in MongoDB
db.createUser({
  user: 'myuser...