0% found this document useful (0 votes)
82 views

What Is in A Relational Database Model?

A relational database organizes data into tables with rows and columns, where each table has a unique primary key. Relationships between tables are established through foreign keys. This structure allows data to be queried and reassembled in different ways without changing the database tables. Relational databases use SQL for querying and reporting and provide flexibility, accuracy, collaboration and security advantages over alternative data storage methods.

Uploaded by

H Yasir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

What Is in A Relational Database Model?

A relational database organizes data into tables with rows and columns, where each table has a unique primary key. Relationships between tables are established through foreign keys. This structure allows data to be queried and reassembled in different ways without changing the database tables. Relational databases use SQL for querying and reporting and provide flexibility, accuracy, collaboration and security advantages over alternative data storage methods.

Uploaded by

H Yasir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

A relational database is a set of formally described tables from which data can

be accessed or reassembled in many different ways without having to


reorganize the database tables. The standard user and application
programming interface (API) of a relational database is the Structured Query
Language (SQL). SQL statements are used both for interactive queries for
information from a relational database and for gathering data for reports.

What is in a relational database model?

The relational database was invented in 1970 by E. F. Codd, then a young


programmer at IBM. In his paper, "A Relational Model of Data for Large Shared Data
Banks," Codd proposed shifting from storing data in hierarchical or navigational
structures to organizing data in tables containing rows and columns.

Each table, which is sometimes called a relation, in a relational database contains one
or more data categories in columns, or attributes. Each row, also called
a record or tuple, contains a unique instance of data, or key, for the categories defined
by the columns. Each table has a unique primary key, which identifies the information
in a table. The relationship between tables can then be set via the use of foreign keys -
- a field in a table that links to the primary key of another table.

For example, a typical business order entry database would include a table that
described a customer with columns for name, address, phone number and so forth.
Another table would describe an order: product, customer, date, sales price and so
forth. A user of a relational database can then obtain a view of the database to fit their
needs. For example, a branch office manager might like a view or report on all
customers that bought products after a certain date. A financial services manager in
the same company could, from the same tables, obtain a report on accounts that need
to be paid.

When creating a relational database, you can define the domain of possible values in a
data column and further constraints that may apply to that data value. For example, a
domain of possible customers could allow up to 10 possible customer names but be
constrained in one table to allowing only three of these customer names to be
specifiable. Two constraints relate to data integrity and the primary and foreign keys:

 Entity integrity ensures that the primary key in a table is unique and that the
value is not set to null.

 Referential integrity requires that every value in a foreign key column will be
found in the primary key of the table from which it originated.
Examples of relational databases

Standard relational databases enable users to manage predefined data relationships


across multiple databases. Popular examples of relational databases include Microsoft
SQL Server, Oracle Database, MySQL and IBM DB2.

Cloud-based relational databases, or database as a service (DBaaS), are also widely


used because they enable companies to outsource database maintenance, patching and
infrastructure support requirements. Cloud relational databases include Amazon
Relational Database Service (RDS), Google Cloud SQL, IBM DB2 on Cloud, SQL
Azure and Oracle Cloud.

Types of databases

There are a number of database categories, from basic flat files that aren't relational to
NoSQL to newer graph databases that are considered even more relational than
standard relational databases.

A flat file database consists of a single table of data that has no interrelation --
typically text files. This type of file enables users to specify data attributes, such as
columns and data types.
A NoSQL database is an alternative to relational databases that's especially useful for
working with large sets of distributed data. These databases can support a variety of
data models, including key-value, document, columnar and graph formats.

A graph database expands beyond traditional column- and row-based relational data
models; this NoSQL database uses nodes and edges that represent connections
between data relationships and can discover new relationships between the data.
Graph databases are more sophisticated than relational databases, and thus, their uses
include fraud detection or web recommendation engines.

An object relational database (ORD) is composed of both a relational database


management system (RDBMS) and an object-oriented database management system
(OODBMS). An ORD contains characteristics of both the RDBMS and OODBMS
models. In an ORD, a traditional database is used to store the data. It is then accessed
and manipulated using queries written in a query language, such as SQL. Therefore,
the basic approach of an ORD is based on a relational database.

However, an ORD can also be considered object storage, particularly for software
written in the object-oriented programming language (OOP), thus pulling on object-
oriented characteristics. In this situation, APIs are utilized in the storage and retrieval
of data.

Advantages of relational databases

The main advantage of relational databases is that they enable users to easily
categorize and store data that can later be queried and filtered to extract specific
information for reports. Relational databases are also easy to extend and aren't reliant
on physical organization. After the original database creation, a new data category can
be added without all existing applications being modified.

Other relational database advantages include:

 Accuracy: Data is stored just once, eliminating data deduplication.


 Flexibility: Complex queries are easy for users to carry out.

 Collaboration: Multiple users can access the same database.

 Trust: Relational database models are mature and well-understood.

 Security: Data in tables within a RDBMS can be limited to allow access by only
particular users.
Differences between a database and a relational database

The majority of software products in today's market incorporate both relational


database and regular database compliances. Therefore, they can manage databases in
the relational tabular form as well as in file form, or both. Essentially, in today's
market, a relational database is a database and vice versa; however, there are still
major differences in data storage between the two systems.

The most important difference is that a relational database stores data in a


tabular form -- or arranged in a table with rows and columns -- while a
database stores data as files. Other differences include:

 Database normalization is present in a relational database while it is not


present in a database.

 A relational database supports a distributed database while a database


does not support a distributed database.

 In a relational database, the data values are stored in the form of tables
and each table possesses a primary key. In a database, data is normally
stored in hierarchical or navigational form.

 Since data is stored in the form of tables in a relational database, then the
relationship between these data values is stored as well. Since a database
stores data as files, then there is not relationship between the values or
tables.
 In a relational database, the integrity constraints are defined for the
purpose of an ACIDOn the other hand, a database does not utilize any
security to protect against data manipulation.

 While a relational database is designed to support large amounts of data


and multiple users, a database is designed to deal with small amounts of
data and one single user.

One final, major distinction is that the data storage in a relational database is
accessible, meaning the value can be updated by the system. Furthermore,
the data within an RDBMS is physically and logically independent.

Physical data independence refers to a system's capacity to make changes to


the inner schema without altering the external schemas or application
programs. Inner schema alterations may include:

 the use of new storage devices;

 modifying indexes;

 changing from a specific access method to a different one;

 utilizing different data structures and

 using various storage structures or file organizations.

Logical data independence is a system's ability to alter the conceptual schema


without altering the external schema or application programs. Conceptual
schema alterations may include the addition or deletion of new relationships,
entities or attributes without altering existing external schemas or rewriting
application programs.
Presentation on theme: "Basis for Distributed Database
Technology"— Presentation transcript:
1 Basis for Distributed Database Technology
Database System Technology (DST)controlled access to structured dataaims towards centralized
(single site) computingComputer Networking Technology (CNT)facilitates distributed computinggoes
against centralized computingDistributed Database Technology = DST + CNTaims to achieve
integration without centralizationbrief eplanation about CPS, flexible manufacturing3

2 What is distributed? Processing Logic Function Data Control


All the above modes of distribution are necessary and important for distributed database
technologybrief eplanation about CPS, flexible manufacturing3

3 Distributed database system


A distributed database is a collection of multiple, logically interrelated databases distributed over a
computer network.A distributed database management system (DDBMS) is a software system that
permits the management of the distributed databases and makes the distribution transparent to the
users.differentiate collaboration and coordination, trade-offs.4

4 What is not a DDBMS?A DDBMS is not a “collection of files” that can be stored at each node of a
computer network.A multiprocessor system based DBMS (parallel database system) is not a
DDBMS.A DDBMS is not a system wherein data resides only at one node.bring on slides of Mohan
into the other transparency5

5 Aims of Distributed DBMS - Transparent Management of Distributed & Replicated Data


Transparency refers to separation of the higher-level semantics of a system from lower-level
implementation details.From data independence in centralized DBMS to fragmentation transparency
in DDBMS.Who should provide transparency? - DDBMS!motivation and major issues

6 Aims of Distributed DBMS - Reliability through Distributed Transactions


Distributed DBMS can use replicated components to eliminate single point failure.The users can still
access part of the distributed database with “proper care” even though some of the data is
unreachable.Distributed transactions facilitate maintenance of consistent database state even when
failures occur.motivation and major issues

7 Aims of Distributed DBMS - Improved Performance


Since each site handles only a portion of a database, the contention for CPU and I/O resources is
not that severe. Data localization reduces communication overheads.Inherent parallelism of
distributed systems may be exploited for inter-query and intra-query parallelism.Performance models
are not sufficiently developed.motivation and major issues

8 Aims of Distributed DBMS - Easier System Expansion


Ability to add new sites, data, and users over time without major restructuring.Huge centralized
database systems (mainframes) are history (almost!).PC revolution (Compaq buying Digital, 1998)
will make natural distributed processing environments.New applications (such as, supply chain) are
naturally distributed - centralized systems will just not work.motivation and major issues
9 Complicating FactorsData may be replicated in a distributed environment. Therefore, DDBMS is
responsible for (i) choosing one of the stored copies of the requested data, and (ii) making sure that
the effect of an update is reflected on each and every copy of that data item.Maintaining consistency
of distributed/replicated data.Since each site cannot have instantaneous information on the actions
currently carried out in other sites, the synchronization of transactions at multiple sites is harder than
centralized system.and Complexity, Cost, Distribution of control, Security,...motivation and major
issues

10 Problem Areas Distributed Database Design Distributed Query Processing


Distributed Directory ManagementDistributed Concurrency ControlDistributed Deadlock
ManagementReliability of Distributed DatabasesOperating Systems SupportHeterogeneous
Databasesmotivation and major issues

11 Relationship among Problems


Directory ManagementQuery ProcessingDistributed DB DesignReliabilityConcurrency
ControlDeadlock Managementmotivation and major issues

12 Transparency and Architecture issues in DDBMSs


Basic introduction, how many years project, how many people working on it1

13 Top-Down DDBMS Architecture - Classical


Global SchemaFragmentation SchemaSite IndependentSchemasAllocation SchemaLocal Mapping
Schema ILocal Mapping Schema IOther sitesDBMS IDBMS Idifferentiate collaboration and
coordination, trade-off.Local Database ILocal Database 2Site 1Site 24

14 Top-Down DDBMS Architecture - Classical


Global Schema: a set of global relations as if database were not distributed at allFragmentation
Schema: global relation is split into “non-overlapping” (logical) fragments. 1:n mapping from relation
R to fragments Ri.Allocation Schema: 1:1 or 1:n (redundant) mapping from fragments to sites. All
fragments corresponding to the same relation R at a site j constitute the physical image Rj. A copy of
a fragment is denoted by Rji.Local Mapping Schema: a mapping from physical images to physical
objects, which are manipulated by local DBMSs.

15 Global Relations, Fragments and Physical Images


(Site2)(Site 1)(Site3)Physical ImagesFragmentsSeparating concepts of fragmentation and
allocationExplicit control of redundancyIndependence from local databasesAllows for:Fragmentation
TransparencyLocation TransparencyLocal Mapping Transparency

16 Rules for Data Fragmentation


Completeness: All the data of the global relation must be mapped into fragments.Reconstruction: It
must always be possible to reconstruct each global relation from its fragments.Disjointedness: It is
convenient if the fragments are disjoint so that the replication of data can be controlled explicitly.

17 Types of Data Fragmentation


Vertical FragmentationProjection on relation (subset of attributes)Reconstruction by joinUpdates
require no tuple migrationHorizontal FragmentationSelection on relation (subset of
tuples)Reconstruction by unionUpdates may requires tuple migrationMixed FragmentationA
fragment is a Select-Project query on relation.Vertical FragmentationHorizontal Fragmentation
18 Levels of Distribution Transparency
Fragmentation Transparency: Just like using global relations.Location Transparency: Need to know
fragmentation schema; but need not know where fragments are located. Applications access
fragments (no need to specify sites where fragments are located).Local Mapping Transparency:
Need to know both fragmentation and allocation schema; no need to know what the underlying local
DBMSs are. Applications access fragments explicitly specifying where the fragments are located.No
Transparency: Need to know local DBMS query languages, and write applications using functionality
provided by the Local DBMS

19 Why is support for transparency difficult?


There are tough problems in query optimization and transaction management that need to be
tackled (in terms of system support and implementation) before fragmentation transparency can be
supported.Less distribution transparency the more the end-application developer needs to know
about fragmentation and allocation schemes, and how to maintain database consistency.Higher
levels of distribution transparency require appropriate DDBMS support, but makes end-application
developers work easy.

20 Some Aspects of top-down architecture


Distributed database technology is an “add-on” technology, most users already have populated
centralized DBMSs. Whereas top down design assumes implementation of new DDBMS from
scratch.In case of OODBMs, top-down architecture makes sense because most OODBMs are going
to be built from scratch.In many application environments, such as semi-structured databases,
continuous multimedia data, the notion of fragment is difficult to define.Current relational DBMS
products provide for some form of location transparency (such as, by using nicknames).

21 Bottom up Architecture - Present & Future


Possible ways in which multiple databases may be put together for sharing by multiple DBMSs.The
DBMSs are characterized according toAutonomy - degree to which individual DBMSs can operate
independently. Tightly coupled - integrated (A0), Semiautonomous -federated (A1), Total Isolation -
multidatabase systems(A2)Distribution - no distribution - single site (D0), client-server - distribution
of DBMS functionality (D1), full distribution - peer to peer distributed architecture(D2)Heterogeneity -
homogeneous (H0) or heterogeneous (H1)

22 Distributed DBMS Implementation Alternatives


Distribution(A0,D2,H0)(A2,D2,H1)AutonomyHeterogeneity

23 Architectural Alternatives
(A0,D0,H0): multiple DBMSs that are logically integrated at single site - composite
systems.(A0,D0,H1): multiple database managers that are heterogeneous but provide integrated
view to the user.(A0,D1,H0): client-server based DBMS.(A0,D2,H0): Classical distributed database
system architecture.(A1,D0,H0): Single site, homogeneous, federated database systems - not
realistic.(A1,D0,H1): heterogeneous federated DBMS, having common interface over disparate
cooperating specialized database systems.

24 Architectural Alternatives
(A1,D1,H1): heterogeneous federated database systems with components of the systems placed at
different sites.(A2,D0,H0): homogeneous multidatabase systems at a single site.(A2,D0,H1):
heterogeneous multidatabase systems at a single site.(A2,D1,H1) & (A2,D2,H1): distributed
heterogeneous multidatabase systems. In case of client-server environments it creates a three layer
architecture. Interoperability is the major issue.Autonomy, distribution, heterogeneity are orthogonal
issues.
25 Client/Server Database Systems
Distinguish and divide the functionality to be provided into two classes: server functions and client
functions. That is, two level architecture. Made popular by relational DBMS implementations.DBMS
client: user interface, application, consistency checking of queries, and caching and managing locks
on cached data.DBMS Server: handles query optimization, data access and transaction
management.Typical scenarios: multiple clients/single server; multiple client/multiple servers
(dedicated home-server or any server)

26 Client/Server Reference Architecture


User InterfaceApplication ProgramOperating SystemClient DBMSCommunication softwareSQL
QueriesResult RelationCommunication softwareSemantic Data ControllerQuery
OptimizerOperatingTransaction ManagerRecovery ManagerRuntime Support
ProcessorSystemDatabase

27 Distributed Database Reference Architecture


ES1ES2ESnGCSLCS1LCS2LCSnLIS1LIS2LISn

28 Components of Distributed DBMS


UserSystem ResponsesUser RequestsExternal SchemaUser Interface HandlerUser
ProcessorGlobal Conceptual SchemaSemantic Data ControllerGD/DGlobal Query OptimizerGlobal
Execution MonitorLocal Conceptual SchemaLocal Query ProcessorData ProcessorLocal Recovery
ManagerSystem LogLocal Internal SchemaRuntime Support ProcessorDatabase

29 MDBS Architecture With Global Schema


GES1GES2GES3LES11LES12LES13GCSLESn1LESn2LESn3LCS1LCSnLIS1LISn

30 MDBS Architecture without Global Schema


ES1ES2ESnMultidatabaseLayerLocal DatabaseSystem LayerLCS1LCS2LCSnLIS1LIS2LISn

31 Components of MDBS User System Responses User Requests


Multi-DBMS LayerQuery ProcessorQuery ProcessorTransaction ManagerTransaction
ManagerSchedulerSchedulerRecovery ManagerRecovery ManagerRuntime Support
ProcessorRuntime Support ProcessorDatabaseDatabase

32 Global Directory Issues


Directory is itself a database that contains meat-data about the actual data stored in the database. It
includes the support for fragmentation transparency for the classical DDBMS architecture.Directory
can be local or distributed.Directory can be replicated and/or partitioned.Directory issues are very
important for large multi-database applications, such as digital libraries.

33 Impact of new technologies


Internet and WWWSemi-structured data, multimedia dataKeyword based search - browsing versus
queryingWhat does integration mean?Applied technologiesWorkflow systemsData warehousing &
Data miningWhat is the role of distributed database technology?

34 Research Issues - DDBMS Technology


Evaluation of state of the art data replication strategies.On-line distributed relational database
redesign.Distributed object-oriented database systems - design (fragmentation, allocation), query
processing (methods execution, transformation), transaction processingWWW and Internet -
transparency issues, implementation strategies (architecture, scalability), On-line transaction
processing, On-line analytical processing (data warehousing , data mining), query processing
(STRUDEL, WebSQL), commit protocols

35 Research Issues - Applications


Workflow systems - High throughput (supply chain, Amazon,..) short, sweet, and robust versus ad-
hoc (office automation) problem solving.Electronic commerce - reliable high throughput, distributed
transactions.Distributed multimedia - QoS, real-time delivery, design and data allocation, MPEG-4
aspects.

Bandwidth
Bandwidth describes the maximum data transfer rate of
a network or Internetconnection. It measures how much data can be sent over a
specific connection in a given amount of time. For example, a
gigabit Ethernet connection has a bandwidth of 1,000 Mbps, (125 megabytes per
second). An Internet connection via cable modem may provide 25 Mbps of
bandwidth.

While bandwidth is used to describe network speeds, it does not measure how
fast bitsof data move from one location to another. Since data packets travel over
electronic or fiber optic cables, the speed of each bit transferred is negligible.
Instead, bandwidth measures how much data can flow through a specific
connection at one time.

When visualizing bandwidth, it may help to think of a network connection as a


tube and each bit of data as a grain of sand. If you pour a large amount of sand into
a skinny tube, it will take a long time for the sand to flow through it. If you pour
the same amount of sand through a wide tube, the sand will finish flowing through
the tube much faster. Similarly, a download will finish much faster when you have
a high-bandwidth connection rather than a low-bandwidth connection.

Data often flows over multiple network connections, which means the connection
with the smallest bandwidth acts as a bottleneck. Generally, the
Internet backbone and connections between servers have the most bandwidth, so
they rarely serve as bottlenecks. Instead, the most common Internet bottleneck is
your connection to your ISP.

NOTE: Bandwidth also refers to a range of frequencies used to transmit a signal.


This type of bandwidth is measured in hertz and is often referenced in signal
processing applications.
Packet Switching
Packet switching is the process of transmitting data in small units called as packets. In packet
switching, data that is to be transmitted is split into smaller units. A small header containing
signalling/addressing information about the source and destination nodes is added to each such
small data unit, to form packets. Each packet is then routed from the source to the destination by
intermediate data exchange devices, using the signalling information present in each packet. Packet
switching is the switching method used in data networks for computer communication.

The diagram given below illustrates basic packet switching between a sender and a receiver through
a packet switched data network.

Circuit Switching

Circuit switching is primarily used in Telephone networks and not in Computer networks. In circuit
switching,

 An End to end circuit (path) is first reserved using a separate signaling protocol
 Data transfer proceeds only after the circuit establishment phase
 All data of that session passes through the same circuit
 No other user can use this circuit till this session is completed
 No signaling information is sent along with the data
 Circuit is released after data transfer using the signaling protocol

TCP/IP (Transmission Control


Protocol/Internet Protocol)
Posted by: Margaret Rouse

WhatIs.com

Contributor(s): Kate Gerwig





TCP/IP, or the Transmission Control Protocol/Internet Protocol, is a suite of


communication protocols used to interconnect network devices on the
internet. TCP/IP can also be used as a communications protocol in a private
network (an intranet or an extranet).

The entire internet protocol suite -- a set of rules and procedures -- is


commonly referred to as TCP/IP, though others are included in the suite.

TCP/IP specifies how data is exchanged over the internet by providing end-to-
end communications that identify how it should be broken into packets,
addressed, transmitted, routed and received at the destination. TCP/IP
requires little central management, and it is designed to make networks
reliable, with the ability to recover automatically from the failure of any device
on the network.

The two main protocols in the internet protocol suite serve specific
functions. TCP defines how applications can create channels of
communication across a network. It also manages how a message is
assembled into smaller packets before they are then transmitted over the
internet and reassembled in the right order at the destination address.
IP defines how to address and route each packet to make sure it reaches the
right destination. Each gateway computer on the network checks this IP
address to determine where to forward the message.

The history of TCP/IP

The Defense Advanced Research Projects Agency (DARPA), the research


branch of the U.S. Department of Defense, created the TCP/IP model in the
1970s for use in ARPANET, a wide area network that preceded the internet.
TCP/IP was originally designed for the Unixoperating system, and it has been
built into all of the operating systems that came after it.

The TCP/IP model and its related protocols are now maintained by
the Internet Engineering Task Force.

How TCP/IP works

TCP/IP uses the client/server model of communication in which a user or


machine (a client) is provided a service (like sending a webpage) by another
computer (a server) in the network.

Collectively, the TCP/IP suite of protocols is classified as stateless, which


means each client request is considered new because it is unrelated to
previous requests. Being stateless frees up network paths so they can be
used continuously.

The transport layer itself, however, is stateful. It transmits a single message,


and its connection remains in place until all the packets in a message have
been received and reassembled at the destination.
The TCP/IP model differs slightly from the seven-layer Open Systems
Interconnection (OSI) networking model designed after it, which defines how
applications can communicate over a network.

TCP/IP model layers

TCP/IP functionality is divided into four layers, each of which include specific
protocols.

 The application layer provides applications with standardized data


exchange. Its protocols include the Hypertext Transfer Protocol (HTTP),
File Transfer Protocol (FTP), Post Office Protocol 3 (POP3), Simple Mail
Transfer Protocol (SMTP) and Simple Network Management Protocol
(SNMP).

 The transport layer is responsible for maintaining end-to-end


communications across the network. TCP handles communications
between hosts and provides flow control, multiplexing and reliability. The
transport protocols include TCP and User Datagram Protocol (UDP), which
is sometimes used instead of TCP for special purposes.
 The network layer, also called the internet layer, deals with packets and
connects independent networks to transport the packets across network
boundaries. The network layer protocols are the IP and the Internet Control
Message Protocol (ICMP), which is used for error reporting.

 The physical layer consists of protocols that operate only on a link -- the
network component that interconnects nodes or hosts in the network. The
protocols in this layer include Ethernet for local area networks (LANs) and
the Address Resolution Protocol (ARP).
Advantages of TCP/IP

TCP/IP is nonproprietary and, as a result, is not controlled by any single


company. Therefore, the internet protocol suite can be modified easily. It is
compatible with all operating systems, so it can communicate with any other
system. The internet protocol suite is also compatible with all types of
computer hardware and networks.

TCP/IP is highly scalable and, as a routable protocol, can determine the

UDP (User
most efficient path through the network.

Datagram Protocol)

Posted by: Margaret Rouse

WhatIs.com
Contributor(s): George Lawton and Chuck Moozakis





UDP (User Datagram Protocol) is an alternative communications protocol to


Transmission Control Protocol (TCP) used primarily for establishing low-
latency and loss-tolerating connections between applications on the internet.

Both UDP and TCP run on top of the Internet Protocol (IP) and are sometimes
referred to as UDP/IP or TCP/IP. But there are important differences between
the two.

Where UDP enables process-to-process communication, TCP supports host-


to-host communication. TCP sends individual packets and is considered a
reliable transport medium; UDP sends messages, called datagrams, and is
considered a best-effort mode of communications.

In addition, where TCP provides error and flow control, no such mechanisms
are supported in UDP. UDP is considered a connectionless protocol because
it doesn't require a virtual circuit to be established before any data transfer
occurs.

UDP provides two services not provided by the IP layer. It provides port
numbers to help distinguish different user requests and, optionally,
achecksum capability to verify that the data arrived intact.

TCP has emerged as the dominant protocol used for the bulk of internet
connectivity due to its ability to break large data sets into individual packets,
check for and resend lost packets, and reassemble packets in the correct
sequence. But these additional services come at a cost in terms of additional
data overhead and delays called latency.

In contrast, UDP just sends the packets, which means that it has much
lower bandwidthoverhead and latency. With UDP, packets may take different
paths between sender and receiver and, as a result, some packets may be
lost or received out of order.

Applications of UDP

UDP is an ideal protocol for network applications in which perceived latency is


critical, such as in gaming and voice and video communications, which can
suffer some data loss without adversely affecting perceived quality. In some
cases, forward error correction techniques are used to improve audio and
video quality in spite of some loss.

UDP can also be used in applications that require lossless data transmission
when the application is configured to manage the process of retransmitting
lost packets and correctly arranging received packets. This approach can help
to improve the data transfer rate of large files compared to TCP.

In the Open Systems Interconnection (OSI) communication model, UDP, like


TCP, is in Layer 4, the transport layer. UDP works in conjunction with higher
level protocols to help manage data transmission services including Trivial
File Transfer Protocol (TFTP), Real Time Streaming Protocol (RTSP), Simple
Network Protocol (SNP) and domain name system (DNS) lookups.

User datagram protocol features

The user datagram protocol has attributes that make it advantageous for use
with applications that can tolerate lost data.
 It allows packets to be dropped and received in a different order than they
were transmitted, making it suitable for real-time applications where
latency might be a concern.

 It can be used for transaction-based protocols, such as DNS or Network


Time Protocol.

 It can be used where a large number of clients are connected and where
real-time error correction isn't necessary, such as gaming, voice or video
conferencing, and streaming media.
UDP header composition

The User Datagram Protocol header has four fields, each of which is 2 bytes.
They are:

 source port number, which is the number of the sender;

 destination port number, the port the datagram is addressed to;

 length, the length in bytes of the UDP header and any encapsulated data;
and

 checksum, which is used in error checking. Its use is required in IPv6 and
optional in IPv4.
IEEE 802 is a family of IEEE standards dealing with local area networks and metropolitan area
networks.
More specifically, the IEEE 802 standards are restricted to networks carrying variable-size packets.
By contrast, in cell relay networks data is transmitted in short, uniformly sized units called
cells. Isochronous networks, where data is transmitted as a steady stream of octets, or groups of
octets, at regular time intervals, are also out of the scope of this standard. The number 802 was
simply the next free number IEEE could assign,[1] though "802" is sometimes associated with the
date the first meeting was held — February 1980.
The services and protocols specified in IEEE 802 map to the lower two layers (Data Link and
Physical) of the seven-layer OSI networking reference model. In fact, IEEE 802 splits the OSI Data
Link Layer into two sub-layers named logical link control (LLC) and media access control (MAC), so
the layers can be listed like this:

 Data link layer


 A framework, or software framework, is a platform for developing
software applications. It provides a foundation on which software
developers can build programs for a specific platform. For
example, a framework may include
predefined classes and functions that can be used to
process input, manage hardware devices, and interact
with system software. This streamlines the development process
since programmers don't need to reinvent the wheel each time
they develop a new application.
 A framework is similar to an application programming interface
(API), though technically a framework includes an API. As the
name suggests, a framework serves as a foundation for
programming, while an API provides access to the elements
supported by the framework. A framework may also include code
libraries, a compiler, and other programs used in the software
development process.
 Several different types of software frameworks exist. Popular
examples include ActiveXand .NET for Windows development,
Cocoa for Mac OS X, Cocoa Touch for iOS, and the Android
Application Framework for Android. Software development kits
(SDKs) are available for each of these frameworks and include
programming tools designed specifically for the corresponding
framework. For example, Apple's Xcode development software
includes a Mac OS X SDK designed for writing and compiling
applications for the Cocoa framework.
 In many cases, a software framework is supported natively by
an operating system. For example, a program written for the
Android Application Framework will run on an Android device
without requiring other additional files to be installed. However,
some applications require a specific framework in order to run.
For example, a Windows program may require Microsoft .NET
Framework 4.0, which is not installed on all Windows machines
(especially PCs running older versions of Windows). In this case,
the Microsoft .NET Framework 4 installer package must
be installed in order for the program to run.
 NOTE: While frameworks generally refer to broad software
development platforms, the term can also be used to describe a
specific framework within a larger programming environment.
For example, multiple Java frameworks, such as Spring, ZK, and
the Java Collections Framework (JCF) can be used to create Java
programs. Additionally, Apple has created several specific
frameworks that can be accessed by OS X programs. These
frameworks are saved with a .FRAMEWORK file extension and are
installed in the /System/Library/Frameworks directory.
Examples of OS X frameworks
include AddressBook.framework, CoreAudio.framework, CoreTex
t.framework, and QuickTime.framework.
 A framework, or software framework, is a platform for developing
software applications. It provides a foundation on which software
developers can build programs for a specific platform. For
example, a framework may include
predefined classes and functions that can be used to
process input, manage hardware devices, and interact
with system software. This streamlines the development process
since programmers don't need to reinvent the wheel each time
they develop a new application.
 A framework is similar to an application programming interface
(API), though technically a framework includes an API. As the
name suggests, a framework serves as a foundation for
programming, while an API provides access to the elements
supported by the framework. A framework may also include code
libraries, a compiler, and other programs used in the software
development process.
 Several different types of software frameworks exist. Popular
examples include ActiveXand .NET for Windows development,
Cocoa for Mac OS X, Cocoa Touch for iOS, and the Android
Application Framework for Android. Software development kits
(SDKs) are available for each of these frameworks and include
programming tools designed specifically for the corresponding
framework. For example, Apple's Xcode development software
includes a Mac OS X SDK designed for writing and compiling
applications for the Cocoa framework.
 In many cases, a software framework is supported natively by
an operating system. For example, a program written for the
Android Application Framework will run on an Android device
without requiring other additional files to be installed. However,
some applications require a specific framework in order to run.
For example, a Windows program may require Microsoft .NET
Framework 4.0, which is not installed on all Windows machines
(especially PCs running older versions of Windows). In this case,
the Microsoft .NET Framework 4 installer package must
be installed in order for the program to run.
 NOTE: While frameworks generally refer to broad software
development platforms, the term can also be used to describe a
specific framework within a larger programming environment.
For example, multiple Java frameworks, such as Spring, ZK, and
the Java Collections Framework (JCF) can be used to create Java
programs. Additionally, Apple has created several specific
frameworks that can be accessed by OS X programs. These
frameworks are saved with a .FRAMEWORK file extension and are
installed in the /System/Library/Frameworks directory.
Examples of OS X frameworks
include AddressBook.framework, CoreAudio.framework, CoreTex
t.framework, and QuickTime.framework.

What is a database table partitioning?


Partitioning is the database process where very large tables are divided into multiple smaller parts.
By splitting a large table into smaller, individual tables, queries that access only a fraction of the data
can run faster because there is less data to scan. The main of goal of partitioning is to aid in
maintenance of large tables and to reduce the overall response time to read and load data for
particular SQL operations.

Vertical Partitioning on SQL Server tables


Vertical table partitioning is mostly used to increase SQL Server performance especially in cases
where a query retrieves all columns from a table that contains a number of very wide text or BLOB
columns. In this case to reduce access times the BLOB columns can be split to its own table. Another
example is to restrict access to sensitive data e.g. passwords, salary information etc. Vertical
partitioning splits a table into two or more tables containing different columns:
An example of vertical partitioning
An example for vertical partitioning can be a large table with reports for employees containing basic
information, such as report name, id, number of report and a large column with report description.
Assuming that ~95% of users are searching on the part of the report name, number, etc. and that
only ~5% of requests are opening the reports description field and looking to the description. Let’s
assume that all those searches will lead to the clustered index scans and since the index scan reads
all rows in the table the cost of the query is proportional to the total number of rows in the table and
our goal is to minimize the number of IO operations and reduce the cost of the search.

What are the correctness rules for verifying fragmentation


What are the correctness rules for verifying fragmentation?
How do we verify the correctness of fragmentation?

Correctness rules of fragmentation


Fragmentation is the major concept in distributed database. We fragment a
table horizontally, vertically, or both and distribute the data to different
sites (servers at different geographical locations). While we perform the
fragmentation process, as a result we expect the following as outcomes;

 We should not lose data because of fragmentation


 We should not get redundant data because of fragmentation
Hence, to ensure these properties we need to verify that whether we
performed the fragmentation correctly or not. For this verification we use
the correctness rules. The rules are as follows;

 Completeness - To ensure that there is no loss of data due to


fragmentation. Completeness property ensures this by checking whether
all the records which were part of a table (before fragmentation) are found
in at least one of the fragments after fragmentation.
 Reconstruction - This rule ensures the ability to re-construct the
original table from the fragments that are created. This rule is to check
whether the functional dependencies are preserved or not.
If a table R is partitioned into fragments R1, R2, …, Rn,
thenReconstruction insists the following;
R = R1 U R2 U … U Rn

 Disjointness - This rule ensures that no record will become a part of


two or more different fragments during the fragmentation process.
If a table R is partitioned into fragments R1, R2, …, Rn,
thenDisjointness insists the following;
R1 ∩ R2 ∩ … ∩ Rn = Null set

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy