Posts tagged " MySQL Administrator "

Interview with a MySQL Expert - Eric Vanier

#6: The Best Advice You Could Ever Get From An Interview With A MySQL Expert

August 7th, 2017 Posted by MySQL NEWS No Comment yet

Interview With A MySQL Expert – Eric Vanier

Interview with a MySQL Expert - Eric Vanier

Interview with a MySQL Expert – Eric Vanier

Large scale application performance is of utmost importance. Millions of people use Enterprise applications every day and organizations make sure that these applications are running smoothly.

When it comes to performance, databases are the first things to be looked at and maintained. Many issues in the application often link back to them. And the people entrusted with the responsibilities of finding, fixing and optimizing the databases are the “Database Administrators” (DBAs)

I got the opportunity to interview With A MySQL Expert, Eric Vanier. Eric has been consulted by many Fortune 500 companies to solve their database related issues.

It was a humbling yet enthralling experience to learn about his contribution to Multi-National organizations. Following are the excerpts of the interview.

Question 1: Hello, Eric. Thanks for joining me. So, it’s been almost twenty years in the industry. How has your journey been so far?

 

So far, I have to say that at the end of the day, I’m always happy because I have helped business and people to improve their critical databases and save a lot of headaches. I have been able to do this by helping these businesses with a proactive plan to avoid any disruptions, answer pertinent questions that will avoid any mistakes.

Also, the most important aspect for me is to work well with client’s team and I’m always completely willing to do a knowledge transfer while fixing issues because, at the end of the day, the data is owned by the client.

I completely agree with that. I know that the Fortune 500 companies approach you for consultation. That’s a really big thing. Could you share what kind of issues they face?

 

Fortune-500 - MySQL Expert Eric Vanier

Fortune-500 – MySQL Expert Eric Vanier

In general, Fortune 500 companies approach me to evaluate their existing MySQL Database design and make any recommendations for improvement.

Sometimes, I would have to look over their existing MySQL environments because they would have had some major performance issues. These are particularly tricky because the source of the problem is hard to detect and only with time one can quickly Identify them.

 

 

 

Question 2: This raises a question. Would your clients get just the solution to their problems or is there more?

 

Oh, there is lots more to it than to just solve problems that exist. My main goal is to make sure that not just the problems at hand are solved but also look into other potential threats and come up with strategies to mitigate them.

I help all my clients save time in researching, assisting DBAs, Directors, System Administrators, Developers in query optimization or database performance. This way my clients save time and a lot of financial resources as well.

 

Question 3: What is a typical procedure you follow while solving issues?

 

Most of my clients would want me to point out their major problem and have a list of recommendations to correct their MySQL performance issues quickly. The procedure I follow would vary depending on the client’s need and what is being addressed.

In my experience, I have found that different clients have their unique way of approaching problems and solving them. And over the years, I have learned to take these into account while understanding their systems and infrastructure so that I can provide a tailored service that suits them perfectly.

Now, that being said, there are a few diagnostic checks that I perform for almost all the clients in order to gain more understanding of the problems related to the databases. This analysis would typically involve things like scrutinizing the database design and structure, examining the slow queries and performance glitches, and so on.

I make it a point to work closely with my client’s team so that they too know how to solve problems in the future and understand what is being done during the solution implementation phase.

 

Question 4: You had mentioned that even the small and medium sized companies approach you for consultation. Could you share some more insights into that?

 

I feel extremely fortunate that I can help small and medium sized companies with all their issues and add a significant amount of value to their business applications.

The current situation in the market is pretty bad. It is difficult for a company to find expert DBAs to solve their problems. The ones they hire either provide temporary or incomplete solutions or they tend to miss out on many potential threats. This usually becomes a huge overhead on small and medium sized companies.

Another issue is that the expert  DBAs from large firms and organizations are extremely expensive to hire and most often the small or the medium sized companies cannot afford them.

I always strive to provide the best service to all my clients at affordable costs and I am grateful that I am able to do this.

 

That’s great Eric. I’m sure there will be many more small and medium sized companies who would be looking out for someone like you.

 

Question 5: There might be many companies around the world who would want to hire DBAs. What are the key qualities that organizations must look for when hiring an Expert DBA or an expert consultant?

 

That’s a very good question. There are a few things anyone can look out for either while searching for or hiring an expert DBA. Firstly, please do not to just go ahead looking at their profile. Meet them, ask questions, understand what they would do and then proceed.

One can look at a few qualities like their experience in working with Enterprise Applications and making sure that they are capable of providing Enterprise-wide services and not something that is very specific.

I also believe that DBAs should be very patient and listen to their clients carefully, understanding the requirements and issues very clearly. If they aren’t, then the company is going to have a hard time working with them.

DBAs who have experience working with the Fortune 500 companies have an added advantage. The reason for that you gain a lot of knowledge working with critical databases and delicate infrastructure designs. There is no room for error you know. One small mistake might lead to millions of dollars in loss for the company.

 

Question 6: We have a lot of readers who are either aspiring to become DBAs or have just started. What advice do you have for them?

 

Ah, that’s an important question that needs to be addressed. For those aspiring to become a DBA, the first thing they should have are:

  • A good monitoring tool that will alert them to any performance issues.
  • A knowledge regarding how to find and optimize in deep their queries.
  • How to use MySQL tools and understand MySQL to review the slow queries
  • Knowledge about where to look to see where is the issue and then apply the proper solution.

 

Always be ready for the worst:  plan for a failover, backup strategy, etc. And finally, always have an external Expert who can answer or address their concern and questions.

Question 7: Everyone is talking about jobs being automated. Should DBAs be worried about their jobs being taken over by machines?

 

No, because large corporations or smaller businesses will always be in need for a good DBA to review the automation processes.

Also, I agree on automatization because it gives an opportunity for the DBA to focus more on strategic and improvement database architectures instead of doing manual tasks.

The motivation part of a DBA job is to be able to focus on planning, recommending the proper solution that will keep available 24 by 7 databases and critical data and keep happy clients and businesses and this will guarantee business revenue.

That’s great Eric. Thanks for sparing your time and sharing your thoughts.

Conclusion

 

So those were the excerpts from the interview. I hope you got something to take away from it.

You can contact Eric via his website https://www.ericvanier.com/contact to contact and know more.

This interview was conducted by https://SourceDexter.com, a leading technical and technology magazine.

 

Step by Step Advanced MySQL Query Tuning

#4: MySQL SQL Query Optimization and Database Tuning for Beginners

June 19th, 2017 Posted by MySQL NEWS No Comment yet

MySQL SQL Query Optimization and Database Tuning for Beginners

It is not easy to find highly optimized SQL queries and well-structured databases. You might have the task to design a DB or to improve the performance of queries, either way, you need to be prepared to handle the challenges. MySQL SQL Query Optimization and database tuning are important skills that will help you make the application perform better.

In this article, we will go through what these tuning and optimization techniques mean. I will demonstrate some basic examples. The scope of this article is for beginners, but towards the end, we will talk about how to learn other skills such as advanced MySQL query tuning.

 

What is SQL Query Optimization

Step by Step Advanced MySQL Query Tuning

Step by Step Advanced MySQL Query Tuning

Query optimization in DBMS  or query tuning is the process of altering the query to make it run faster. Often, the queries which are initially written aren’t designed for scale. This leads to the query slowing down the application as the amount of data increases.

As a beginner, you must understand some of the basic concepts behind an SQL query. This will help you identify potential problems with queries that you are tuning. Following are some of the SQL Optimization Techniques:

 

  1. The very first technique is to check the select statement. Very often, developers tend to use the “*” in a select query.

 

Example:

SELECT * FROM EMPLOYEE;

What you must understand here is that the “*” should be used only when all the fields need to be fetched.To make the query faster, mention only the fields that need to be fetched. Example:

SELECT FIRST_NAME, AGE, GENDER FROM EMPLOYEE;

 

  1. Using the operators IN, EXISTS appropriately. You must understand when each of them has to be used. It has been found that using “IN” is the slowest when it comes to query execution time. Following is an example of how you can perform SQL query optimization when you find a query having the IN operator.

SELECT NAME, AGE, GENDER FROM EMPLOYEE 

WHERE EMP_ID IN ( SELECT EMP_ID FROM MANAGERS)

 

            Now, instead of the above query, you can use EXISTS as follows.

 

SELECT NAME, AGE, GENDER FROM EMPLOYEE E

            WHERE EXISTS ( SELECT EMP_ID FROM MANAGERS M

            WHERE M.EMP_ID = E.EMP_ID)

 

  1. You can also use simple MySQL query optimization tools like the “EXPLAIN” operator. This operator, when added to the beginning of a query, gives you a sense of time the query will take to execute. It might not be fully accurate, but as a beginner, this will be very useful to you. The output of this query is called “QUERY PLAIN”. Following is an example:

EXPLAIN

            SELECT * FROM EMPLOYEE

            WHERE SALARY> 100000;

 

This will give you a cost associated with the query and higher the cost indicates, longer run time.

 

What is Database tuning

 

There are many things which overlap Database tuning and SQL query optimization. These two concepts are interrelated. However, the database tuning refers to the way in which database needs to be designed, and how to choose the right DBMS application and how to best set up the DB environment. Though this skill comes with time and experience, there are a few things you can look out for that would make your database more efficient.

 

  • The very first thing you do is Normalize the database. Database Normalization is the process of removing redundant columns or to restructure the tables. Normalization helps to decrease anomalies that tend to occur when various queries are executed. The normalization process is divided into 4 different forms each addressing the various ways in which redundant data can be identified and used.

 

  • Creation of optimized indexes. Index creation is a tricky subject. No indexes will lead to queries being slow and too many indexes will slow down the DML queries ( queries to insert, update and delete). This means that indexes must be created only when it is required. In my upcoming webinar series: “Advanced MySQL query tuning”, I take you through each task of SQL query optimization step by step. Enrolling in the course gives you a lot of benefits that can boost you to the next level.

 

  • DB statistics tools provide information on table indexes and their distribution. These statistics help the DBA to find paths that not only satisfy a query but is also inexpensive.

 

Conclusion: what to do next?

 

We saw how you can quickly identify some of the most common mistakes developers or DBAs make. You can identify such anomalies and correct them to improve the database performance.

 

These, however, were just the basics. A drop in the ocean. As a DBA or someone performing SQL Query Optimization or Database tuning, there is much more to learn and apply. Over the 17 years in the industry, many of the Fortune 500 companies have hired me as a performance expert consultant and I have successfully helped them in overcoming their challenges.

 

MySQL Optimization

#3: Top 3 must have MySQL DBA skills for 2017

June 17th, 2017 Posted by MySQL NEWS No Comment yet

Top 3 must have MySQL DBA skills for 2017

Database administrators are faced with the rapid advancements in database technologies. There are new updates, features or releases that are rolled out frequently. This makes it important to make sure that your DBA skills are up to date. I have worked closely with some of the fortune 500 companies as a database consultant and a DB performance expert. In this article, I share with you the top DBA skills that you must have to become a better DBA.

Why is it necessary to improve your DBA skills?

 

As of today, DBAs are faced with many key challenges. These challenges involve a paradigm shift in the way applications are developed, turning all the focus to them. The fact still remains that at the heart of it lies the database.

 

A few years ago, having MySQL DBA skills or even more specific like the Oracle DBA skills were considered sufficient. But now with the advancement of technologies like NoSQL, a DBA is faced with the challenge of being an expert with these newer technologies.

 

The graph below is the result of a study made by Gleanster Research. The graph indicates the most common reasons for performance issues in applications. As you can see, database related issues are number one with it occurring 88% of the time. Being a database Performance Expert, I have helped many organizations to solve their issues and improve the overall performance.

 

MySQL Performance

MySQL Performance

 

Let us now walk through the top DBA skills required for 2017.

 

1.Managing Distributed Database systems

Managing Distributed Database systems

Managing Distributed Database systems

 

With the advancement in cloud computing and cloud data storage, most of the applications are built with distributed databases. An organization’s critical data might be present on the “on-premise data center” . However, the remaining majority amount of data might be present in the cloud. This makes it very important for DBAs to have the knowledge on distributed data systems and its implications on the application’s performance.

 

When it comes to distributed data systems, knowing what has to be done where is the most valuable skill among all the DBA skills. Following are some challenges that you have to be ready to face and how you can optimize.

 

  1. When there is a choice of deployment between on-premise and cloud, the performance implications due to latency and bottlenecks should be considered.
  2. Deployment of distributed systems can become unpredictable due to factors like backup load time, internet speed, etc, and to mitigate these factors, consistency must be maintained while using the deployment tools or software and strategies.
  3. There is a chance of problems not being solved only by moving databases to the cloud. In such cases, the inherent performance issues must be taken into consideration.
  4. Moving to the cloud will have a security risk attached to it. This requires you to move beyond the traditional encryption based security service and provide a much more secure platform.
  5. The backup, recovery and restoring strategies must be thought of thoroughly as distributed systems can cause issues only in certain places.

2. Adapting to the shift in development approaches

 

From the research that I have stated earlier, DBs are one of the major reasons for performance issues. They are the heart of almost every application. With organizations relying heavily on applications to run their business, the focus is shifting to building better applications. When a shift like this occurs, the DBA no longer is responsible for just the database.

 

The responsibility increases to the whole application. This does not mean that the DBA should know application development. What it means is that the DBA needs to make sure that the application performance is not compromised due to database related implications. The required DBA skills, in this case, would be as follows.

 

  1. The DBA must maintain a performance trend of the application over time. This trend will contain in detail the performance measure of the application over days, weeks, and months. This would then form a tool for identifying patterns, or anomalies in application performance which intern might be related to issues in the database.

 

  1. The resources that are allocated to the DBs come under the umbrella of traditional SQL DBA skills. But, with the shift in approach, the DBA must move a step further and be accountable for the application as a whole. This can be done by managing and maintaining the logs of end-user wait times. Keeping a tab on what the end-user is waiting on and what kind of data is affecting the load time is important. This information can be used to tune the DBs to improve performance.
  2. The DBA must explore and set up all the necessary tools for monitoring not just the state of the DB servers, but also the other infrastructures like storage machines, hosts, networks, etc. Without this, it can get extremely difficult to perform any check on the application while monitoring for errors and anomalies.

 

3. Diversification of Database platforms

 

Diversification of Database platforms

Diversification of Database platforms

 

The applications are no longer always monolithic. As of now, applications are typically broken down into manageable sub units each having an architecture that suits the type of data it consumes. When situations arise where these units consume unstructured data, No-SQL databases like Mongodb or Cassandra are used. This makes it important for the DBAs to adapt to newer Databases and know how to manage all the different databases efficiently. Following are some of the DBA skills with respect to multiple databases.

 

  1. Evaluating the cost and performance measures with regard to moving various databases to the cloud vs keeping it on-premise. As a DBA, you will have to assess the performance parameters before moving a particular database to the cloud or moving it away from cloud to a local data center.

 

  1. Just like the other skills, you should find a single point tool for all the different databases. Maintaining a different dashboard for each type of database will make it cumbersome to manage them. A better solution would be to invest on a software that provides a single dashboard for all the different types of databases.

 

  1. As much as possible try to maintain consistency when it comes to integrity and security of the data. Also, use consistent strategies for backup and restore. This will make sure that the failure due to mixing up of strategies reduces, thereby improving the capability of the database.

 

Conclusion

 

With this, I hope you are ready to transform, adapt, and embrace the challenges that a DBA encounters. With the change in trends, we must adapt to those changes so as to remain in the game and become better at it.

I have designed and created a series of webinars which aims to help DBAs like yourself to become better and stay up to date with the technology. I have shared the knowledge I have gained through my experience in the industry  and I can assure you that you will have many things you can take away from it.

 

Stay Connected!

Get email MySQL Optimization PRO tips delivered straight to your inbox!
SUBSCRIBE
Click Me