In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)06/01 Report--
Performance deification, talk about Exadata's "Seven deadly sins"
What is Exadata? Like some domestic oracle database all-in-one brands, it is a set of software and hardware integrated database platform built specifically for Oracle database, commonly known as "database all-in-one machine". You can simply understand that they are a platform, as long as the Oracle database runs on this platform, you can run fast, stable and safe.
Next, I would like to talk to you about the seven deadly sins of Exadata. The word "sin" is of course exaggerated. The main purpose is to let you know some of the shortcomings of Exadata that may not be known, some of which are even huge, and even make you feel that these proprietary technologies of Exadata are very chicken ribs. If Oracle can read this article and improve its products, the hours spent writing this article will not be wasted.
Performance, I will not stop pursuing
Before saying "sin", let's talk about performance, because performance is very important.
Nature and its laws are hidden in the night; God said, Let Newton go! So everything is illuminated.
In terms of performance, many people deify Exadata, and Exadata is not Newton.
The cause of this situation is largely due to the fact that Oracle has captured the hearts of a large number of technicians who are interested in talking about Exadata's proprietary technology. As for whether these technologies are easy to use and the conditions for their application, technicians often do not care. If they are not trained, they often lack product thinking.
There are three unsolved problems in human history: hunger, war and pestilence, and Yuval, author of a brief history of the future. Herari said that mankind did not finally solve these three difficult problems until the 21st century.
The database field has also been plagued by a problem, that is, performance. In particular, with the advent of the Internet, the performance problem is even more stretched.
Many old people have the experience of not having enough to eat in their memories, and they will encounter great psychological condemnation if they waste some food, but according to my observation, there will be very little condemnation if they waste some clothes (bought almost nothing). In fact, both clothing and food are the products of human labor, there is no difference in nature, and should not be wasted.
Performance, like grain, has not been enough in the history of the database. At that time, when Ali was engaged in the application of DBA, the database had to be fine tuned. Now, with the help of technological advances, a variety of high-performance architectures have actually made performance not a problem, but we will still find that this worry about insufficient performance is still affecting a lot of people.
In addition, there are other reasons why users are particularly concerned about performance, which are also listed here:
Performance indicators are easy to quantify. As a good indicator of performance, it is easy for users to distinguish the products of each supplier. Just like our college entrance examination, its essential purpose is not to train talents, but to distinguish them by a very simple standard, that is, scores. The same is true of performance, which is not easy to measure. Of course, I do not quite agree with this method of distinction, for the choice of products, performance is only a small aspect, just like you choose a car, you can not only look at whether it runs fast, you must also pay attention to its interior, safety and other factors.
If the performance is unlimited, then you can fully liberate the imagination of the business. The APP of Shengle Fortune Tong of a securities company can automatically refresh account information in 5 seconds, knowing that there are millions of customers online every second, which is unthinkable under the traditional IOE architecture. With an integrated database, you can release the imagination of the business.
Exadata's first crime, the first killer mace function can not be landed in the real environment.
So what about the performance of Exadata? Two flowers bloom, one for each.
OLTP, the killer's mace is useless.
In the OLTP aspect, compared with the domestic database all-in-one brand, Exadata has no advantage. Mainly through the use of SSD, and efficient storage layer protocols to maximize IOPS, reduce IO latency, after all, for OLTP system latency is the key. For IOPS, the higher the value of IOPS, the more concurrency can be guaranteed. Here we also need to mention serversan, the traditional centralized storage, head controller and storage front port can easily become performance bottlenecks, but all-in-one machines use serversan, which means that each serversan node is a node that can provide power separately, ensuring the scalability of IOPS and bandwidth. Think of centralized storage as a green train, which runs fast on the front belt, while the serversan is a bullet train, with each EMU providing separate power.
Some Exadata geeks may mention Exadata's RDS protocol, which is used to transfer data blocks between clusters, so when do you need to transfer data blocks? When multiple nodes need to modify this block. Therefore, if you set some extreme scenarios, such as multiple cluster nodes frequently updating a small amount of hot data, then data blocks need to be constantly transferred between clusters. In this extreme scenario, RDS protocol may have an advantage over IPoIB protocol. For example, using stress testing tools such as HammerDB or Swingbench to maximize the pressure (CPU running full), there may be a difference of about 5%. RDS is not a silver bullet, it's just the icing on the cake.
OLAP, flowers in the mirror, moon in the water
What about OLAP? You know, Exadata was originally developed for data warehouses. Its killer weapon is its storage and unloading. Storage unloading achieves 1) a large number of operations can be offload to the storage layer, saving computing node resources 2) the second and most important point, it can quickly filter out the data that does not need to be scanned, which not only improves the efficiency of scanning, but also increases the bandwidth of storage to computing in disguise. In other words, Exadata does not have to worry about physical devices, such as upgrading the interconnection layer from 40GB to 100GB. Through the uninstall function, it can achieve the effect of 56GB or even 100GB, or even higher. Therefore, in theory, it is stronger in OLAP than domestic all-in-one brands.
Is it really strong? Let some people in my circle tell you something.
Think about a question first, this killer mace is when can uninstall function be used?
Answer, the time, the earth and the people are no less difficult than collecting seven dragon balls to summon the dragon. Exadata salespeople won't tell that. Next, let's talk about the details.
The pain of index
To enable unloading or smart scan, the first restriction is that the execution plan of the SQL statement must be a full table scan (a full index scan can also be considered a full table scan).
Smart scan is a type of uninstall, used for SQL statements, uninstall can also have an effect on the rapid creation of database files, RMAN incremental backup, etc., but this article is not to do in-depth discussion of the technology, simply equate uninstall with smart scan.
That is, if your system is OLTP-like access, this killer feature is of no use to you, because OLTP is characterized by short and lean queries and indexing. The uninstall function can only be used for systems that are partial to analysis (such as OLAP), but please note that in this analytical scenario, there can be no relevant indexes on the table, otherwise, it is highly likely that the execution plan according to Oracle's CBO algorithm will not meet the premise of full table scanning.
You might say, isn't it over if you don't build an index? The truth is, every DBA is more or less, there is some index plot, do a bunch of indexes on the table. That's why you can hear a lot of Exadata engineers to help customers optimize SQL's advice: "Delete the index." Even the sentence was spread miraculously, saying that Exadata is amazing that it can run fast without an index.
But wait, can deleting the index really solve all the problems? Not only may not solve the problem, but also not far from the collapse of the system. The environment of most customers is not so pure, not pure OLTP or pure OLAP, these indexes may be needed in OLTP business, if you delete the index in order to make analytical tasks run fast, then it will affect the quality of service of those OLTP-based services, and OLTP-based tasks are the most sensitive to delays. Just imagine, if every inquiry Taobao order takes more than ten seconds, you must be crazy, more than ten seconds can see a Tik Tok.
At this point, the endless cycle is created. Whether the index is deleted or not, most of the customers I have encountered have chosen not to delete it. Let the uninstall function years stay in the United States and do nothing to treat it. What is more sad is that customers buy Exadata with 1 / 3 of the money paid for this function. According to statistics, less than 1% of the SQL can use the uninstall function, and the other 99% of the SQL that has not been specially optimized have taken index scanning.
Direct path read read mode must be turned on
The second condition for unloading is that the query must use direct path read mode, that is, the read data is directly put into the private memory (PGA) of the data reading process without going through buffer cache. The reality is that many users turn off this direct path reading because these full table scanned SQL results in too much physical IO.
So this is another huge challenge for customers.
A case of a bank's Exadata was that there were frequent additions, deletions and modifications on a table. Oddly enough, this "write too much" behavior caused other query operations on the table to become very slow. Finally, it was analyzed that because many queries chose the direct path read reading method, the dirty data in buffer cache had to be brushed to the disk before each read. During the process of waiting for the disk to be brushed, the query would be blocked. Until the flushing is completed, once there are more read operations, a large number of queries will be blocked.
Exadata's second crime, up and down, is torture.
The above mentioned enable uninstall, the function of this super killer mace, the pre-conditions to be met, are very difficult to meet!
In addition, your application needs to do a lot of testing and verification, the middle DBA needs to be highly coordinated, and this DBA has to be a senior expert. Every SQL of review, to see whether to add hint or delete indexes, this is a huge workload, is a systematic project, and requires the cooperation of multiple roles to complete. If you delete all the indexes to save trouble, then your system is not far from crash. Because the SQL of OLTP type must be queried quickly through buffer cache, which is read in memory.
The uninstall feature, in OLTP scenarios, doesn't work at all.
Even if you take a step back, you think your team has a large number of top Oracle experts. Do you recognize all these jobs and think you still want to do them?
No, one day, you accept the apocalypse and feel that Exadata is not as good as you imagined. If you want to replace it, the tragedy will happen again, because you still need to review all the SQL that you used to review, which added hint may have to be removed, or add back the index that was deleted. This is a very long and painful process. I have personally experienced this process, and I am still going through it (a bank customer).
I very much agree with one sentence.
"there is a very important concept in the development of human technology, which constantly makes a difficult technology more and more easily manipulated by ordinary people."
Just like Meitu defeats PS, the more people can control a technology, the more valuable it will be. from this point, Exadata is in a corner, and it is very difficult for customers to use this product. The technology itself can be complex, but the interface for the customer should be simple enough.
Exadata's third sin, God's belongs to God, Caesar's belongs to Caesar
Exadata has an EHCC compression feature, which is his second biggest killer feature. After all, the product of Exadata is mainly for data warehouse systems, so it is not too much for compression function to be mentioned in this position.
However, I would like to tell you responsibly that this function can only be used on Exadata, which means that you have to use Exadata to build disaster recovery, and you cannot use a general platform to do Exadata disaster recovery. This is a huge cost. I believe that even banks have to consider this kind of cost, right?
If you choose to use a general platform to build Exadata disaster recovery, data compressed using EHCC will not be accessed unless you spend a lot of time decompressing it using a specific method. In addition, compression can also make data backup and migration a headache. In addition, the data compression itself is like the two sides of a coin, saving space and consuming CPU resources. More importantly, for Exadata, compression must be completed at the computing node and cannot be unloaded to the storage node. If the amount of data to be compressed is relatively large, then you have to think about it. After all, the customer has to pay a lot of license fees for the CPU of the computing node.
To mention here, many of the customers I came into contact with actually turned off the compression function, and made such a sacrifice in order to be able to use a common platform to build disaster recovery, but unfortunately, customers paid a lot of money for this feature.
All of the above shows that Exadata is a closed system. If you get on this ship, you have to be on board all the time. This ship is not Noah's Ark. It makes users have huge sunk costs. After being kidnapped by sunk costs, users can only stay on board. Many people just buy a 40 yuan ticket for a movie, and when they see a bad movie, they have to insist on watching it all, not to mention a device with millions or millions of dollars.
The fourth crime of Exadata, the technical threshold is too high.
It is difficult to recruit a DBA who understands Exadata from the market, and if Exadata wants to use it well, it just needs a person who knows it very well. If users' DBA skills are not up to standard, they can only "rule by doing nothing". I often participate in some activities in the circle of oracle, and many experts from third-party database service companies that I have come into contact with say that for Exadata, the vast majority of customers are also "governing by doing nothing". However, customers pay tens of millions of dollars for the functions of those killer mace. It's like buying a sweaty BMW, but no one can ride it, and the threshold is very high.
The fifth crime of Exadata, Exadata does not include license
Correct for everyone: do not take it for granted that buying Oracle Exadata includes Oracle database license,Oracle Exadata is an Oracle database hardware operating platform, it does not include Oracle License, you have bought Exadata can have a look, whether Exadata's software list includes Oracle database license, customers need to buy again.
The sixth crime of Exadata, 40g that will remain the same for thousands of years.
We all know that computer hardware is basically developing according to Moore's Law. In nearly 10 years since Exadata was launched in 2008, the core network has not changed its mind to run on 40Gb's IB, while domestic all-in-one machines already have more than 100Gb products, and the bandwidth efficiency has been increased by three times. Some people may say that it has the uninstall function, the 40Gb is enough, and there is no need to increase the bandwidth, but the premise is that the expert DBA does fine tuning to the SQL, which will bring huge system management costs, and the database system is becoming more and more complex. Why don't you accept a simple and efficient way to upgrade to 100Gb-200Gb 's network?
I think the most likely reason is that if it upgrades the network, the legitimacy of its existence will not exist. The biggest selling point of Exadata is to maximize its value by uninstalling functions. Wouldn't it lose face if you upgrade the hardware to achieve the goal of improving performance? To a certain extent, it is still based on the idea of "product is king" to make products, rather than based on the needs and pain points of users to make products. Domestic all-in-one brands prefer to release database performance in a simpler and more transparent way to DBA and business.
The seventh crime of Exadata, maintenance & expansion & service
The seventh point is not written in detail, who knows, it seems that they have never encountered users who are satisfied with Exadata maintenance and expansion, it may be the habit of making high profits, there is no way to say! In addition, maintenance, expansion and upgrade are extremely complex, and the service response is also very untimely. For the rest, you can make up for it by yourself.
The Future of Exadata
Speaking of the future of Exadata, I am a little salty and light to worry about. I once said in my moments that since Exadata is so complex, if it can be combined with artificial intelligence and deep learning technology, then its prospect is still very good, but recently I have reflected on this question, and the answer may not be so simple. (in fact, oracle has been developing autonomous databases since 18C.)
As mentioned above, Exadata has a very big problem. It's not easy to use. It feels like a bunch of technology-loving geeks have built a product with a high barrier to use. How can you lower the threshold for using it? I used to think that the answer is to use the artificial intelligence technology of deep learning to let Exadata through autonomy to achieve the goal of lowering the threshold of use.
But my idea is not very approachable now. Most customers choose to use Exadata, will put the more important business above, as long as it is an important business system, there is an explicit need, "I want stable happiness", must not hope, today the autonomous system decided to add an index, tomorrow decided to delete an index, which will bring uncertainty, and the core system most needs the attribute is certainty.
You may think I am a technical pessimist, but I would like to make it clear that I am very optimistic about the value of artificial intelligence in the database field, but its biggest application scenario is in non-core database scenarios, these databases, do not need to worry about DBA, even if slow, slow, as long as it saves trouble, these non-important business systems are also very numerous for enterprises. Therefore, the autonomous database is very promising, but the core database still has a long way to go. It can not be considered until the autonomous database can also provide certainty.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
Oracle Study-OCR disk failure (PROT-602) under AIX RAC *
© 2024 shulou.com SLNews company. All rights reserved.