reading Tom Kyte's book "Expert Oracle Database Architecture, Second Edition," was excellent the preface written by Ken Jacobs in which he writes about how a word used in 1914 by Thomas J. Watson to convey an idea IBM workers, regardless of their position, taking care in making decisions in addition to working with intelligence. Jacobs
emphasis on "conventional experience that exists in the Oracle community about how to optimize for best performance or the best way to use various features of Oracle. This experience that sometimes it becomes folklore or myth and that both developers and database administrators applied blindly or beyond without any reasoning.
An example of this is the idea of \u200b\u200b"if one is good, more-many more are better." The idea is popular, but not always true. The Oracle interface arrangement, for example, that allows developers to insert or remove multiple records with one call thus reducing the number of network messages between the application and the database which is good. But if you analyze it, there is a point where performance decreases. It is much better transport 100 records while 1.000 and for the latter case the method is not efficient, especially for memory requirements.
Another example is when it focuses on wrong aspects of the design or system configuration, rather than those which can improve performance (or, if applicable, reliability, availability or security). Consider the conventional experience of optimizing the system to maximize the 'buffer hit ratio. " For some applications, it is true that maximize the chance that the system finds the data in memory will improve performance. However, in most systems it is best to focus on bottlenecks (which in the argot of Oracle is known as "wait states") rather than focusing on specific indicators. Attack from the design ensures that the system has good performance.
Sometimes good practices that were based, in part, to a degree of certainty no longer apply when the facts change. Consider the old adage, "to indexes and data in different tablespaces for performance." There are database administrators who defend tooth and nail this idea without taking into account changes in disk speed and capacity, or related to workloads. In assessing this "rule" should think about the fact that load into memory Oracle database blocks used recently and frequently (often blocks belonging to an index), and the fact of which makes use of these blocks sequentially, not simultaneously, for any request. This implies that the operations of I / O for both indices to data should be shared among all concurrent users and distributed over all disks to be available. You can choose to separate indices and data for administrative reasons or personal preference, but not for performance. The important thing is to base decisions on facts, many facts.
No matter how fast our computers are so sophisticated or who may become the database, regardless of the power of our programming tools, there is simply no substitute for human intelligence accompanied by a "thinking discipline." While it is important to learn the intricacies of the technologies we use in our applications, it is even more important to know how to think them appropriate use.
Tom's book not only teaches about Oracle features and how to use, it also reflects many of these simple thoughts:
addition to this, I would add also the advice of Steven Feuerstein I posted a few posts ago. While it is always ideal to have the time and equipment to do all the tests that need the reality is that rarely have, often perhaps for the lack of time many are left with the idea that what saw that others also work for them worked and may well be, however, with so many combinations in Oracle as database, operating systems and hardware, it could build on this knowledge but the test is one that will actually solve the problem. Once
you how to solve the problem is important to see also the implications for others because instead of solving it could be just a different location.
emphasis on "conventional experience that exists in the Oracle community about how to optimize for best performance or the best way to use various features of Oracle. This experience that sometimes it becomes folklore or myth and that both developers and database administrators applied blindly or beyond without any reasoning.
An example of this is the idea of \u200b\u200b"if one is good, more-many more are better." The idea is popular, but not always true. The Oracle interface arrangement, for example, that allows developers to insert or remove multiple records with one call thus reducing the number of network messages between the application and the database which is good. But if you analyze it, there is a point where performance decreases. It is much better transport 100 records while 1.000 and for the latter case the method is not efficient, especially for memory requirements.
Another example is when it focuses on wrong aspects of the design or system configuration, rather than those which can improve performance (or, if applicable, reliability, availability or security). Consider the conventional experience of optimizing the system to maximize the 'buffer hit ratio. " For some applications, it is true that maximize the chance that the system finds the data in memory will improve performance. However, in most systems it is best to focus on bottlenecks (which in the argot of Oracle is known as "wait states") rather than focusing on specific indicators. Attack from the design ensures that the system has good performance.
Sometimes good practices that were based, in part, to a degree of certainty no longer apply when the facts change. Consider the old adage, "to indexes and data in different tablespaces for performance." There are database administrators who defend tooth and nail this idea without taking into account changes in disk speed and capacity, or related to workloads. In assessing this "rule" should think about the fact that load into memory Oracle database blocks used recently and frequently (often blocks belonging to an index), and the fact of which makes use of these blocks sequentially, not simultaneously, for any request. This implies that the operations of I / O for both indices to data should be shared among all concurrent users and distributed over all disks to be available. You can choose to separate indices and data for administrative reasons or personal preference, but not for performance. The important thing is to base decisions on facts, many facts.
No matter how fast our computers are so sophisticated or who may become the database, regardless of the power of our programming tools, there is simply no substitute for human intelligence accompanied by a "thinking discipline." While it is important to learn the intricacies of the technologies we use in our applications, it is even more important to know how to think them appropriate use.
Tom's book not only teaches about Oracle features and how to use, it also reflects many of these simple thoughts:
- not believe in myths. Explain yourself.
- not go with the conventional experience. Often the things that everybody knows are just wrong! Distrust
- rumors or opinions. Try things yourself and your decisions based on facts examples.
- Divide the problem in simple questions and answers weapon at every step in an elegant and efficient solution.
- No execute things in your program when the database can do better and faster.
- Research on the topic and is skeptical of unjustified policies in the company for technical standards.
- Take time to THINK.
addition to this, I would add also the advice of Steven Feuerstein I posted a few posts ago. While it is always ideal to have the time and equipment to do all the tests that need the reality is that rarely have, often perhaps for the lack of time many are left with the idea that what saw that others also work for them worked and may well be, however, with so many combinations in Oracle as database, operating systems and hardware, it could build on this knowledge but the test is one that will actually solve the problem. Once
you how to solve the problem is important to see also the implications for others because instead of solving it could be just a different location.
0 comments:
Post a Comment