Essay sample library > High Availability Database System

High Availability Database System

2023-08-28 15:04:19

For very large applications, higher levels of accessibility are expected from database management systems (DBMS), real-time systems, embedded systems, Internet applications, and other types of online systems. Availability can be defined as the time that a system or resource is available. The definition of high availability is usually measured as a percentage of absolute availability, 100% indicates that the resource is always available and has no downtime.

In recent years, there is a strong need for a large-scale distributed database with high partition tolerance, but according to CAP theorem, distributed systems can not provide consistency, availability, and partition fault tolerance at the same time. Distributed systems can meet any two of these guarantees, but can not meet all three. For this reason, many NoSQL databases use so-called final consistency to provide availability and partition fault tolerance while reducing data consistency.

Fragmentation in the world of block chains is similar to database fragmentation in traditional software systems. In traditional databases, partitioning is a horizontal partitioning of the data in the database, and each partition is stored in a separate database server instance. This allows you to distribute the load to different servers. There are several ways to implement messaging. In the case of Ethereum, the approach they adopt is the "receipt" paradigm. When a transaction within a fragment is executed, it can change the state of its own local fragment and generate a "receipt" that is also stored in the distribution. Shared memory. You can see it later (but not changed) later.

Fragmentation is a very old concept in centralized database design. Database partitioning is the horizontal partitioning of the data in the database. Individual partitions are called slices or database slices. Each piece is stored in a separate database server instance to distribute the load. This means that the database is divided into separate databases that do not share public data. Since you can add fragments for unlimited extensions, it allows for horizontal expansion of any database system. Today, most databases such as MongoDB and MySQL support fragmentation. Therefore, technology is mature enough to become mainstream. Block chains have existed for a long time, but mainstream sharding adjustment is still not visible. One of the recommended ways is to use multiple fragments. Each piece can be processed according to the address range of the sender.