# Performance Analysis of Storage Systems in Edge Computing Infrastructures
## 1 Introduction  
The amount of data generated by Internet of Things (IoT) devices is expected to grow dramatically in the future. According to Cisco [1], there will be almost 30 billion devices connected to the network by the end of 2023. Therefore, existing infrastructures will not be able to support, manage, and process such massive amounts of data. In fact, the current cloud infrastructure alone cannot support a large number of the current IoT applications as end devices are usually distant from the cloud servers, thus adding processing and network overhead, resulting in high latency, low bandwidth, and overall performance degradation. A conceptual approach which combines the benefits of the cloud and the decentralized processing of services on edge devices is known as edge computing. Edge computing is a promising paradigm able to avoid network bottlenecks, overcome communication overheads, and reduce the data transfer delay [2; 3; 4; 5; 6; 7; 8; 9], as the computational load is moved to the edge of the network, thus leveraging the computational capabilities of the edge nodes. Resource-rich computational resources are placed closer to mobile or IoT devices [10] andtherefore edge computing offers higher scalability and availability than traditional cloud platforms [11; 12]. Over the years, several edge architectures have been proposed to improve throughput, latency, and network coverage [13; 14]. In order to realize the cloud/edge integration, various technologies from different domains should be combined, including computing, network, and application-oriented fragments [15]. Such an example is the use of Artificial Intelligence (AI) algorithms in the Internet of Vehicles (IoV) [16]--where the edge devices are vehicles--to help make dynamic decisions according to real-time requests. One of the main challenges in the development of applications at the edge is the efficient data sharing between the edge nodes, and it can be accomplished within individual application frameworks or through an external storage service. Despite significant improvements in offering an efficient edge storage solution, there are still some issues to be addressed related to the functional and non-functional requirements of cloud/edge-based applications, including low data retrieval latency, high availability and integrity, dealing with a potential shortage of storage resources at an edge node, supporting rapid application component deployment or automatic restart/replacement of unresponsive components, and dealing with the high heterogeneity presented in edge environments. These requirements can be achieved by optimizing resource usage, allocation, and data management plans on edge devices. Hence, the edge storage needs to provide a reliable, fast, stable, and secure shared storage engine, and because it is designed for edge devices with limited resource capabilities, it needs to be extremely lightweight. The limited computation, storage, network, or power resources of the edge nodes, along with the diverse application's requirements, pose several inherent challenges that need to be addressed, such as:  
* The coordination of unreliable devices and networks. * Hardware and software incompatibilities. * The integration of different data storage formats and data types. * The data locality (enabling low access time). * Security concerns. * QoS and QoE insurance. The plethora of available storage systems and underlying technologies have left researchers and practitioners alike puzzled as to what is the best option to employ in order to manage and process, in the most efficient way, the massive amount of data generated by IoT devices. Therefore, this work focuses on highlighting the advantages and disadvantages of various edge-enabled storage systems. Thus, we present an overview and a performance analysis of three different storage systems in an edge context, namely MinIO, BigchainDB, and the IPFS.