What Is an Engineer's Scale?

Database Engineer (Database Engineer) is a collective name for related staff engaged in the management and maintenance of a database management system (DBMS). It belongs to a branch of operation and maintenance engineers and is mainly responsible for the entire life cycle management of business databases from design, testing to deployment and delivery.

Database engineer

Database Engineer (Database Engineer), is engaged in
database
The responsibility of the database engineer is important and extensive throughout the product's life cycle. This has led to various vertical operation and maintenance technology directions, including:
  • Database monitoring technology: including the development, application of monitoring platform, service monitoring accuracy, real-time, comprehensive guarantee
  • Database fault management: including service fault plan design, automated execution of the plan, fault summary and feedback to the product / system design level for optimization to improve product stability
  • Database capacity management: measure service capacity, plan service room construction, capacity expansion, migration, etc.
  • Database performance optimization: from all directions, including SQL optimization, parameter optimization, application optimization, client optimization, etc., to improve database performance and response speed, and improve user experience
  • Database security: including database access security, anti-attack, permission control, etc.
  • Automatic database deployment: R & D of deployment platforms / tools and use of platforms / tools to achieve secure and efficient release services
  • Database cluster management: including database server management, distributed cluster management, etc.
  • Database model design: including the design of database logical and physical models, how to achieve optimal performance, scalable architecture, serviceable operation and maintenance, etc.
Wait, everything related to database quality, efficiency, cost, security, etc., as well as the technologies and components involved, are in the technical domain of database engineers. Doing well in every technical direction plays a positive role in fulfilling the duties of a database engineer, and plays a key role in the development of the business.
Database engineers are technology-based and provide higher quality services through technical support databases. The job responsibilities of the database engineer and his position in the business determine that the database engineer needs to have more extensive knowledge and in-depth technical capabilities. In the management and maintenance of database environments, technical tasks can be grouped into many different categories. Here are some of the skills a database engineer should master:
1) Understanding data backup / recovery and disaster recovery
Recovering a damaged database is the most important skill every database engineer should master. Database engineers need to fully understand all possible backup and recovery methods of the database, and the correspondence between different backup methods and different recovery strategies. In addition, database engineers need to work with business units to identify business needs and clarify the bottom line for data loss that users can tolerate. In addition, business users need to determine how long their business can be maintained in the event of a system failure. Understanding these requirements can help database engineers develop a backup / recovery method that meets the needs of business users. An excellent database engineer should regularly test the backup and recovery process to ensure that they have the ability to recover business data and meet the business data loss and recovery requirements specified by the enterprise.
2) Use of toolset
A tool set is a set of scripts used to perform different database engineer tasks. This toolset should contain different small pieces of code that can quickly diagnose problems or perform a specific task. These tool scripts should be categorized by the type of activity of the database engineer, such as backup, index maintenance, performance optimization, capacity management, and so on. A good database engineer is constantly adding new scripts to this toolset because he always performs new tasks, discovers new problems, or finds useful scripts developed by others. In addition, he should know where to find some free tools and scripts online. A good database engineer knows when to take advantage of scripts written by others, saving himself time and improving his toolset.
3) Know how to find answers quickly
Databases face a variety of failure challenges every day. From hardware to the network, from performance pressure to program bugs, database engineers must calmly deal with them and eliminate them one by one. Even if the database is big, it is impossible to be omniscient. Therefore, each database engineer needs to continuously cultivate himself and accumulate theoretical foundations such as operating systems, networks, hardware, storage systems, and distributed computing. Ability to quickly find solutions to new problems. If a database instance isn't working as expected, quickly finding solutions to new problems is also an important capability. A good database engineer knows how to quickly find a solution to an unknown problem online. In addition, they may already know some very good websites, they also know that industry experts will provide some good suggestions, and also know when to ignore some bad suggestions. You may not imagine that there are some suggestions that are not worthy of reference.
4) How to monitor and optimize database performance
For any database product, performance is particularly important, it will directly affect the product's response speed and user experience. For a database engineer, performance optimization generally takes 50% of the working time, so the database engineer needs to know how to monitor and optimize data performance.
Taking SQL Server as an example, performance is a key issue, so database engineers need to know how to fix failures and monitor performance issues. There are many third-party performance monitoring tools that can help database engineers optimize performance. If the database engineer only uses third-party tools and does not use the native tools that come with SQL Server to monitor performance, then I believe that problems will soon arise. Although it is also good to use third-party tools to monitor performance, database engineers must understand some of the native tools that come with SQL, such as SQL Server Profiler, Database Engine Tuning Advisor, Dynamic Management Views, system / extended stored procedures, Extended Events, etc. . Many third-party tools are actually using these underlying native tools. Therefore, understanding these native tools will help enhance database engineers' experience with third-party tools.
5) Research the new version
In technology, nothing is set in stone. Every two or three years, major database vendors release a major version of the update. Database engineers should keep up with the changes made by the new version. They may have many ways to change, and the best way is to get involved in the process sooner or later. Download and install the beta version as soon as it is open, and gain first-hand experience as soon as possible. A good database engineer is always in the vanguard of learning and always installs and tests new versions as soon as possible. This way they can understand the new features early, and then make some reasonable new suggestions to help the organization make better use of the new version of the database.
6) Understand code best practices
Database engineers should understand how to write efficient code. There are many bad coding practices that can lead to poor performance. A good database engineer needs to be able to understand and identify these bad coding practices and how to modify these bad codes to make them efficient code. In addition, they document best practices for writing code and share them with others.
7) Continuous learning
The database and its components are very extensive. Database engineers struggle to understand all aspects of a technology. Database engineers need to continuously learn how to manage databases. There are many ways to do this learning process. One of them is to participate in formal training. However, not everyone has such ample time and money, and not everyone can lay down the work at hand and go out for formal training. However, there are many other ways to get training, and most are free. A good database engineer must subscribe to some community websites that regularly release new database tips and articles. In addition, he should also join some user organizations to participate in some free local salon events on weekends.
8) Database security
Security is a hot topic. Database engineers should fully understand how to achieve secure database access. They should understand the difference between operating system authentication and database authentication, and their respective use cases. They should understand how to use database roles to manage security configurations for different types of users. They should understand the ports and protocols used to connect to the database. In addition, they should understand how to encrypt the entire database, or a field in a table in a database, and understand various issues about encrypted data.
9) Database design
A key issue in determining database performance is database design. Database engineers need to understand all aspects of database design. They need to be able to understand the difference between good and bad design. They need to understand why using the correct foreign key constraints, primary keys, check constraints, and data types can maintain the data integrity of the database and enable efficient data querying and updating.
10) Index design
Database indexing is an important part of improving the speed at which applications retrieve and update data. Database engineers need to know how indexes work. They should know the difference between clustered and non-clustered indexes, and the physical storage of these indexes. Database engineers should know how to use these indexes in execution plans. They should understand how to find index usage statistics, understand index fragmentation, and find missing indexes. They should know how to maintain indexes, and the important role that index statistics play in query engines.
11) Capacity monitoring and planning
Databases often use a lot of resources, including CPU, memory, I / O, and disk space. Database engineers should understand how to monitor the usage of different host resources required by the database. They should be able to understand how these resources are used at different times and use historical usage data to plan future capacity needs. During the monitoring process, the database engineer should be able to foresee when there will be problems with capacity planning in the future, and then take the necessary measures to keep the database from being interrupted by capacity constraints.
12) Database License
There are many different ways to license different products. Moreover, there are many different versions of the same product. Database engineers should understand the different licensing models for the database versions they are responsible for. They should be able to provide guidance on how to reduce the total cost of ownership of the database by purchasing licenses reasonably, and how to use the licensing method reasonably to reduce the cost of upgrading future versions.
13) Automate as much as possible
Database engineers need to perform many daily tasks every day. Some tasks need to be performed daily, while others are performed weekly, monthly, or yearly. A good database engineer needs to understand how to schedule his time efficiently. One way is to establish workflows that automate these daily tasks. By automating routine tasks, database engineers can spend more time focusing on serious problems encountered in database environment management.
The more qualities you have, the better you are as a database engineer. The key to becoming a successful database engineer is to continuously learn and improve, and strive to master more knowledge about how to manage and maintain the database environment.
Many times management personnel ignore the personality characteristics of database engineers, they only focus on the technical capabilities of database engineers. In fact, each of the responsibilities mentioned above means that the database engineer needs to deal with a variety of people, who may be vendors, users, developers, or managers. This means that the database engineer must have the following personality characteristics:
  • Self-confidence: sufficient self-confidence can help database engineers make decisive decisions in critical emergencies, rather than overwhelmingly watching accidents happen
  • Curiosity: Almost all database systems are constantly updated, but not all updates have technical documentation. For good database engineers, curiosity is necessary. Database engineers without curiosity and curiosity are always waiting for others to tell them the answer.
  • Self-drive: Self-drive is important for everyone, especially for database engineers. Database engineers need to be able to figure out ways to make the problem happen, rather than wait for it. Self-driving database engineers often try to obtain or write some necessary scripts to monitor items including Table Size and Tablespace Usage. If these items are ignored, they will encounter trouble.
  • Persistent willpower and calm mindset: Database engineers often encounter difficult problems. Finding the answer is a personality trait that requires tenacity and can withstand a beating. At the same time, in the face of emergencies, we should be able to deal with the situation in a calm and calm manner.
  • Careful and meticulous work, diligent in thinking: It is very important for database engineers who pay attention to details to understand the core of the database and understand the relationship between views and tables.
  • Time management capabilities: Database operation and maintenance work is very tedious, so it needs to make full use of fragmented time.
  • Good communication skills, team spirit: working database engineers need cross-sectoral, cross-trades in contact with a lot of engineers, good communication, teamwork can play a good role
Level database engineer is not very strict. According to grasp the situation of the database can be divided into three levels: primary Primary, Intermediate and Advanced Intermediate Senior.
Junior database engineer is also called DBBS, which is the abbreviation of English Database Baby Sitter. Primary database engineers are often part-time, while they tend to be a programmer or other part-time work. Primary database engineers tend to write a great resume, and involved a lot of database-related projects or work. However, these projects or tasks are often: Third-party software vendors have installed and configured the database, and they only do some monitoring work. They can deal with some simple problems, but most of the time they ask the application software vendor for help. Primary database engineers prefer a graphical database management or monitoring tools, they like Access desktop database such as ease of use, and small database of these experiences simply applied to large databases related work.
Primary databases are best distinguished engineer. The mid-level and senior engineers, database engineers, database is not very good distinction. Their differences lie in differences in experience and differences in personality characteristics and abilities. Intermediate database engineer more. They can do most of the work Senior Database Engineer, including:
1) Database installation;
2) Configuration and management database;
3) permission settings and security management;
4) Monitoring and performance tuning;
5) backup and recovery;
6) to solve the general problem;
Intermediate database engineers often work for about a year and are familiar with databases in a certain operating system environment. Because for intermediate database engineers, Windows NT and Unix are very different. Intermediate database engineers are familiar with SQL. They have bought several books on database and delved into them. Intermediate database engineers often serve as database programmers at the same time. Their work is not very high in pursuit of performance, stability, and security. They often cooperate with senior database engineers to do some routine work.
There are very few senior database engineers in China. They are proficient in reading English language information on databases and are familiar with several large databases on many operating platforms. They know the advantages and disadvantages of different databases in different environments, and can make decisions on the choice of database platform and database environment. They are generally familiar with system architecture and database design, and can perform various levels of optimization on the database. Senior Database Engineer are generally equipped with assistant, they prefer to make decisions and plans. Senior database engineers often play a key role in key business processing areas that require high stability, security, and performance, such as banking, insurance, and online transactions.
In many cases, it is not important to obtain a database expert certification. Many database vendors receive certificates whenever you go. There are many companies that provide commercial training, and their service quality is also good or bad. So certificates are not particularly meaningful.
1) The most popular open source database system-MySQL
In web applications, MySQL is one of the best RDBMS (Relational Database Management System) applications. Many Internet companies at home and abroad are widely using MySQL as the main database system for relational storage, such as Facebook, Baidu, Ali, and Tencent. MySQL's open source features and rich community support make it the first choice for entry-level database engineers. MySQL is divided into community edition and commercial edition. Due to its small size, fast speed, and low total cost of ownership, especially the characteristics of open source, the development of small and medium-sized websites generally choose MySQL as the website database. Due to the excellent performance of its community edition, it can be combined with PHP and Apache / Nginx to form a good development environment.
2) The "easiest" database system-Microsoft SQL Server
If you plan to be a database engineer, I suggest you choose those more popular database systems. This means that you will have more employment opportunities, exchanges and training opportunities, and because there are popular reasons for fashion, you can worry about it a lot. Of course, employment competition is also relatively stressful. General beginners choose Microsoft SQL Server, which is a database system that is very suitable for small and medium enterprises. Readers familiar with Access can easily use Microsoft SQL Server to become a DBBS.
Microsoft SQL Server 7.0 is priced at $ 1,399 for the 5-user version, and $ 127 per user for additional users.
3) The most "difficult" database-Oracle without Crown
If you have access to Oracle, it is a good opportunity. Oracle is currently the most promising database vendor. Due to its powerful features and configurable and manageable capabilities, the salary of an Oracle database engineer is generally higher than that of other database administrators. In addition, Oracle's key applications in large and medium-sized enterprises are more common. Oracle can run under Windows NT, Sun Solaris, Linux and other platforms. In many cases, you are not only familiar with NT, but you are also familiar with Unix; Oracle's less user-friendly interface and boxes of Oracle product information may also be an obstacle.
Oracle 8i Standard Edition quote, if running on Windows NT, with JServer and interMedia, supports 5 concurrent users, the quote is $ 3925 per CPU. When adding concurrent users, $ 785 per user. When adding additional named users, $ 392.5 per user.
4) Nobleman of database system-IBM UDB / DB2
As a result of 30 years of database research, IBM DB2 is indeed called a "noble of database systems". Whether small business systems, or large banking system, with all DB2 can sit back and relax. The new version of DB2 6.1 is now available, with better management and tuning tools and ease of use. DB2 can run on Intel architecture or IBM S / 390 mainframe. If your industry is particularly acquainted with IBM machines, I suggest you study IBM DB2.
DB2 There are two versions: Workgroup Edition and Enterprise Edition. The workgroup version is $ 999 per server, plus $ 249 per concurrent user. The Enterprise Edition is $ 12,500 per CPU, with no limit on the number of concurrent users.
5) Java-centric database-Sybase Adaptive Server Enterprise (ASE) 12.0
The forthcoming Sybase ASE 12.0 is aimed directly at Java programmers. This Java-centric database system will be the best choice for those enterprises that are preparing to build enterprise applications under the Java platform. But ASE is not a leader in the database field, although it has improved a lot compared to its previous version, and supports multiple CPUs and more concurrency, and there are many new features. But Sybase's scenery seems to be gone.
1) Competitiveness of salary
  • Influencing factors: Experience and ability determine the level of database engineer, familiar database system determines the field of database engineer, personality characteristics and potential determine your appreciation space.
  • Vertical comparison: Database engineers, as high-quality talents in special fields, have high salary competitiveness and strong market demand. Especially middle and high-end database engineers often have a higher shortage than software R & D engineers.
  • Third party compensation survey report, for reference only:
"2013 database engineer salary survey report [1]
Database as a part of the entire system, its performance is directly affected by the quality of SQL statements in servers, operating systems, storage, networks, applications, the quality of database design, and many other factors. These factors are very complex and experience combined Plays a very important role. Therefore, in addition to the knowledge as a basis for a good database engineer, the amount of experience and broad knowledge often determines whether it is qualified and excellent.
Outstanding database engineers not only care about the principles and development of database systems that they operate and maintain, but also keep up with the industry's cutting-edge database technology and pay attention to top conferences in the database field. These include the three internationally renowned database conferences SIGMOD, VLDB, ICDE, Percona Live hosted by the well-known database company Percona Live, and Open World hosted by Oracle, and the China Database Technology Conference (DTCC), a well-known database engineer event in China.
From another perspective, the database engineer's field of work requires high practical experience and independent working ability. Without a lot of hands-on practice, it is difficult to be competent for database engineer related work [3] .
Because of the above reasons, the current situation in the workplace is that it is not easy to enter the position of database engineer, and it is difficult for employers to find suitable employees, and the gap is very large.
It is precisely for the above reasons that with the increase of working years, the experience of database engineers is increasing. Just like doctors, their value will become higher and higher, and they can gradually grow into senior database engineers, system architects, and information directors (CIOs). ) And so on, without many career development problems facing software development practitioners after a certain age.
In addition, from the perspective of career prospects, there are more job opportunities for database engineers [4] . Generally speaking, the software and hardware in the system are provided by industry-leading manufacturers such as IBM, HP, Oracle, etc. In the process of negotiation, cooperation, testing, implementation, maintenance, optimization, etc. with the manufacturers, many excellent workplace opportunities will be generated. This is difficult to compare in the development work.
From the salary statistics of database engineers, with the accumulation of work experience, the salary increase of database engineers will be much larger than other computer directions.
From the perspective of job stability, the complexity of the system and the importance of experience have determined the irreplaceability of the position of database engineer.
From the perspective of knowledge accumulation, update, and substitution, the foundation of the database has not changed. What has changed is the ever-increasing functions and expanding application scope. Therefore, the knowledge and experience gained in different periods is a superimposed and accumulated relationship, and not the "the only constant is change" like many other career directions in IT. Its knowledge is whether the east wind overwhelms the west wind or the west wind overwhelms the east wind .
Therefore, the career of database engineer is a highly challenging and rewarding career. Skilled and intelligent technicians with a certain ability should challenge themselves and enter this more and more promising career that has been continuously proven by the facts for more than two decades [5] .

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?