Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems PDF AZW3 EPUB MOBI TXT Download

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 effectivelyMake informed decisions by identifying the strengths and weaknesses of different toolsNavigate the trade-offs around consistency, scalability, fault tolerance, and complexityUnderstand the distributed systems research upon which modern databases are builtPeek behind the scenes of major online services, and learn from their architectures
Martin Kleppmann
O'Reilly Media; 1st edition (May 2, 2017)
611 pages
File Size: 87 MB
Available File Formats: PDF AZW3 DOCX EPUB MOBI TXT or Kindle audiobook Audio CD(Several files can be converted to each other)
Language: English, Francais, Italiano, Espanol, Deutsch, chinese
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. <div id="
  • In Silicon Valley, “ability to code” is now the uber-metric to track. Starting from how engineers are interviewed, actual hands-on work (due to processes that overemphasizes “do” over “think, e.g., daily stand-ups require you to say what concrete thing you did yesterday), evaluation of work (“move fast and break things”) to over-emphasizing on downstream “fixes” (prod-ops culture, 24*7 firefighting heroism) – the top echelon of technology gravitated towards things that it can see, feel, measure. What often gets neglected in this “code be all” culture is deep understanding of fundamental concepts, and how most newer “innovations” are indeed built on a handful time-honored principles.Nowhere else perhaps is this more prominent than in data space that up-levels libraries and frameworks as the conversation starter. That gets in the way of success. It is indeed impossible to model Cassandra “tables” without understanding – at least – quorum, compaction, log-merge data structure. Due to the way the present day solutions are built (“fits one use case perfectly well”), if these solutions are not implemented well to the particular domain, failure is just a release away.Mr Kleppmann does a great job of articulating the “systems” aspects of data engineering. He starts from a functional 4 lines code to build a database to the way how one can interpret and implement concurrency, serializability, isolation and linearizability (the latter for distributed systems). His book also has over 800 pointers to state of the art research as well as some of the computer science’s classic papers. The book slows down its pace on the chapter on Distributed System and on the final one. A good editor could have trimmed about 120 pages and still retain most value one could get from the book.That said, if you ever worked on data systems, especially across paradigms (IMS -> RDBMS -> NoSQL -> Map-Reduce -> Spark -> Streaming -> Polyglot), this book is pretty much only resource out there to tie the “loose ends” and paint a coherent narrative. Highly recommended!
  • I’m only 3 chapters into this book and I think it deserves a 5 star already.If you are interested in distributed systems or scalability, this book is a must-read for you. It gives you a high level understanding of different technology, including the idea behind it, the pros and cons, and the problem it is trying to solve. A great book for practitioners who want to learn all the essential concepts quickly.I didn’t come from a traditional CS background, but I did have some basic knowledge in hardware and data structure. You will need some of that, such as hard disk vs SSD and AVL tree, to understand the materials. If you are completely new to backend or DS, you may want to start with another book “Web Scalability for Startup Engineers.” After that book, you can read the free article “Distributed Systems for Fun and Profit” and you are good to go for this amazing book 😀
  • DDIA is easily one of the best tech books of 2017 (possibly this decade) and is destined to become a classic. The book deals with all the stuff that happens around data engineering : storage, models, structures, access patterns, encoding, replication, partitioning, distributed systems, batch & stream processing and the future of data systems (don’t expect ML because it is a different beast).Kleppman has coherently blended the relevant computer science theory with modern use cases and applications. The focus is primarily on the core principles and thought-processes that one must apply when it comes to building data services. Design concepts don’t go out-of-date soon, so the book has very long shelf-life.The high-point of this book is the author’s lucid prose, which indicates mastery of the subject matter and clarity of thought. Conceptualizing reality is an art and the author really shines here. You’ll find that whenever you have a question after reading a particular sentence, the answer to that will be found in the upcoming sentences. It’s like mind-reading.Also kudos to the author for those nice diagrams and interesting maps (and for avoiding mathematical formulas with Greek symbols). The bibliography at the end of each chapter is thorough enough for unending personal research.If you are working on or interviewing for big data engineering, systems design, cloud consulting or devops/SRE, then this book is a keeper for a long-long time.
  • I have been reeding many books about kafka, rabbitMQ, Zookeeper, Cassandra, Kubernetes, spark, akka, mesos and others because i love streaming and realtime processing with AI. When i got on this book a saw a list of concepts without a singol line of code or reference to specific products or applications. If you don’t know anything about streaming it gives you theory but at the end of the book you will not able to do anything with it, if you already know the topics you will realise the this book is a mix of things that doesn’t make much sense. It just give you a part of the theory in a chaotical way. My suggestion is don’t read it.
  • I have spent most of my career either as a DBA or integration specialist. This is the best book by far I have read covering those subjects. His descriptions of the theoretical underpinnings of the different technologies involved is perfectly pitched. He manages to describe complex things simply which demonstrates a real mastery of the subject. His use of simple unix commands to illustrate what, for example, a database is doing again is very impressive. This promises to be a very influential read for me.
  • Just finished reading the book. Stunned by how good it is, surpassing even “Release It!” by Michael Nygard, which I was blown away by, nearly 10 years ago. This book is insightful. informative. impartial, extensively researched, mind-expanding, precise, and even, in the end, philosophical.I’d regard the book as required reading for anyone involved in software engineering. I recently asked my manager to buy copies for 15 of my peers in my team (which he did). Buying this book is a no-brainer with respect to personal ROI.
  • This book is outstanding – it absolutely deserves all the praise and stars it’s received. I’m not going to begin to summarize or explain the contents because it covers way too much ground. I’ll just say that it’s approachable, easy to comprehend and digest for anyone with moderate development experience and technical competence, and manages to not be dull or tiresome throughout.My only complaints are that most of the chapters are too long – you do really have to set aside a big block of time to make it thru a whole chapter in a sitting (much less 2 or more).If you’re a developer or DBA who is at all serious about building modern networked applications, you should read this book. Enough said.
  • This book is astonishingly good. I’ll leave you to read the many other 5 star reviews as they speak volumes. I’ll just add that Kleppmann is a first class technical writer whose knowledge of his subject truly elemental. This book teaches and informs the reader by bringing a truly deep understanding of the subjects at hand without ever being academic. The result is that your newly gained knowledge about data-centric systems will help you better understand both traditional technologies (which you probably take for granted) and the many emerging technologies of today (which are often presented as revolutionary). A majestic work of truly great insight.
  • About :
    We are committed to sharing all kinds of e-books, learning resources, collection and packaging, reading notes and impressions. The book resources of the whole station are collected and sorted by netizens and uploaded to cloud disk, high-definition text scanning version and full-text free version. This site does not provide the storage of the file itself.
    Description of file download format: (Note: this website is completely free)
    The e-books shared by this site are all full versions, most of which are manually refined, and there are basically no omissions. Generally, there may be multiple versions of files. Please download the corresponding format files as needed. If there is no version you need, it is recommended to use the file format converter to read after conversion. Scanned PDF, text PDF, ePub, Mobi, TXT, docx, Doc, azw3, zip, rar and other file formats can be opened and read normally by using common readers.
    Copyright Disclaimer :
    This website does not store any files on its server. We only index and link to the content provided by other websites. If there is any copyrighted content, please contact the content provider to delete it and send us an email. We will delete the relevant link or content immediately.
    Download link description :
    We usually use Dropbox, Microsoft onedrive and Google drive to store files. Of course, we may also store backup files in other cloud content management service platforms such as Amazon cloud drive, pcloud, mega, mediafire and box. They are also great. You can choose the download link on demand.

    File Size: 87 MB