The value of DBA in enterprise sustainable development

Source: Internet
Author: User
Tags dba linux

In today's highly competitive market environment, cost control is undoubtedly a very important part of each enterprise to enhance competitiveness, as many competitors will provide homogeneous products and services, enterprises must start from the control of internal costs, as a relatively large internal cost of the IT department, Should be the first to maximize the potential of the mining system. DBAs need to introduce new methods, new ideas, and broaden their horizons, not just in database maintenance itself. In general, what DBAs can do for this goal can basically be divided into three aspects: System optimization, application optimization, and process optimization.

First of all, it's about system optimization, which is the work that most DBAs have to get in touch with. By setting a business goal, it executives need to translate this business goal into a system-carrying capacity to ensure that the system does not become a drag. This target is to the DBA, where the DBA needs to divide it into host and operating system, storage, and database 3 parts.

Host-side optimization will start with hardware selection, we need to determine what the target capacity of our system is, what hardware is needed to support this capacity, the quantifiable metrics, and the quantifiable metrics we can use to test what machines are capable of satisfying performance, and finally to consider the overall cost, Select a machine that meets the target capacity and has the highest cost performance. Because the hardware upgrades very quickly, generally 2 years time has a new generation of host launch, so select the machine when selecting only enough machines instead of pursuing a procurement in place, any high-end machine after 2 years will inevitably be more high-end machines replaced. In general, in the early days of enterprise development, the use of Linux PC server is the most optimized solution, compared to the Windows system, the Linux system's long running stability is stronger, compared with the UNIX system, Linux embodies the economy. After the rapid development of the enterprise business, the system availability is higher, we need to consider the use of UNIX system servers, the use of a variety of highly available solutions to ensure the stability of the system for business development to provide support. When the system is completed, we need to focus on the host and the operating system, the running state of the system to continuously track the bottleneck of the system optimization.

Storage-side optimizations require DBAs to have a good understanding of the various storage systems, and the advantages and disadvantages of Das,nas,san are clear to the chest. To choose different storage scenarios for different applications, for example, a das might be a good choice if a system's performance requirements are not first, but very economical. If a system requires a fast portability capability, then NAS might be the preferred option. If a system pursues performance, a SAN can be a solution for it. In addition, today's storage vendors also put forward their own data lifecycle management implementation plan, the goal is also to allow users to put the most important data on the core storage, secondary system and historical data can be distributed in the lower cost of the two or three-tier storage, as much as possible to save users cost. In addition to the storage aspects of the optimization of the details we can focus on the raid partition, storage Read/write cache partition, storage iops,throughput and CPU utilization,response time monitoring. The DBA should be able to do the right thing first (choose the right system for different applications), and then do the right things (focus on technical details, focus on performance, and apply the knowledge to optimization).

Tuning on the database the first thing to do is to find a phased approach to optimization, which typically takes the following steps for database optimization:

1. Set the optimization goal

2. Record current performance

3. Find the current bottleneck

4. Optimization bottlenecks

5. Implement optimization strategy

6. Measure and record the optimized performance

7. Repeat step 3-6 until the optimization goal is reached.

Generally speaking, optimization goals in the enterprise will basically be related to database throughput, database request response time. After determining the optimization objectives, we can go to see the current performance, view the database performance Monitoring report, view the database waiting events, view top N SQL, the performance report on the joint operating system to navigate to the bottleneck, and then make the corresponding optimization of these bottlenecks, and then compare the performance of the optimization before and after the difference, repeated this process, Finally achieve the optimization goal. Because the enterprise's application system may be changing day by day, the DBA must pay attention to the performance problem daily, the optimization is a long-term continuous process, the ultimate goal is to play out the maximum energy of the system.

Next to the application optimization, in fact, many times when the system load is high because of the application has poor performance of the SQL statements, control the quality of SQL statements is the first priority of the DBA. I have helped others optimize many systems myself, usually the problem is due to bad SQL statements, the establishment of the index is not built, do not need associated statements to correlate, high concurrent full table scan caused the system load is very high, at this time some companies will consider to upgrade hardware, upgrade storage, upgrade the host, Will usually choose more than the actual capacity of a lot of hardware, can use PC server to choose a minicomputer, can use a small machine to choose RAC, in fact, if there is a more professional DBA, then the optimized system is completely unnecessary upgrades, which it investment can be omitted.

For companies that develop their own applications, the DBA should proactively establish a SQL training system, regularly explaining SQL-related knowledge to developers, preferably by explaining what has happened to SQL as a case study, so that the results are more pronounced. This is done because the SQL statement is written by the programmer in the application, and many times the DBA waits until the application is on the line to discover a performance-problematic statement that usually has a large or small impact on the business system, and the DBA needs to eliminate the problem at the beginning. Of course, only training is not enough, the DBA needs to use the power of the test department to find the problematic statements as much as possible in the testing phase, so that it is necessary to build a complete database of development and test database, the development library and test library and the Product library table structure and objects to be consistent, for example, Oracle, DBAs can use the Pl/sql script to compare the data structure of two libraries and automatically synchronize, can also do from the product database synchronization data to the development test library, as far as possible to ensure the development of test database data validity, not because the development of test library data does not cause the test can not detect the problem of the statement.

In addition, the Application System architecture optimization is also required to participate in the DBA, for example, many times we can be in front of the database to do a cache server, to save the pages have been visited or Java objects, this work will be done by developers, DBAs can provide access to the most frequent statements, Access to the most frequent objects, and then by developers through the program cache these things, when application requests come in, first go to the cache server access, if you need to access the page or object on the cache server already exist, then will not need to request the database, so the database pressure will be reduced very large, Because the cache server is basically composed of PC sever cluster, lateral scalability is relatively strong and cheaper, so when the enterprise developed to a certain scale can be considered from the application layer to add cache layer rather than rush to upgrade the database hardware, DBA to have this awareness, To be able to dig up all the places that can be optimized, to think of new ways of thinking in a different way, is not limited to the optimization of the database itself.

Finally, when it comes to process optimization, a perfect system is needed to ensure the stable and fast operation of the database system. From the beginning of equipment selection, we need to organize a selection team, the equipment selection as a project to do, need to have a DBA (SA), test engineers, a lot of developers to form a project team, need to have PM to oversee the entire project.

The DBA is responsible for preparing the data, testing the system, and the test engineer is responsible for writing the test cases, and the developer is responsible for organizing and configuring the application server,pm to coordinate the entire project's resources and control the project time. After the completion of the test procurement, DBA to make a system upgrade program, but also to control the project resources and time arrangements, do a good job and all the relevant departments of communication. After the hardware on-line needs to have the test procedure to guarantee the programmer development application does not have the SQL aspect question, only then the test passes can on-line system. After the application is released, the DBA collects the problematic SQL, returns it to the programmer to modify the SQL statements, and trains the developers on the SQL knowledge in the interim. Within the DBA team, there is also a training system that seeks to share business knowledge and improve the technical skills of all DBAs throughout the DBA. All the things we do are designed to optimize the database system, make use of process specifications less mistakes, make detours, and use the least resources to achieve maximum results.

DBAs are more than just database maintainers in modern enterprises, and DBAs provide high-value services, use their knowledge and skills to optimize systems, reduce IT spending, and improve enterprise

Competitiveness. To be a good DBA, sustainable development of the database practitioners, not only to master the above mentioned master operating system, storage, database, good communication skills, project management capacity, but also to the industry's latest technology has a keen sense of smell, with the overall IT framework planning capacity, always in the continuous learning growth.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.