Data Storage and Querying




A database system is partitioned into modules that deal with each of the responsibilities
of the overall system. The functional components of a database
system can be broadly divided into the storage manager and the query processor
components.


The storage manager is important because databases typically require a large
amount of storage space. Corporate databases range in size from hundreds of
gigabytes to, for the largest databases, terabytes of data. A gigabyte is approximately
1000 megabytes (actually 1024) (1 billion bytes), and a terabyte is 1 million
megabytes (1 trillion bytes). Since the main memory of computers cannot store
this much information, the information is stored on disks. Data are moved between
disk storage and main memory as needed. Since the movement of data
to and from disk is slow relative to the speed of the central processing unit, it is
imperative that the database system structure the data so as to minimize the need
to move data between disk and main memory.


The query processor is important because it helps the database system to
simplify and facilitate access to data. The query processor allows database users
to obtain good performance while being able to work at the view level and not be
burdened with understanding the physical-level details of the implementation of
the system. It is the job of the database system to translate updates and queries
written in a nonprocedural language, at the logical level, into an efficient sequence
of operations at the physical level.


1. Storage Manager


The storage manager is the component of a database system that provides the
interface between the low-level data stored in the database and the application
programs and queries submitted to the system. The storage manager is responsible
for the interaction with the file manager. The raw data are stored on the
disk using the file system provided by the operating system. The storage manager
translates the various DML statements into low-level file-system commands.
Thus, the storage manager is responsible for storing, retrieving, and updating
data in the database.


The storage manager components include:


Authorization and integrity manager, which tests for the satisfaction of
integrity constraints and checks the authority of users to access data.


Transaction manager, which ensures that the database remains in a consistent
(correct) state despite system failures, and that concurrent transaction
executions proceed without conflicting.


File manager, which manages the allocation of space on disk storage and the
data structures used to represent information stored on disk.


Buffer manager,which is responsible for fetching data from disk storage into
main memory, and deciding what data to cache in main memory. The buffer
manager is a critical part of the database system, since it enables the database
to handle data sizes that are much larger than the size of main memory.


The storage manager implements several data structures as part of the physical
system implementation:


Data files, which store the database itself.


Data dictionary, which stores metadata about the structure of the database,
in particular the schema of the database.


Indices, which can provide fast access to data items. Like the index in this
textbook, a database index provides pointers to those data items that hold a
particular value. For example, we could use an index to find the instructor
record with a particular ID, or all instructor records with a particular name.
Hashing is an alternative to indexing that is faster in some but not all cases.


2. The Query Processor


The query processor components include:


DDL interpreter,which interprets DDL statements and records the definitions
in the data dictionary.


DML compiler,which translates DML statements in a query language into an
evaluation plan consisting of low-level instructions that the query evaluation
engine understands.

     A query can usually be translated into any of a number of alternative
evaluation plans that all give the same result. The DMLcompiler also performs
query optimization; that is, it picks the lowest cost evaluation plan from
among the alternatives.


Query evaluation engine, which executes low-level instructions generated
by the DML compiler.
 



Frequently Asked Questions

+
Ans: A relational database is based on the relational model and uses a collection of tables to represent both data and the relationships among those data. view more..
+
Ans: A relational database is based on the relational model and uses a collection of tables to represent both data and the relationships among those data. view more..
+
Ans: A relational database is based on the relational model and uses a collection of tables to represent both data and the relationships among those data. view more..
+
Ans: A database system is partitioned into modules that deal with each of the responsibilities of the overall system. The functional components of a database system can be broadly divided into the storage manager and the query processor components. view more..
+
Ans: A transaction is a collection of operations that performs a single logical function in a database application. view more..
+
Ans: The architecture of a database system is greatly influenced by the underlying computer system on which the database system runs. Database systems can be centralized, or client-server, where one server machine executes work on behalf of multiple client machines. view more..
+
Ans: The term data mining refers loosely to the process of semi-automatically analysing large databases to find useful patterns. view more..
+
Ans: Researchers have developed several data-models to deal with these application domains, including object-based data models and semi-structured data models. view more..
+
Ans: A primary goal of a database system is to retrieve information from and store new information into the database. People who work with a database can be categorized as database users or database administrators. view more..
+
Ans: Information processing drives the growth of computers, as it has from the earliest days of commercial computers. In fact, automation of data processing tasks predates computers. view more..
+
Ans: A relational database consists of a collection of tables, each of which is assigned a unique name. view more..
+
Ans: The database schema is the logical design of the database. view more..
+
Ans: A super-key is a set of one or more attributes that, taken collectively, allow us to identify uniquely a tuple in the relation. view more..
+
Ans: DBMS typically includes a database security and authorization subsystem that is responsible for ensuring the security of portions of a database against unauthorized access view more..
+
Ans: The typical method of enforcing discretionary access control in a database system is based on the granting and revoking of privileges. Let us consider privileges in the context of a relational DBMS. view more..
+
Ans: This chapter discusses techniques for securing databases against a variety of threats. It also presents schemes of providing access privileges to authorized users. view more..
+
Ans: This chapter discusses techniques for securing databases against a variety of threats. It also presents schemes of providing access privileges to authorized users. view more..
+
Ans: Object databases is the power they give the designer to specify both the structure of complex objects and the operations that can be applied to these objects view more..




Rating - 4/5
523 views

Advertisements