DBMS Architecture – the Layer Model and its Evolution
DBMS Architecture – the Layer Model and its Evolution
复制标题
DBMS 架构 – 层模型及其演变
DOI:
--
复制
发表时间:
2005
期刊:
影响因子:
--
通讯作者:
T. Härder
中科院分区:
文献类型:
--
作者:
T. Härder
machine of layer i. Hence, in the worst case, six formal interfaces have to be crossed before data stored on disk is reached to evaluate a DB request. This performance-critical observation prompts us to reconsider the number of system layers. On the one hand, a growing number of layers reduces the complexity of the individual layers which, in turn, facilitates system evolution. On the other hand, a growing number of interfaces to be crossed for the DB request execution increases the runtime overhead and generally reduces the DBMS optimization potential. Due to the ideal layer encapsulation, each service invocation implies parameter checking, additional data transport, and more difficult handling of non-local errors. For example, the requested data has to be copied – in its layer-specific format – from layer to layer up to the requestor. In the same way, data modified has to be propagated – again in its layer-specific format – eventually down to the disk. Hence, the number of layers seems to have a major influence on the overall system performance5. Above all, data copying and update propagation should be minimized across the system layers. However, our proposed architectural DBMS model is already a compromise between layer complexity/system evolution potential and request optimization/run-time overhead, as far as adequate data mapping is concerned. Our discussion in section 2.2 already revealed the way to reduce the performance penalty introduced by the layered structure of our model. Based on these observations, we propose run-time optimizations to our static five-layer model leading to two or three effective layers in the dynamic case. As illustrated in Fig. 2, L5 is replaced by the access module whose operations directly refer to the L4 interface. At the other side, the use of a large DB buffer effectively reduces disk 5. For DBMSs, it is especially true: »Performance is not everything, but without performance everything is worth nothing.« accesses such that almost all logical page references can be located by L2 in memory. There are precompilation approaches conceivable where the access module directly maps the SQL requests to the L3 interface to further save the crossing of the L4 interface. Hence, query preparation is pushed as far as possible. Even ad-hoc queries may be prepared in this way, because it turned out that generated access code is more effective than query interpretation. In this way, the extra cost of preparation (which extends the query response time in this case) is quickly amortized especially when large sets of records have to be accessed [Chamberlin et al. 1981a]. On the other hand, some systems pass on query preparation (at program compile time) and use – at the cost of extending the query response time – interpreters which can be understood as replacements of L5 at run time. An interpreter is a general program which, in this case, accepts any SQL statement as input and immediately produces its query result thereby referring to the L4 interface. Mixed approaches use a preparation phase at compile time, but do not go to the extreme – the access module. They prepare intermediate query artifacts such as query graphs or execution plans in varying details, and use specific interpreters that »execute« these artifacts at run time by invoking L4 operations (and, in turn, lower-layer operations). 2.4 Binding and Information Channels Compilation and early binding are good ideas. Of course, important aspects have to be observed when dealing with the compilation/optimization problem. Lack of run-time parameter values introduces Fig. 2: DBMS model at run time L4