Saturday, January 5, 2019

Today we continue discussing the best practice from storage engineering:

286) File Systems may implement byte range locking to enable concurrent access. Typically, they are not supported by File mapping operation. Poor use of file locks can result in performance issues or deadlock.

287) Disks are potential bottlenecks for system performance and storage system reliability. If the disk fails, the data is lost. A disk array is used to increase performance and reliability through data striping and redundancy.

288) Instead of having a single copy of data, redundant information is maintained and carefully organized so that in the case of a disk failure, it can be used to reconstruct the contents of the failed disk. These redundant array of independent disk organizations are referred as RAID levels and each level represents a tradeoff between reliability and performance.

289) In Data Striping, the data is segmented into equal-size partitions that are distributed over multiple disks. The size of the partition is called the striping unit. The partitions are usually distributed using a round robin mechanism.

290) In Redundancy, if the mean time to failure of a single disk is about a few years, it is smaller for a disk array. Hence check disks and parity schemes are involved to improve reliability. The check disk contains information that can be used to recover from failure of any one disk in the array. This group of data disks and check disks together constitute reliability groups.

#codingexercise
List <string> getDiskGroups (List <String> disks) {
return disks.stream ().map (x -> getGroup (x)).distinct ().collect (Collectors.toList ());
}

No comments:

Post a Comment