Block data storage systems: when and why they are better

There are three main ways to organize data storage systems (DSS) in corporate IT systems and in the systems of cloud providers:

  • Block systems (Block Storage).
  • File systems (File Storage).
  • Object systems (Object Storage).

Block systems are so called because the data stored in them is divided into blocks of the same size. A data block is not a file, not a complete object, but simply some data in a piece of a fixed size (in English - chunk). A data file can be placed in a finite number of blocks, and if the last of those blocks is left unfilled, it will still have the same fixed size as the filled blocks. The server accesses these blocks via a SAN (storage attached network).

Block storage can be used by any operating system as a disk volume of that system. Each server can be provided with virtually unlimited disk size. The user sees this disk in the server operating system interface. The server OS can connect to data blocks via high-speed FC (Fiber Channel) or iSCSI interfaces. Therefore, the main advantage of block systems is high performance.

The server operating system can be either physical (host) or virtual (virtual machine). It should be noted that physical servers require additional controllers in order to access the source blocks.

The size of the blocks is determined by the equipment manufacturer. However, the architect developing the enterprise IT system design may determine the data block size depending on the configuration requirements and use case. The block size may also depend on the type of physical disks in the storage systems (HDD hard drives or SSD flash drives), as well as on the type of client data itself. Choosing the right disk size in many cases helps optimize the performance of the corporate IT system as a whole.

The server operating system assigns each data block a simple location ID, by which it can be quickly found in the SAN, which is why block storage has high performance.

Note that, for example, in object storage systems metadata (file type, file name, date, etc.) is used as such an identifier. It is clear that with such a mechanism, the time it takes to search for an object in the system increases, although object storage systems have many advantages for other situations.

When are block systems needed?

Typically, block storage systems are chosen when, when designing an IT system, parameters such as input output operations per second (IOPS) speed and latency (latency) of data access via SAN are critical. For example, these could be database servers or business-critical applications that require high performance and high reliability.

Databases such as Oracle or SAP Hana use block systems. VMware virtual machines also use block storage by default because it allows you to build a fast, feature-rich virtual infrastructure. Block storage can also be used in almost all data center architectures, be it a single server or highly reliable clustered server solutions.

Block storage systems are currently the undisputed leader in terms of share in corporate data storage both in small businesses and in the IT systems of large corporations.

The most common areas of application of block storage systems:

  • Business applications and DBMS (SQL database server), corporate CRM/ERP systems, such as servers, SAP, Navision and others.
  • Storage of data from e-commerce companies, various government agencies, etc.
  • Various virtualization systems: desktops, network functions, container technologies, etc.
  • Storing “raw” data received from Internet of Things (IoT) systems.

Block system

A chain hoist is used in cases where it is necessary to lift or move a heavy load with minimal effort, provide tension, etc. The simplest pulley system consists of just one block and a rope, and at the same time it allows you to halve the traction force required to lift a load.

Figure 1. Each moving block in the pulley gives a double gain in strength or speed

Typically, lifting mechanisms use power pulleys to reduce the tension of the rope, the moment from the weight of the load on the drum and the gear ratio of the mechanism (hoist, winch). High-speed pulleys, which make it possible to obtain a gain in the speed of movement of the load at low speeds of the drive element, are used much less frequently. They are used in hydraulic or pneumatic lifts, loaders, and telescopic boom extension mechanisms of cranes.

The main characteristic of the pulley is the multiplicity. This is the ratio of the number of branches of the flexible body on which the load is suspended to the number of branches wound on the drum (for power pulleys), or the ratio of the speed of the leading end of the flexible body to the driven end (for high-speed pulleys). Relatively speaking, the multiplicity is a theoretically calculated coefficient of gain in strength or speed when using a chain hoist. Changing the multiplicity of the pulley system occurs by introducing or removing additional blocks from the system, while the end of the rope with an even multiplicity is attached to a fixed structural element, and with an odd multiplicity - on the hook clip.

Figure 2. Rope fastening with even and odd multiplicity of pulley system

The gain in force when using a pulley with $n$ movable and $n$ fixed blocks is determined by the formula: $P=2Fn$, where $P$ is the weight of the load, $F$ is the force applied at the input of the pulley, $n$ - number of moving blocks.

Depending on the number of rope branches attached to the drum of the lifting mechanism, single (simple) and double chain hoists can be distinguished. In single pulley hoists, when winding or winding up a flexible element due to its movement along the axis of the drum, an undesirable change in the load on the drum supports is created. Also, if there are no free blocks in the system (the rope from the hook suspension block directly passes to the drum), the load moves not only in the vertical, but also in the horizontal plane.

Figure 3. Single and double pulleys

To ensure strictly vertical lifting of the load, double pulleys (consisting of two single ones) are used; in this case, both ends of the rope are fixed to the drum. To ensure the normal position of the hook suspension in case of uneven stretching of the flexible element of both pulleys, a balancer or equalizing blocks are used.

Figure 4. Methods to ensure vertical lifting of the load

High-speed pulleys differ from power pulleys in that in them the working force, usually developed by a hydraulic or pneumatic cylinder, is applied to a movable cage, and the load is suspended from the free end of a rope or chain. The gain in speed when using such a pulley is obtained as a result of increasing the height of the load.

When using pulleys, it should be taken into account that the elements used in the system are not absolutely flexible bodies, but have a certain rigidity, so the oncoming branch does not immediately fall into the stream of the block, and the running branch does not straighten out immediately. This is most noticeable when using steel ropes.

Question: why do construction cranes have a hook that carries the load, not attached to the end of the cable, but to the holder of the moving block?

Answer: to ensure vertical lifting of the load.

Block storage in the cloud

Block data storage is a very popular service of cloud providers. It makes it possible to use such useful quality as elasticity. That is, the user does not need to purchase storage equipment with a “reserve for the future.” He can order storage capacity from the provider in accordance with current needs and then quickly “reorder” it if necessary. In most cases, this process may take a few minutes. At the same time, the data will be well protected by the high availability of cloud storage services and cloud replication technology. In addition, the encryption provided by the cloud provider will prevent other servers using the same cloud storage system from gaining access to other people's data. Thus, when you need to quickly and inexpensively expand your existing block storage, using a block storage service in the cloud may be the best option.

If we talk not about the public, but about the private cloud of an IT system or data center (centers) of a large organization, then here too similar block storage mechanisms can be used. In this case, instead of different customers, whose data needs to be shared in the cloud, there will be divisions (departments, services, branches) of this organization. And here, the use of block storage will most often be the preferred option, since this technology provides high speed of the organization’s business processes, as well as sufficient flexibility in the redistribution of resources throughout the organization.

The golden rule of mechanics

Simple mechanisms do not give you a win at work. As much as we gain in strength, we lose in distance by the same amount. Since the work is equal to the scalar product of the force and the displacement, therefore, it will not change when using movable (as well as stationary) blocks.

In the form of a formula, the “golden rule” can be written as follows:

where is the path traversed by the point of application of force - the path traversed by the point of application of force.

The Golden Rule is the simplest formulation of the law of conservation of energy. This rule applies to cases of uniform or almost uniform movement of mechanisms. The translational distances of the ends of the ropes are related to the radii of the blocks ( and ) as:

We get that to fulfill the “golden rule” for a double block it is necessary that:

If the forces are balanced, then the block is at rest or moves uniformly.

Examples of using the block model

Let's create a simple page with a block element:

Example Site for CSS Box Model

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

It's just an HTML document with text inside a div container. In the browser it looks like this:

We've defined background colors for the block so you can see how it stretches across the screen. This will allow you to better understand what will happen next. Here's the relevant CSS:

.example-element { background-color: deepskyblue; }

Let's make a few changes.

Changing the width

The first thing we'll do is define the width. As mentioned earlier, its value is now 100%. To change it, we need to interact with the width property.

You can set different values ​​for it. We can use a fixed width like pixels or a proportional value like percentages. The last option is especially important for things like responsive design. However, for simplicity, we will make do with pixels.

Add a new property to the styles:

.example-element { background-color: deepskyblue; width: 300px; }

After the page reloads you should see the following:

You'll immediately notice how the div's stretching to the right is now limited. Also, as you can see, its height automatically changes to fit the inner text. Let's increase it even more.

Increasing the height of an element using CSS

Although the content fits well within the rectangle, sometimes there are good reasons to increase the height even more. For example, what if we want the element to be a square? This is quite achievable using the next property on our list - height.

With height we can do the same thing as with width: set a fixed or proportional value. Add to styles:

.example-element { background-color: deepskyblue; height: 300px; width: 300px; }

As a result, the page looks like this:

As you can see, the element has taken the shape we need, since we set the same values ​​for the height and width.

Getting to know the boundaries

Now let's change the boundaries. As mentioned, the boundaries already exist, we just don’t see them. Let's change this using the border property.

It's important to know that this property takes three values: width, style, and color. Width is responsible for the thickness of the border (usually in pixels), style can take the values ​​solid, dahsed, dotted, etc., and in color you can specify the color either with a word like “red” or with the hex value of the color.

In principle, it is quite simple to determine the thickness of the boundaries. However, in most cases the result will be better if all three values ​​are determined. Changing CSS:

.example-element { background-color: deepskyblue; border: 15px solid blue; height: 300px; width: 300px; }

And we get the result:

Looks great doesn't it

Rating
( 2 ratings, average 5 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]