Book Review – SQL Antipatterns

Introduction

I’ve just finished the wonderful SQL Antipatterns book by Bill Karwin. The book is a must-have reference for any developer that has to interact with a relational database system.

This post is a review of what this book is all about and why you should be interested in reading it.

Author

Bill Karwin is a distinguished software engineer, having a huge reputation on StackOverflow with gold badges for MySQL, SQL, Database or Database Design.

As I previously explained, contributing to StackOverflow is a great way to become an expert on various programming-related topics, and Bill Karwin is definitely an expert in this field.

Audience

If you are a backend developer, a team leader or a software architect, this book is definitely for you. Especially if you are a junior developer, this book is going to unravel a lot of anti-patterns which are unfortunately way too common in enterprise systems.

Content

The book covers 25 anti-patterns which are grouped into four categories:

  • Logical database design anti-patterns
  • Physical database design anti-patterns
  • Query anti-patterns
  • Application development anti-patterns

While I’ve bumped into some of these anti-patterns while developing enterprise systems, I really liked the way they were explained, and especially that we get to see a proper solution to the original problem.

Why you should buy it?

The book is very easy to read, that’s why I think it’s very relevant for junior developers as well.

Designing a database schema is not a trivial task, and it’s much cheaper to take as many good decisions as possible from the very beginning.

After reading SQL Antipatterns, you will be better prepared for designing a relational database system and the data access layer that’s needed for reading and writing to the database server.

All in all, I’m glad I read this book, and I wished I have known all these tricks back when I was a junior developer myself.

If you liked this article, you might want to subscribe to my newsletter too.

Book Review – Designing Data-Intensive Applications

Introduction

Exactly one year ago, I bought Designing Data-Intensive Applications by Martin Kleppmann. However, since I was busy writing High-Performance Java Persistence, it took me over a year to find the time to read Martin Kleppmann’s book.

This post is a review of what this book is all about and why you should be interested in reading it.

Audience

If you are a backend developer, a team leader or a software architect, this book must be on your reading list. While a junior developer might find the book interesting too, you got to have some background knowledge so that everything falls into place.

Content

The book is a very detailed summary of how database systems work. From relational databases to data warehouses, key-value stores, column-oriented databases, Martin Kleppman describes a great deal of aspects like:

  • storage engines and indexing
  • data encoding
  • data partitioning
  • replication techniques
  • transactions and concurrency control
  • distributed systems and consensus algorithms
  • batch processing
  • streaming

Why you should buy it?

Although some concepts are not very easy to understand, Martin Kleppman does a very good job explaining all these concepts using down-to-earth examples.

The book is a summary of hundreds of research papers, books, and other scientific articles that would require you a great deal of effort to go through all of them, albeit to understand them. Hopefully, you don’t have to since the book is exactly what you need to get a better understanding of how data management systems.

Conclusion

I strongly recommend you buying this book. Although I read it, I’m sure that I’ll come back to it in future to validate that I haven’t forgotten anything I learned from this book.

If you liked this article, you might want to subscribe to my newsletter too.

Book review – How Linux Works 2nd edition

O’Reilly Reader Review Program

I heard about O’Reilly Reader Review Program after reading Thorben Janssen’s Java Performance: The Definitive Guide book review. After being admitted, I got a copy of How Linux Works, 2nd Edition. The book is great for anybody working in this field and you should totally read it. Next I’m going to tell you why.

Continue reading “Book review – How Linux Works 2nd edition”