-- The content of this article comes from a chat with Mr Zhao yuanjie. Mr Zhao is a very senior Oracle expert, he has profound accomplishments and rich experience in the fundamental principles of Oracle and the optimization of existing databases. His technical research is worthy of our later generations.
Currently, many companies, whether it or non-IT companies, have DBA positions to manage related databases. However, many timesThe location is awkward..
Generally, an enterprise's IT team is divided into two parts. One part can be called an infrastructure or infrastructure team, they are responsible for managing computer hardware, servers, network devices, telephones, and so on. The other part is generally called application development and is responsible for software development.
Then DBA shouldAttributionWhich team? SlaveProgramFrom the perspective of members, DBA should belong to the application development team. However, this is not the case. Since DBAs are responsible for managing database servers, they are often divided into infrastructure teams. In addition, in general, the database structure design work is completed by the application development team. DBA does not plan database servers based on application development needs, but simply ensures that there is sufficient database space available for use by the development team.
At the same time, the development team does not necessarily recognize DBA as a member of the development team. At present, many enterprises are engaged in EA (Enterprise Architecture), that is, enterprise architecture, it is expected that the IT architecture can match with the Business architecture so that it can better serve the business. Here, the IT architecture research focuses more on the various application servers of enterprises, and focuses on application development. Instead, it does not include the database architecture, or I didn't mention it to a high enough position.
In addition, with Cloud technology, more and more enterprises are putting data on cloud storage to reduce the company's cost. If we put all the data on the cloud, therefore, the DBA role is unnecessary in the enterprise.
However, have we seriously considered whether the database architecture should match the business architecture? Or do DBAs need to understand the business to better complete their work?
If you have a deep understanding of the operating principles of the database, we will find thatIt is necessary for DBA to understand the businessFor example:
As we all know, many tablespaces can be set in the Oracle database, and different tablespaces can be placed on storage devices with different performance. Where can we place the tablespaces, what kind of data is stored in the tablespace.
For example, for frequently used data, such as some basic data, it needs to be placed in a place with high performance, rather than frequently used data, such as logs and backup data, it can be placed in a place with low performance.
For example, if there are time-sensitive data, the latest data or this year's data should be placed in a place with high performance, and the data generated 10 years ago may need to be archived, it can be placed in a place with low performance.
For example, for various data storage problems, there are many relationships between the data tables used by various departments, and the data is stored in close locations, data is faster to obtain, and if it is scattered in all corners, it is more troublesome to obtain data, and the performance is also low.
In addition, there are some proprietary Oracle technologies, such as various types of indexes. Different indexes are used for different types of data, and the final performance is also different. partitions of data tables are also used) technology, you must understand the business before you can make a reasonable choice.
From the above content, we can see that to truly ensure the design and operation performance of the database, DBA is very necessary to understand some business information.
However, many DBAs currently work in a helpless way. For tablespaces, they may only create a very large tablespace and then put all the application data together; at the beginning, there was no way to effectively and reasonably plan database storage devices. The root cause was that they could not understand the business information.
To sum up, as a DBA, you need to be more involved in system construction, rather than simply managing servers, and learn more about the business.
What is your opinion?