Tag Archives: author

Sailing Through Three Decades of Database Administration: Lessons in Resilience and Innovation

Databases are the backbone of every data-driven application, a crucial element that fuels everything from simple web apps to complex enterprise systems. For over three decades, I have navigated the tumultuous waters of database administration, balancing technical intricacies with the often challenging dynamics of workplaces. My journey is not just one of keeping systems running but one of constant evolution—both in my career and in the technology I’ve used to build efficient and scalable databases.

The Early Days: Setting Sail

When I began my journey into database administration, the landscape was vastly different. Relational databases were becoming the cornerstone of digital infrastructure, but the tools and techniques we take for granted today were still in their infancy. Back then, designing a database was more about intuition and experience than adhering to well-defined best practices. It was like sailing uncharted waters, where the guiding stars were trial and error, persistence, and a touch of creativity.

MySQL and PostgreSQL were just emerging, promising a future of open-source solutions that could rival proprietary giants. I knew that these open-source databases were not just cost-effective alternatives but had the potential to evolve into robust, scalable solutions that could meet the demands of modern applications. I’ve had the privilege of working alongside both these databases from their early stages to their current iterations, witnessing firsthand how they’ve transformed the way we think about database design and management.

Navigating Database Design and Modeling: A Mastery in MySQL and PostgreSQL

As I worked through project after project, one lesson became crystal clear: the design and modeling of your database can make or break your entire system. Poorly designed databases lead to inefficiencies, performance bottlenecks, and often costly rework down the road. It’s akin to building a ship with weak foundations—you might stay afloat for a while, but you’re doomed when the first storm hits.

In my recent book, Database Design and Modeling with PostgreSQL and MySQL, I aim to guide readers through mastering the art of database design. This mastery goes beyond just creating tables and writing queries. It requires understanding the advanced concepts that keep systems running smoothly even when data size and complexity increase.

Normalization, for instance, often becomes essential for performance optimization. Indexing strategies are not just about speeding up queries but also managing trade-offs between read and write performance. Transaction management and concurrency control play critical roles in multi-user environments, ensuring data remains consistent even as users interact with the system simultaneously.

Scaling Databases: Preparing for the Storms Ahead

As data grows, scalability becomes a focal point. It’s one thing to manage a few gigabytes of data with ease; it’s quite another to manage terabytes or even petabytes of data without sacrificing performance. This is where techniques like sharding, replication, and load balancing come into play. They allow us to distribute workloads across multiple servers, ensuring that no single point of failure can bring down an entire system.

But scalability isn’t just about keeping your system running. It’s about preparing for the inevitable growth of your data and ensuring your database infrastructure can handle the storm.

Backup and recovery strategies are equally important. They act as your lifeboat when things go wrong—and things will go wrong in the world of databases. Without a solid recovery plan, you risk losing not only your data but also the trust of your users and stakeholders.

Integrating Databases with Modern Applications: Staying the Course

Databases don’t exist in isolation. They are integral parts of larger ecosystems connected to web and mobile applications that demand real-time, reliable data. Understanding how to connect, query, and secure your database in a modern web application environment is critical. With APIs and data layers becoming more complex, ensuring that your databases remain efficient and secure while supporting growing application demands is more important than ever.

The Future of Databases: New Horizons

While relational databases like MySQL and PostgreSQL remain essential, the database world is rapidly evolving. NoSQL databases have emerged as a popular solution for handling unstructured data, while cloud databases offer scalability and flexibility that on-premise solutions often can’t match. Integrating AI and machine learning into database systems is another frontier, opening up possibilities for smarter data management, predictive analytics, and automated optimization.

Staying ahead of these trends will be key to mastering database design and management in the years ahead. The ability to adapt to new technologies while maintaining a firm grasp on the foundational principles of database design will set the next generation of database administrators apart.

Final Thoughts: A Journey Worth Taking

Three decades in, I can say with certainty that database administration is not just a technical discipline—it’s an art. Like sailing through rough seas, it requires both skill and intuition. You must be prepared for the unexpected, adapt to changing conditions, and always keep an eye on the horizon.

Through my experiences, I’ve learned that the most successful database administrators are not those who avoid challenges but those who embrace them, using each storm as an opportunity to improve. And as we move into the future of databases, these lessons will only become more valuable. Whether you’re just starting your journey or are already deep into your career, there’s always more to learn, more challenges to face, and more opportunities to build something truly remarkable.

In Database Design and Modeling with PostgreSQL and MySQL, I aim to share these lessons and provide the tools you need to navigate your database challenges. Because at the heart of every successful system is a well-designed database—and the expertise to keep it running smoothly, no matter how rough the seas get.

I’m thankful to my co-author Ibrar Ahmed, a true professional and PostgreSQL expert. I would like to thank our publisher, Packt, for making this book possible and our primary editor, Tiksha Lad, product manager, Apeksha Shetty, and project manager,Aparna Nair , and the rest of the Packt staff. I also would like to send my gratitude to our technical reviewers Frederic Descamps , Naresh Miryala, and Seemanjay Ameriya. Not to forget our foreword author, Peter Zaitsev; we are grateful for his valuable time.

#designandmodeling #mysql #postgresql #opensource #databases #author

MySQL Cookbook 4th Edition

A nomadic sailing dream that turns into book authoring and a new role…

The inception of the book

I want to start with a huge thank you to Sveta for her invitation to her engagement with O’Reilly as a previous author. Although I had mentioned that I had an inspiration to author a book and attempted to release a booklet in the past, this was somewhat unexpected in the midst of my first biggest pandemic. 

Unexpected and surprising developments

Let’s go back in time to the infamous covid-19 pandemic. We have been under pressure with the unknown virus with little or no hope of recovery anytime soon. I got an alert from one of the brokers about a sailboat I was interested in. After a few minutes of checking with my long-time friend Nurhan, I decide to make an offer. Unfortunately, our discussions didn’t go that smoothly, and I was informed that the boat was already sold to another buyer. I insisted on increasing the price and changing the wind direction to my side by writing a moral story to the broker, and he accepted it. Now, no flights were allowed during a total lockdown. 

The rest of the story is here

After three weeks of getting a special business permit, we landed in Zagreb, Croatia, and completed our purchase. The paperwork took about another three weeks to complete. That’s when I got the ping from Sveta about the possible authoring of a book. At the time, I worked at Percona as Sr. Technical Manager at the same company as Sveta. Strangely, I had an offer from another company within the same week. So I accepted to join PlanetScale as part of the Vitess Open Source project role. So now I have a boat to bring home, a new job to sign in, and a book to author. 

O’Reilly Experience

I had no prior experience authoring a technical book or working with a professional editor. The company has proven to be one of the best in the industry, working with the brightest minds and publishing hundreds of books annually. Here comes Sveta again for help while I’m planning a long pandemic-bound sailing journey and a new job with many unknowns. 

The MySQL Cookbook was initially authored by Paul DuBois and released three times. So it had massive content, and I had not gone through it in detail. Looking at the overall chapters and fast reading in 48 hours, I have decided to accept to co-author 4th release of the book. The original agreement was to update %60 of the content of the last edition. Since a significant time passed and MySQL advanced to hole new levels with MySQL 8 altering for new release would merely touch every part of the book. Not only MySQL itself, but there were also new programming languages to be added, and deprecated code had to be removed. 

Developments in making

Discussions and agreements were made based mainly on Sveta’s input on all the chapters, and I was mostly monitoring how this book could be turned into a new release. Besides the technical content and programming languages used, there was another challenge to the authors about the platform. 

It’s not a simple Word document or gdoc that had to be used, but DocBook and XML had to be mastered. After two years, I still lack the skill to do both. 

The process of authoring new chapters was more effective than rewriting or editing existing chapters. For example, the book used a different data set throughout the chapters, and we decided to change that. Finding a sample data set that is freely available and suitable for the entire book is difficult. So we had to go to multiple sources. 

The older chapters also had a lot of deprecated values and updates, which changed the storyline of the content. To fix those, we had to rewrite most of the chapters and revisit them repeatedly to ensure referenced content was not missing from other chapters. 

Key Takeaways 

Before agreeing to author a book, talk to other authors about the time and material, it takes for the type of book you are getting in. This will allow better planning of your work/life/book balance hence avoiding burnout. 

Once agreement is made, research the platform you will be responsible for authoring and training yourself—for example, Gitlab, DocBook, XML, etc. 

Take advice on how to plan or co-author the parts you’ll be responsible for. Record all agreements you made to keep track of the progress. Take everything very seriously and ensure it does not impact your other responsibilities. 

Be well organized in your time and planning. What times and which days you’ll be spending time on the book where? Create a cadence around this dedicated time, and it’s no different than finishing a degree. 

Allow extra time to deliver sections you’re involved in, as there’s a deep feedback circle. If you are authoring alone, this time will be reduced, but you’ll get feedback later in the process. If you are co-authoring, every chapter you’ve split will have to be reviewed before the first editorial. After the initial review, you’ll get feedback to clarify, modify, remove and rewrite multiple times. Some sections go into an endless feedback loop for a very long time. You’ll receive at least four to six technical people’s feedback later in the process and additional editorial feedback. So expect to return to a section or chapter you were involved in a year ago. 

Last but not least, do never over-commit yourself. This will decrease your productivity and lower the quality of the output. Timing is essential to fulfilling this lifelong dream of being an author. Some do it earlier in their career maybe a better result for authoring other books.  

I want to thank my wife, Aslihan, and my daughters, Ilayda and Lara, for their patience and support when I needed to focus and use family time to write this book.

Many thanks to my colleagues and team at PlanetScale, especially Deepthi Sigireddi, for her extra care and support. Special thanks go to the MySQL community, friends, and family members.

I also want to take a moment to thank Sveta Smirnova for her endless support while coaching me throughout my first book journey.

You can read the book here,

Thank you