Feature



Description

class="celwidget" data-feature-name="aplus" data-csa-c-type="widget" data-csa-c-content-id="aplus" data-csa-c-slot-id="aplus_feature_div" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="czsv5c-mm53eq-drf34v-oy9e2z" data-cel-widget="aplus_feature_div">

From the Publisher

SmallSmall
AA

AA

Who should read this book?

If you are developing applications that have some type of server/backend to store or process 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 aimed at software engineers, software architects, and technical managers who like to program. This is particularly relevant

when you need to make decisions about the architecture of the systems youre working on — for example, when you need to select tools to solve a particular problem and figure out how best to apply them. But even if you have no choice in your tools, this book will help you better understand their strengths and weaknesses.

You should have experience in creating web-based applications or networking services and be familiar with relational databases and SQL. Any non-relational databases and other data-related tools you know are nice, but not required.

A general understanding of common network protocols such as TCP and HTTP is helpful. Your choice of programming language or framework does not matter for this book.

If any of the following apply to you, you will 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 (minimise downtime) and operationally safe. You are looking for ways to make systems more sustainably maintenance-friendly even with growing growth, changing requirements and technologies. You are naturally curious how things work, and want to know what on big websand online services. This book breaks down the internals of various databases and data processing systems, and it is great fun to explore the intelligent thinking that has gone into their design.

AA

AA

When it comes to scalable data systems, people sometimes make comments like: "Youre not Google or Amazon. Stop worrying about scaling and just use a relational database. There is something true about this statement: Building for a scale you dont need is wasted effort and can tie you to an inflexible design.

In fact, it is a form of premature optimization. However, it is also important to choose the right tool for the task at hand, because different technologies each have their own strengths and weaknesses. As we will see, relational databases are important, but not the last word in dealing with data.

This book does not attempt to give detailed instructions on how to install or use specific software packages or APIs as there is already a lot of documentation for these things. Instead, we discuss the different principles and compromises that are fundamental to data systems and examine the different design decisions made by different products.

We mainly look at the architecture of data systems and the way they are integrated into data-intensive applications. This book has no place to address provisioning, operations, security, administration, and other areas--these are complex and important topics, and we wouldnt do them justice if we made them in this book only as superficial marginal remarks. You deserve your own books.

Many of the technologies described in this book fall within the realm of the keyword Big Data. However, the term "big data" is so overused and underdefined that it does not make sense in a serious technical 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 an emphasis on free and open source software (FOSS) as 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, we may also discuss proprietary software (closed-source software, software as a service, or corporate software that is only described in the literature but not published).

Product description

About the Author

Martin is a researcher in distributed systems at the University of Cambridge. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. In the process he learned a few things the hard way, and he hopes this book will save you from repeating the same mistakes.



Martin is a regular conference speaker, blogger, and open source contributor. He believes that profound technical ideas should be accessible to everyone, and that deeper understanding will help us develop better software.

Product details

  • Publisher ‏ : ‎ OReilly Media; Revised edition (2 April 2017)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 590 pages
  • ISBN-10 ‏ : ‎
  • ISBN-13 ‏ : ‎ 978-1449373320
  • Dimensions ‏ : ‎ 15 x 1.5 x 25 cm