# Fog Computing for Smart Cities' Big Data Management and Analytics: A Review
## 1 Introduction  
Many smart city facilities use advanced Internet of Things (IoT) solutions to implement smart services and applications that use real-time data from various devices such as sensors and meters. Examples of exciting applications include smart transportation services, smart parking solutions, smart waste management solutions, smart grid applications, and smart healthcare solutions. IoT initiatives include ways to reduce waiting time in public transportation facilities/stops and in emergency rooms, track various city assets, and track people who use public transportation to attend different city events. These initiatives also include ways to provide proactive alerts about devices that may fail and prevent threats and unauthorized entry and exit from city facilities using surveillance cameras and electronic identification-enabled security doors. These advances are undoubtedly impressive, but managing the massive amounts of data they generate in near real-time is a challenge. The potential benefits of IoT solutions in smart cities face challenges in storing, distributing, and processing these immense IoT data. Many smart city applications use the cloud to store and process data to take advantage of its elastic computing power and unlimited storage capacities [1; 2; 3]. However, many other applicationsare very time sensitive and cannot support data stream transmission to cloud servers for processing due to excessively high latencies and high network bandwidth usage requirements. In transportation applications, large amounts of data are generated by vehicles on the road as well as by roadside units and many other devices. In the healthcare sector, devices worn by patients, medical equipment and the various sensors deployed in healthcare facilities generate enormous amounts of data. The rapid processing of data in these applications would help improve the transport system, improve patient care by optimizing care processes, and reduce the overall cost per patient. Many smart city applications are already using the power of cloud computing for their data processing needs. Time-sensitive or data-intensive applications would have a problem using cloud computing as the backend servers could be far away from edge devices. The data themselves could clutter the network. For example, applications such as electrocardiogram (ECG) signal processing could have real-time requirements, while computer-aided tomography processing could have a big data transportation problem. Healthcare facilities and providers need to stream and process data at the edge in real time. Instead of conveying data to cloud servers for processing and storage, sensors and edge devices should transmit their data to edge gateways or servers to be aggregated, processed, or analyzed. This operation would allow a reduction in the volume of data to send and store in cloud servers, minimizing costs, reducing latency, and controlling the network bandwidth usage [4]. We review relevant research efforts on adopting these two emerging distributed computing technologies in smart cities in this work. More specifically, we review fog node deployment models that the National Institute of Standards and Technology (NIST) prescribes and then discuss some fog-based service delivery models for smart cities. Afterwards, we describe some use cases of fog computing in smart cities, mainly intelligent transportation, smart healthcare, and smart grids. Then, we present a conceptual design of a fog computing-based data pipeline for smart cities and discuss the challenges of fog computing-based solutions in smart cities. This paper is organized as follows. Section 2 describes the emerging paradigms of edge and fog computing and the benefits they offer to users. Section 3 outlines the fog-based service delivery models, which NIST prescribes. Section 4 presents our view regarding how data as a service (DaaS) could be an additional edge and fog service delivery model.