Data Replication
It is the process of storing data in more than one site or node. It is useful in improving the
availability of data. It is simply copying data from a database from one server to another
server so that all the users can share the same data without any inconsistency.
Types of Data Replication –
1. Transactional Replication: In Transactional replication users receive full initial
copies of the database and then receive updates as data changes. Data is copied in
real-time from the publisher to the receiving database(subscriber) in the same order
as they occur with the publisher therefore in this type of replication, transactional
consistency is guaranteed. Transactional replication is typically used in
server-to-server environments. It does not simply copy the data changes, but rather
consistently and accurately replicates each change.
2. Snapshot Replication: Snapshot replication distributes data exactly as it appears at
a specific moment in time and the does not monitor for updates to the data. The
entire snapshot is generated and sent to Users. Snapshot replication is generally
used when data changes are infrequent. It is a bit slower than transactional
because on each attempt it moves multiple records from one end to the other end.
Snapshot replication is a good way to perform initial synchronization between the
publisher and the subscriber.
3. Merge Replication: Data from two or more databases is combined into a single
database. Merge replication is the most complex type of replication because it
allows both publisher and subscriber to independently make changes to the
database. Merge replication is typically used in server-to-client environments. It
allows changes to be sent from one publisher to multiple subscribers.
Database Abstraction
Database systems comprise complex data structures. In order to make the system efficient in
terms of retrieval of data, and reduce complexity in terms of usability of users, developers use
abstraction i.e. hide irrelevant details from the users. This approach simplifies database
design.
Level of Abstraction in a DBMS
There are mainly 3 levels of data abstraction:
● Physical or Internal Level
● Logical or Conceptual Level
● View or External Level
Example: In case of storing customer data,
● Physical level – it will contains block of storages (bytes,GB,TB,etc)
● Logical level – it will contain the fields and the attributes of data.
● View level – it works with CLI or GUI access of database