XML is a flexible language. Users can tag their own tags to define their data types. In these tags, users can define their own principles or attribute names. In this way, as long as an XML file is obtained, another user who has no knowledge of this system can easily read the data.
When different users exchange data, as long as they follow the XML standard, each application can write an XML interpreter for the data types they use, the data in the XML file is easily converted into the data type used by the user, so that data can be quickly exchanged between different applications.
However, as a database that stores data, Relational Tables in the past cannot meet this new requirement. You still need to spend a lot of time converting XML data to the relational type and then entering the database, or writing complicated queries as needed to read the data. This method not only adds difficulty but also reduces efficiency. The original XML file will be re-parsed to each table. This process is quite resource-consuming for systems with complicated or large data volumes.
Compared with other database management systems, DB2 9 has made significant innovations. In fact, DB2 9's support for XML is not only reflected in XML data, but also can be used to solve some problems that are difficult to solve Using relational models. DB2 9's support for XML is not negligible compared with the classic relational data model.
Compared with other mainstream database management systems, DB2 has its own advantages and disadvantages. The performance of DB2 on the datawarehouse system should be very good. At the same time, DB2 is doing very well on the optimizer. For most complex queries, it can be effectively rewritten as the optimal statement, and allocate reasonable execution plans.
DB2 has some shortcomings in the closing mechanism. This is related to the DB2 design framework. The use of memory locks improves efficiency while also having the highest requirement on system optimization. If the user does not optimize the database itself or the application, DB2 may easily encounter lock wait.
In addition, DB2 is still incomplete in providing APIs and functions. But the researchers at the Toronto lab are doing their best to improve this module, and we look forward to seeing more and more powerful functions in DB2 9.
At the same time, the high availability of all database systems is also a headache. High Availability in DB2 may be complicated for common users, but IBM has some classic technical documents for reference to help users set their own. For DBAs that manage multi-partition systems, it is important to reasonably set the partition key for how to coordinate each partition.
As a technical support team, it is most important to have a deep understanding of the communication and working mechanisms between different partitions. I remember reading an article saying that the share nothing architecture of DB2 is a lie. I personally think that it is because he only understood the multi-partition theory of DB2, however, we do not understand the allocation of memory CPU and disk resources.
Many people may think that DB2 is much more complicated than other database systems, but I think it is because these people do not know their underlying architecture and models. After understanding DB2, we will find that every module is carefully designed. If the system can be fully optimized, many common database problems will not occur.