12/24/2024
by Marlon Ribunal
0 comments

Learning Database Design and Power BI Performance

I spend my days working on and managing SQL Server instances—working days at least, and sometimes even on non-working days. I’ve been working with SQL Server for years now, and one might assume I’ve mastered every nook and cranny, as well as the nuts and bolts of its inner workings. It’s far from the truth.

Managing production servers means encountering something new every day. This constant variety keeps things interesting. I enjoy the challenges and the valuable lessons that come with them. They say managing databases is like a box of chocolates—you never know what you’re going to get.

And this brings me to the point of this blog post: continuous learning is therefore so important. In IT Ops, it’s common to work outside your role and across various technologies. Responsibilities for DBAs include addressing questions beyond the scope of typical database administration tasks.

A large portion of my learning comes from reading books. The two tech books currently on my desk are Microsoft Power BI Performance Best Practices: Learn Practical Techniques for Building High-Speed Power BI Solutions and Database Design and Modeling with PostgreSQL and MySQL: Build Efficient and Scalable Databases for Modern Applications Using Open Source Databases.

These two areas aren’t part of my day-to-day responsibilities at the moment, but I expect that, eventually, I’ll be asked to tackle issues related to them. Hence, learning about them now benefits not only me but also the company.

Disclaimer: Packt Publishing sent me these books in exchange for a review, but my views and opinions are in no way influenced by the company.

Power BI Performance Best Practices

Writing about best practices for any technology can be challenging, particularly when it comes to “performance.” There’s only so much you can cover within a limited number of pages. However, I believe the authors, Thomas LeBlanc and Bhavik Merchant, have successfully achieved the objectives of this book.

They cover all the key aspects of managing Power BI performance—from exploring its architecture and configuration to embedding it in web applications. And if you’re wondering whether it includes anything about Fabric, the answer is yes: there’s a dedicated chapter on OneLake, the data storage solution for Fabric.

I feel that this book provides enough information to help troubleshoot a struggling Power BI. I’m confident it will give me a good starting point if I’m ever at a loss on where to begin when dealing with the unfamiliar aspects of Power BI performance.

For a DBA not familiar with the pressure points of Power BI, like me, this is a helpful reference for navigating the vast areas of this technology. Chapter 3 provides information about the tools for performance tuning. If I’m venturing into uncharted territory, I’d like to know what provisions are available to help me navigate it. A great resource for navigating the unknowns is usage metrics and activity logs. Chapter 4 is dedicated to these topics.

Of course, this book also covers the usual suspects when it comes to Power BI performance issues—Fetching, Transforming, and Visualizing Data, Data Models, Calculations, and Large Semantic Models. These are discussed in Chapters 8 to 12.

My favorite part is Chapter 7, where a Performance Governance Framework is defined. I like that it’s discussed in the middle of the book, bringing everything together. The concepts in this chapter are easily applicable, no matter what technology you’re working with.

There are two distinct phases to consider performance management, this chapter says: one is Monitoring and identifying areas that are slowing you down and, two, Root Cause Analysis (RCA) and remediation. The main goal of this chapter is to establish a repeatable process for improvement. The authors outline how to approach the performance management cycle, set baselines and targets, implement preventative measures, and more. They also emphasize the importance of knowledge sharing and awareness.

Database Design and Modeling with PostgreSQL and MySQL

I’ve been hearing about these two platforms, PostgreSQL and MySQL, for a long time now. And I imagine that having to dabble in these platforms for me is not a matter of if, but when. I am aware of the growing interest in PostgreSQL (Brent O is already offering training in PostgreSQL).

Although my main interest lies in performance tuning, this book is right up my alley. It provides enough information to lay some solid foundation for learning PostgreSQL and MySQL, I think. This can help me build a strong understanding of these platforms.

I’m not really worried if my company suddenly decides to pull the rug out from under SQL Server. A vast majority of the knowledge I’ve gained with SQL Server can easily translate to these platforms (but please, not yet, boss. I’m not ready to give up SQL Server just yet!).

This book provides a jumpstart and helps anyone like me, who hasn’t managed these platforms in real-world, production environments, get up to speed. I feel like I can take everything I’ve learned here and build my PostgreSQL and MySQL instances tomorrow. Well, I could say the same about RTFM, so it’s not really an exaggeration.

If a book with this title were to cover everything about design and modeling, it would easily stretch to 600 pages—or even triple that. This is a 200-page book, which speaks to the limited scope of its coverage on database design and modeling, which is not a lot if you’re looking for in-depth coverage.

But this is a good thing for me. The key terms in these platforms are still the same ones I’ve been dealing with for the longest time—Entity, Attribute, Relationship, Primary Key, Foreign Key, Index, and Normalization. I guess one doesn’t have to make a huge leap when transitioning from one relational database to another.

Overall, this is a good book if you’re looking for a quick reference guide, though in most cases, RTFM might be the better option. Chapter 1 has 18 pages, and most of it is spent comparing Relational Databases with NoSQL Databases. I’m not sure that’s the best use of the introductory pages. But then again, Itzik Ben-Gan sets the standard when it comes to introducing database concepts to the masses. A great example of his work is T-SQL Fundamentals (Developer Reference), beloved by both beginners and experts alike. I’m not complaining here.

11/17/2023
by Marlon Ribunal
Comments Off on Building Upon Your Productivity Momentum: Staying Productive For Life

Building Upon Your Productivity Momentum: Staying Productive For Life

Note: I found this sitting in my Medium draft. This was a cross-post from my old productivity blog that got lost in oblivion.

Productivity is never an accident. It is always the result of a commitment to excellence, intelligent planning, and focused effort.

Paul J. Meyer

The state of being productive doesn’t just happen overnight. It is brought about by full dedication and constant diligence. It is not a quality or quantity subject to measurement or metrics on a dashboard or performance sheet.

Productivity is an attitude toward work — a way of life. It is by itself a state of being. It is not a condition of having done something but of doing.

Productivity is an attitude toward work — a way of life.

Once you are already in the state of being productive, you have to grasp that moment with both of your hands because it is easy to let it loose; and getting yourself out of the productivity pit — the unproductive state — can be a daunting task.

There are pitfalls out there that you can easily fall into when complacency overtakes your momentum. Drawbacks can get in your way and swallow you up into the abyss.

Here are some of the things that you can do to successfully maintain your state of being productive:

Reinforce What’s Working

If you think you already have the perfect formula for productivity, there is no reason to reinvent the whole thing. You may try variations of the formula but it is not a good idea to dismantle its core and rebuild one after another.

Although you must also assert some flexibility into the system, this does not mean you have to abandon its constant reinforcement. Find your winning formula and stick to it.

Eliminate The Non-Essential

Any productivity system, no matter how effective it is, needs some pruning. As your way of working evolves, you will find things that might have become superfluous as you make your adjustments or adaptation.

Your work might remain constant but the ways of doing it will not. We always find new ways of doing things so it is important to make room for changes by discarding the things that no longer fit in our system.

Separate Concerns

New responsibilities and the daily load of work can overwhelm us if we are not ready to tackle them. If you’ve been reading the GTD book by David Allen, you are probably convinced now that a stress-free productivity is not a matter of managing your time. It’s about getting your stuff out of your head.

If you think you are swamped by responsibilities and you feel like you’re in trouble, think about what Henry Ford might have to say, “There are no big problems; there are just a lot of little problems.” And, I am sure you will agree if I say that little problems are easier to deal with than the big ones.

Set New Goals

The end itself is a new beginning. Once you reached your goals, you have to set new and better ones. 

Your system becomes rigid, and thereby your job suffers boredom, if you let mediocrity thrives in your system. Set higher and better goals to achieve.

Improve Your System

There is always room for improvement. Continuous improvement on the way you do your job can reap more productivity and great successes. Your system becomes more and more efficient if you are committed to its improvement.

Set your eyes on innovation. As you do this, don’t forget Steve Job’s piece of advice, “Sometimes when you innovate, you make mistakes. It is best to admit them quickly, and get on with improving your other innovations.” And you can apply that advice to how you handle your daily work.

Learn To Automate

In order for you to guarantee efficiency and productivity, you have to go for automation. Don’t waste your time and effort on things that you can automate. Automation is your ally. Look for technologies that can truly help you get things done.

But remember that on top of any automation or technology must be your proven and solid system. To quote Bill Gates, “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.”

Be A Student

Never stop learning. Pursuit of knowledge and innovation is the strong key to ultimate productivity and efficiency. Learn new technologies and never stop looking for systems that you can adapt to your own.

Efficiency and Productivity demand incessant learning.

Be A Mentor

Bring out the best in others and they will happily return the favor. Helping other people reach their goals should be part of your goals. You need other people. You don’t need to monopolize all the good stuff. Share your knowledge to others and you will never run out of great resources when you most need them.

Celebrate The Milestones

There must be a reason to all your efforts. Celebrate every success that you achieve. Celebrate to remind yourself that much has been done to bring all your tasks or projects into accomplishment.

Take also this moment to look forward to your next projects and remember those marks that brought you successes.

Learn From Mistakes

W. Clement Stone has a great outlook on learning from our own mistakes. He said, “Like success, failure is many things to many people. With Positive Mental Attitude, failure is a learning experience, a rung on the ladder, a plateau at which to get your thoughts in order and prepare to try again.”

Mistakes are not failure; they only mean we did not succeed the first time we try.

Continue On Building Plans

Jim Rohn reminds us to not stop looking forward and never to stop building our goals and plans: “If you go to work on your goals, your goals will go to work on you. If you go to work on your plan, your plan will go to work on you. Whatever good things we build end up building us.” Continue to look forward to the next day.

Productivity and efficiency may be hard to achieve if you are building them from the ground up. But as you start picking up the pace, you find that they become easier to attain. They become part of your life. They become you.

10/10/2023
by Marlon Ribunal
Comments Off on The Evolution of Database Administration: From Administration to Database Reliability Engineering

The Evolution of Database Administration: From Administration to Database Reliability Engineering

In the fast-paced world of IT, where trends like DevOps and Infrastructure as Code (IaC) dominate the landscape, the concepts of Reliability and Observability have seamlessly woven themselves into the fabric of IT operations. For those of us in the field of Database Administration, this evolving philosophy has brought about a transformation in the way we work.

Gone are the days when database administration was primarily about handling administrative tasks and ensuring Service Level Agreements (SLAs) were met. It has now transcended these traditional boundaries, taking on a more holistic and strategic role within the IT ecosystem.

Today, the combination of Database Administration with the principles of DevOps, Automation, Infrastructure as Code, Engineering, Architecture, and Reliability Engineering has given rise to an all-encompassing discipline known as Database Reliability Engineering (DBRE). This discipline represents the path forward for individuals seeking to elevate their database management skills and adapt to the changing landscape of IT.

So, what exactly does this evolution mean for database professionals? Let’s break it down:

  1. DevOps Integration: DBRE seamlessly integrates with DevOps practices, fostering collaboration between database administrators and developers. This results in a more efficient and agile development cycle, where database changes are no longer bottlenecks but integral parts of the deployment pipeline.
  2. Automation: Automation has become a cornerstone of DBRE. Tasks that were once manual and time-consuming can now be automated, reducing human error and freeing up DBAs to focus on more critical aspects of database management.
  3. Infrastructure as Code: With IaC, database infrastructure is defined and managed through code. This not only ensures consistency and reproducibility but also makes it easier to scale and adapt to changing requirements.
  4. Engineering and Architecture: DBRE professionals are expected to have a deep understanding of database systems’ inner workings and architecture. They design databases for performance, scalability, and reliability, rather than simply administering them.
  5. Reliability Engineering: Ensuring high availability, fault tolerance, and disaster recovery are central to DBRE. Database systems must be resilient, and DBREs play a crucial role in achieving this.
  6. Operations: DBRE encompasses the day-to-day operational aspects of database management, but it goes beyond mere maintenance. It involves proactive monitoring, capacity planning, and continuous optimization to meet evolving business needs.

As the IT landscape continues to shift towards cloud-based solutions, the environment for Database Reliability Engineering becomes even more promising. Cloud platforms provide the flexibility, scalability, and advanced tooling needed to implement DBRE practices effectively.

In conclusion, the role of a Database Administrator is no longer confined to routine administrative tasks. Instead, it has evolved into Database Reliability Engineering, a multidisciplinary approach that embraces modern IT practices to ensure databases are not just reliable but also responsive to the dynamic needs of the business. For those looking to future-proof their careers in the world of IT, embracing DBRE is the path forward, and the cloud provides the ideal environment for its growth and implementation.

Nota Bene: A good resource book about the philosophy and practice of DBRE is “Database Reliability Engineering: Designing and Operating Resilient Database Systems“. Here is the amazon link.