Data most essential parts of computer technology.
Data base systems are one of the most essential parts ofcomputer technology. Relational database systems were being used widely. Theyare being used in many domains like payroll, billing, medical records and nowin e-commerce as well. When it comes to implementingdatabase systems several architectural styles are available, and they are implementedas per business needs.
For example, memory is shared among resources, which allowsimprove performance and give a sense of parallel processing. The only challengeencountered in this process is to keep track of update on the final database.In case of shared nothing, no hardware is shared among the machines and theyrun independently of each other. In case of shared disk all the machines areable to share the same disk but an unable to share the RAM. One of the majoradvantage of this is that even if one node fails it does not affect the othernodes. The query processor that sits on the top of the data base management system,takes input in SQL format and processes into executable plan and then executeit.
This called as query processing which is a single user and single threadedtask. The SQL query parsing check the correctness of SQL command, converts intointernal format and verifies whether the user is authorized to operate the command.The first step in this entire process is the canonicalization of the query. Itinvokes the catalog manager to check if the table is present. The next step isto ensure correct permission on table i.e.
SELECT/DELETE etc. After checking forthe constraints, if the query is passed, it is then send to rewrite module. Therewrite module mainly handles the view expansion for various views and updatesthem accordingly. It also aims at semantic optimization.
The next step iscarried out by query optimizer which creates an execution plan i.e a data flowdiagram which shows how the data flows through the queries. Many query optimizationare based on Selinger’s principles however, there are certain exception whichdoes not apply this dynamic programing and instead use top down approach. Oneof the major task of query optimizer is the speed up the task. In cases ofWRITE/UPDATE statements, the role of query optimizer becomes critical in the senseto ensure correct updates on the data.
Different techniques like to avoid updatingindexes on the updated columns or use batch read write scheme. The queryinterpreter is a runtime interpreter which receives query from the optimizerwhich is in low-level code i.e. the graph format and then invokes the procedureresolving each flow. The data is stored in the format of tuples for input andoutput which has an array reference to these columns and each iterator isallocated a space in the database. These tuples may reside either in buffer poolor in memory heap. The access methods are used to provide access to iterator.The basic API for this is init() method.
For most applications one the metric used to estimate theperformance of query processing is the time take for entire query processingi.e. time to query completion.
However, different query performance measure arealso used in different cases. Large data warehouses which store historical dataform one of the essential part of this system. The initial system of data /batchprocessing was replaced with OLTP and this was then replaced with ETL. However,with data warehouse there are several issues associated.
In this case the datais first loaded and then the data is static for months while in the earliercase the B+- trees are optimized for fast processing. Another problem withwarehouses is that they offer materialize view which leads to longer processingtime. Another problem is that data cubes in ROLAP can provide high performancefor know queries but do not provide the same for unknown query. Databases initiallywere able to store more of numeric or facts and figure related data however,they have evolved to store different data formats which has lead to dataextensibility. With this abstract data types, XML tags and full text search isenabled. In most data base systems the architectures is similar tothe one that was discussed however finer details are modified as per businessrequirements.
These systems have evolvedover the time and have been able to cater to newer demands.