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

Introduction to immutable and idempotent logic

Let’s define immutable logic.

In software engineering, immutable logic refers to a design principle where once an object or data structure is created, it cannot be modified. Immutable objects are those whose state cannot be changed after they are created. Any operation on an immutable object results in the creation of a new object rather than modifying the existing one.

The significance of immutable logic lies in its benefits for software development. Here are some key advantages:

  • Thread safety: Immutable objects are inherently thread-safe since they cannot be modified concurrently. Multiple threads can access and use immutable objects without the need for synchronization mechanisms, reducing the chances of race conditions.
  • Simplicity and predictability: Immutable logic simplifies code by eliminating the need for complex update operations. Developers can reason about the behavior of immutable objects more easily...