Designing Data-Intensive Applications. Must read.
Designing Data-Intensive Applications, a book by Martin KIeppmann. I made a fortunate mistake when I bought this book while purchasing all the titles on my wish list. I'm not sure how it ended up in my cart, but I'm certainly glad it did! If you're developing any software, from headless front-end to complex distributed systems, this book is a must-read. It gives an insightful look into the potential pitfalls of data management, and provides practical advice on how to navigate through the challenges. If you're working on any kind of software project, this book is essential.
My top book recommendation is "Designing Data-Intensive Applications"Have you ever asked yourself why in a chat app you see an answer first, followed by the question? Or why does your friend see different content on a sports portal? Is he ahead of time? Or how to architect a system like twitter's, where some of the messages have only a few hundred subscribers, where others, many millions. These are just examples of the complex issues surrounding distributed database systems that the author walks you through. The book is much more than that; it is a comprehensive introduction to the modern challenges of dealing with large amounts of data. It is easy to understand and will not disappoint - I am a demanding reader, familiar with the topics, and I enjoyed it immensely.
Note, the book is almost 600 pages long and full of facts, you'll not finish it in one night ;)