Saturday, June 19, 2021
No menu items!

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Must Checkout

Price: $29.99
(as of Jun 10,2021 20:11:44 UTC – Details)

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?

In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.

  • Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
  • Make informed decisions by identifying the strengths and weaknesses of different tools
  • Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity
  • Understand the distributed systems research upon which modern databases are built
  • Peek behind the scenes of major online services, and learn from their architectures

From the Publisher

Designing Data-Intensive ApplicationsDesigning Data-Intensive Applications

Who Should Read This Book?

If you develop applications that have some kind of server/backend for storing or processing data, and your applications use the internet (e.g., web applications, mobile apps, or internet-connected sensors), then this book is for you.

This book is for software engineers, software architects, and technical managers who love to code. It is especially relevant if you need to make decisions about the architecture of the systems you work on—for example, if you need to choose tools for solving a given problem and figure out how best to apply them. But even if you have no choice over your tools, this book will help you better understand their strengths and weaknesses.

You should have some experience building web-based applications or network services, and you should be familiar with relational databases and SQL. Any non-relational databases and other data-related tools you know are a bonus, but not required. A general understanding of common network protocols like TCP and HTTP is helpful. Your choice of programming language or framework makes no difference for this book.

If any of the following are true for you, you’ll find this book valuable:

You want to learn how to make data systems scalable, for example, to support web or mobile apps with millions of users.

You need to make applications highly available (minimizing downtime) and operationally robust.

You are looking for ways of making systems easier to maintain in the long run, even as they grow and as requirements and technologies change.

You have a natural curiosity for the way things work and want to know what goes on inside major websites and online services. This book breaks down the internals of various databases and data processing systems, and it’s great fun to explore the bright thinking that went into their design.

Designing Data-Intensive ApplicationsDesigning Data-Intensive Applications

Sometimes, when discussing scalable data systems, people make comments along the lines of, ‘You’re not Google or Amazon. Stop worrying about scale and just use a relational database’. There is truth in that statement: building for scale that you don’t need is wasted effort and may lock you into an inflexible design. In effect, it is a form of premature optimization. However, it’s also important to choose the right tool for the job, and different technologies each have their own strengths and weaknesses. As we shall see, relational databases are important but not the final word on dealing with data.

Scope of This Book

This book does not attempt to give detailed instructions on how to install or use specific software packages or APIs, since there is already plenty of documentation for those things. Instead we discuss the various principles and trade-offs that are fundamental to data systems, and we explore the different design decisions taken by different products.

We look primarily at the architecture of data systems and the ways they are integrated into data-intensive applications. This book doesn’t have space to cover deployment, operations, security, management, and other areas—those are complex and important topics, and we wouldn’t do them justice by making them superficial side notes in this book. They deserve books of their own.

Many of the technologies described in this book fall within the realm of the Big Data buzzword. However, the term ‘Big Data’ is so overused and underdefined that it is not useful in a serious engineering discussion. This book uses less ambiguous terms, such as single-node versus distributed systems, or online/interactive versus offline/batch processing systems.

This book has a bias toward free and open source software (FOSS), because reading, modifying, and executing source code is a great way to understand how something works in detail. Open platforms also reduce the risk of vendor lock-in. However, where appropriate, we also discuss proprietary software (closed-source software, software as a service, or companies’ in-house software that is only described in literature but not released publicly).

Latest Products

Net10 Samsung Galaxy A10e 4G LTE Prepaid Smartphone (Locked) – Black – 32GB – SIM Card Included – CDMA

Price: (as of - Details) With the Samsung Galaxy A10e, you get exactly what you need with the performance and reliability from a...

BOSS Audio Systems AR2000M Monoblock Car Amplifier – 2000 Watts, 2-4 Ohm Stable, Class A-B, Mosfet Power Supply, Gray

Price: (as of - Details) Take your audio power up a notch with the BOSS Audio Armor AR2000M Class A/B monoblock amplifier. This...

Mini USB LED RGB Light Brightness Adjustable 8 Color Changeable for Car, Laptop, Keyboard. Atmosphere Smart Night Lamp for Home Decoration ( DC :...

Price: (as of - Details) 💡Notification: 1.Please check your car before purchasing this product, this light is only compatible with usb Type-A...

Master Lock Lock Box, Electronic Portable Key Safe with Personal use Software Platform, 3-1/4 in. Wide, 5440D

Price: (as of - Details) The Master Lock 5440D Bluetooth Portable Lock Box. Open and manage with your smartphone or with temporary or...

More Articles Like This