Quang Chi Truong

Patrick Taillandier
email: patrick.taillandier@univ-rouen.fr

Benoit Gaudou
email: benoit.gaudou@ut-capitole.fr

Minh Quang Vo
email: vqminh@ctu.edu.vn

Trung Hieu Nguyen

Alexis Drogoul
email: alexis.drogoul@ird.fr

Exploring Agent Architectures for Farmer Behavior in Land-Use Change. A Case Study in Coastal Area of the Vietnamese Mekong Delta

Keywords: Agent-based simulation, Agent architecture, BDI architecture, Land-use change, Mekong Delta

Farmers are the key actors of land-use change processes. It is thus essential to choose a suitable architecture for farmer behavior to model such processes. In this paper, we compared three models with different architectures to model the farmer behavior in the coastal areas of the Ben Tre province: (i) The first one is a probabilistic model that allows farmer to select the land-use pattern based on land change probability; (ii) The second model is based on multi-criteria decision making and takes into account the land suitability of the parcel and the farmer benefit; (iii) The third model used a BDI (Beliefs -Desires -Intentions) architecture. For each of these models, we have compared the difference between simulated data and real data by using the Fuzzy Kappa coefficient. The results show the suitability of the BDI architecture to build land-use change model and to support decision-making on land-use planning.

Introduction

The Mekong Delta region will be heavily influenced by the effects of global climate change [START_REF] Wassmann | Sea level rise affecting the Vietnamese Mekong Delta: water elevation in the flood season and implications for rice production[END_REF]. Indeed, the sea level rise and saltwater intrusion will strongly impact the life of people and the situation of agricultural production [START_REF] Minh | Simulation of inland water inundation depth under changing of elevation using statistics and spatial interpolation techniques[END_REF][START_REF] Tri | Vulnerability to flood in the Vietnamese Mekong Delta: mapping and uncertainty assessment[END_REF]. Nhan et al. [START_REF] Nhan | The impact of weather variability on rice and aquaculture production in the mekong delta[END_REF] pointed out that the environmental conditions significantly impact the agriculture and fisheries and that ordinary people tend to spontaneous change the land-use, which causes difficulties for land resource management and cultivation of farmers. Another difficulty comes from the behaviors of farmers that tend to adapt their food production to the market [START_REF] Tri | Evaluating the changes of soil properties and landuse at three coastal districts in Soc Trang province[END_REF]. The question for planners is how to simulate the behaviors of the farmer to understand land-use and land cover (LULC) change in the next years to build a successful land-use plan. In this context, the choice of an agent architecture to model the farmer behavior is particularly important.

In this paper, we propose to compare three classic agent architectures defined to model human beings behaviors: the first model is based on a probabilistic model, the second one is based on multi-criteria decision making and the last one is based on the BDI paradigm. The comparison is done on an example model simulating the land-use change due to farmers' decisions in the coastal areas of the Ben Tre province (Mekong Delta, Vietnam). The objective is to determine among these three architectures the one that seems the most adapted to model the farmer behavior.

This paper is organized as follows: Sect. 2 presents a state of the art of the existing models of land-use change and an overview of agent architectures used to model such processes. Section 3 is dedicated to the presentation of the three farmer models that have been implemented and of results of their comparison. Finally Sect. 4 proposes a conclusion and offers some perspectives.

State of the Art

Modeling of Land-Use Change

For years, the follow-up study of land-use changes have been mainly based on monitoring the changes in the past using diverse tools related to GIS and Remote Sensing. These tools do not allow to model the dynamic but only to describe the changes. Some researchers have also proposed models based on the combination of GIS, Cellular Automata and Markov chain [START_REF] Moreno | Implementation of a dynamic neighborhood in a land-use vector-based cellular automata model[END_REF][START_REF] Yang | A land use change model: integrating landscape pattern indexes and Markov-CA[END_REF] to monitor and to predict the land changing in the future. Although these models give good results for monitoring the past time, they show their limitations to predict the future due to complex behaviors of the social actors in the real world that is not captured by these models. Concerning the modeling of actors involved in LULC changes, Agent-Based Models (ABM) have been heavily used [START_REF] Mialhe | An agent-based model for analyzing landuse dynamics in response to farmer behaviour and environmental change in the Pampanga Delta, Philippines[END_REF][START_REF] Parker | Multiagent systems for the simulation of land-use and land-cover change: a review[END_REF]. However, most of these models remain simple models based on probabilities. They do not allow to take into account the behavior complexity of the various stakeholders.

In order to represent in a more realistic way the behavior of the different stakeholders, some research works have proposed to use BDI (Belief, Desire and Intention) agent architecture [START_REF] Rao | Modeling rational agents within a BDI-architecture[END_REF] for LULC modeling. In this cognitive agent architecture, agents have beliefs (pieces of information they believe to be true in the world), desires (how they desire the world to become) driving their long-term activities, and intentions of short-term actions to perform to make the world compliant with desires they have chosen and which they commit to achieve. Besides that, agents can change their behaviors and update their beliefs according to what they perceive from the environment. This architecture has been applied to simulate human behavior in many different fields [START_REF] Adam | Agents BDI et simulations sociales. unis pour le meilleur et pour le pire[END_REF]. Concerning land-use planning, Behzadi et al. [START_REF] Behzadi | Introducing a novel model of belief-desire-intention agent for urban land use planning[END_REF] have proposed a BDI architecture applied to city planning. In this model, the planer is the main agent of the model and decides most effective plans to apply according to its beliefs and its goals. Another BDI architecture, based on the belief theory and on a multi-criteria decision-making process, has been proposed in [START_REF] Taillandier | A new BDI agent architecture based on the belief theory. application to the modelling of cropping plan decision-making[END_REF] in yearly cropping plan decision-making. This architecture has the advantages to be quite light (it allows to simulate simultaneously thousands of BDI agents) and easy to use by modelers. However, this architecture does not propose any specific formalism for the definition of beliefs and plans and was very specific to its application context.

Only few models have been developed to simulate LULC changes in Vietnam. Among them, the model presented in [START_REF] Castella | Participatory simulation of land-use changes in the northern mountains of Vietnam: the combined use of an agentbased model, a role-playing game, and a geographic information system[END_REF] concerns the planning scenarios in the northern mountains of Vietnam. Another one aims at studying the evolution of cultivation field patterns in the central mountains [START_REF] Jepsen | Agent-based modelling of shifting cultivation field patterns, Vietnam[END_REF]. However, these models do not rely on real management data from the province departments of natural resources and their case studies are mostly concentrated in the mountains. Almost no study has been carried out about the Mekong Delta, especially the coastal areas affected by saltwater intrusion whereas there are important needs of this type of models.

Existing Agent Architectures to Model Land-Use Change

Balke and Gilbert have pointed out in an article presenting 14 agent architectures [START_REF] Balke | How do agents make decisions? a survey[END_REF] how human beings are very complex machines and difficult to model. However, many agent architectures have attempted to model them. These architectures are often divided in two groups:

-Reactive architectures. The agent directly responds to the environment stimuli, without taking into account event history. This architecture is often used in large-scale model. Many of these architectures use production rules where the behaviors are based on "if -then" rules [START_REF] Nilsson | A production system for automatic deduction[END_REF]. -Cognitive architectures. These agents have reasoning capabilities. They can memorize the past and display complex social behavior. The BDI architecture belongs to this group.

If many complex agent architectures have been proposed, it is not always essential to use them to model the human behaviors, as the human decisionmaking process is often based more on many sources of information rather than on complex deliberations [START_REF] Dolan | Influencing behaviour: the mindspace way[END_REF]. Concerning LULC modeling, even if some models propose to use a BDI agent architecture [START_REF] Behzadi | Introducing a novel model of belief-desire-intention agent for urban land use planning[END_REF][START_REF] Taillandier | A new BDI agent architecture based on the belief theory. application to the modelling of cropping plan decision-making[END_REF], most of the are still using simple architectures based on probabilities or on multi-criteria decision-making algorithms [START_REF] Mialhe | An agent-based model for analyzing landuse dynamics in response to farmer behaviour and environmental change in the Pampanga Delta, Philippines[END_REF][START_REF] Parker | Multiagent systems for the simulation of land-use and land-cover change: a review[END_REF]. The main aims of this paper are thus to compare these three types of architectures on a case study concerning the coastal area of the Vietnamese Mekong Delta and establish recommendations for LULC modeling. Actors Involved in LULC Changes in Coastal Area of the Mekong Delta

Land-Use Change in Coastal Area of the Vietnamese Mekong Delta

In Vietnam, the land-use zoning policy that defines the type of developments allowed on parcels is defined for 10 years and at four administrative levels: country, province, district and village. The zoning policy is detailed by two plans (five years per plan) under instructions of the Circulars of Ministry of Natural Resources and Environment [START_REF] Monre | 2009/TT-BTNMT: Detailing the establishment, regulation and evaluation planning, land-use planning[END_REF][START_REF]VNA: Article 24, Land on Law 2003[END_REF]. However the province land-use changes often do not fit with plans. This phenomenon is particularly visible for the Ben Tre province: the total cultivated area planned for 2010 was 175,824 ha, and reached in reality 179,671 ha (102 %); the rice area reached 38,000 ha compared with the 30,000 ha planned; the aquaculture land was planned to be 39,200 ha but only reached 30,289 ha; at last the forest area only reached 1.30 ha compared with 350 ha planned [START_REF]PCBT: Report of land-use zoning in 2020 and the land-use plan for 5 early years 2011-2015 of Ben Tre province, People's Committee of Ben Tre province[END_REF]. This difference of planned and real developments can also be observed at the village level. This unpredictability of the land-use change accentuates the need of reliable tools to simulate the land-use changes to support decision-making process.

Land Suitability Analysis

As stated in the previous Section, it is important to be able to understand processes underlying land-use changes at the village level in order to be able to predict the evolution of land-use change at province level. In this context, we chose to study the evolution of land-use in the village of Binh Thanh. This coastal village of the Ben Tre province of the Mekong Delta is representative of the region as it contains a mix of brackish and fresh water. In such area the land-use is strongly impacted by the irrigation.

We have collected data concerning the land-use of each parcel of this village in 2005 (Fig. 1) and in 2010 from the Department of Natural Resources and Environment of the Ben Tre province. In this area, six land-use types have been defined:

-Rice, -Rice -Vegetable, -Rice -Shrimp, -Annual crops, -Industrial Perennial tree, -Aquaculture.

We collected as well the soil map, the saltwater map and the flood map of the regions and define from them six land-unit types (a value per land-unit type). From each of these land-unit types, we defined with the help of domain-experts a suitability value for each land-use type. This suitability, which was evaluated by using fourth values, represents the adequacy between the land unit type and the land-use type. For instance, producing industrial perennial tree on a salty soil is very difficult and the yield will be very low.

We also built with domain-experts a transition matrix for each land-use-type. This matrix allows to represent the technical difficulty to change from one landuse type to another one. This difficulty was evaluated using three values (1: easy, 2: medium, 3: very difficult).

At last, we collected data concerning the evolution of benefit and cost of each land-use type for a hectare from 2005 to 2010.

Tested Agent Architectures

The next section describes the general model that was used for the test. We describe then the three architectures that have been implemented (the simplest one based on transition probabilities, a more complex architecture) based on multi-criteria decision-making process and the most complex BDI architecture. In this work we only focused on simple architectures with few parameters, as we aim at testing different kinds of architecture and not at defining a very complex and realistic model.

Model Description. The model was defined in order to simulate the evolution of the land-use of the Binh Thanh village. We make the assumption that each farmer has only one parcel and that he has to make a decision concerning the land-use of the parcel every year. A simulation step in this model represents thus 1 year.

In this simple model, the main species of agents is the parcel species that represents the farmer and his/her parcel. A parcel agent has the following attributes:

shape: geometry of the parcel (static), land unit type: type of soil for the parcel (static), region: is it inside or outside the dykes (static), neighbors: list of parcels at a given distance that have the same land unit type (static), land-use: type of production (dynamic).

In addition to parcel agents, we define a world agent that contains all the global variables:

prof it matrix: for each year (from 2005 to 2010) and for each land-use type the benefit that can be expected from 1 ha of production, cost matrix: for each year (from 2005 to 2010) and for each land-use type the cost of 1 ha of production, suitability by landuse: for each land unit type, the suitability to produce a given land-use type, transition matrix: difficulty to change from a land-use to another one. At each simulation step (i.e. every year), each parcel agent is activated in a random order. When activated, a parcel agent (embedding the farmer making decision) chooses its new land-use (that can be the same as the previous one) and changes to it if necessary.

The different models presented in the following sections deal with this choice of a new land-use. Note that all the agent attributes defined here will not be used in all the models. For instance the neighbors attribute will only be used by the BDI model.

Decisions Based on Transition Probabilities.

In the first farmer behavior model, farmer decisions are based on land change probability. A matrix of probabilities to shift from one land-use type to another was built using the data from 2005 and 2010 and more particularly the number of parcels that changed from 2005 to 2010 (Table 1). As the study area is composed of 2 very different regions -one inside the dykes and the other one outside -we chose to create two matrices corresponding to each region.

The decision-making behavior of the agent is very simple: at each simulation step (i.e. each year), a parcel agent has the probability 0.2 to change its landuse. Each time, it chooses to change its land-use, it draws randomly its new land-use according to the matrices previously defined. From the data we can observe that parcels have changed their land-use on average once during the 5 years of observations. As a consequence, we consider that each parcel has the probability 1/5 of changing land use type at each step. As a consequence, during a simulation some parcels can change their land-use multi times and others not, which is the observed process.

Decision Model Based on Multi-criteria. In the second model, the parcel agent decisions are made according to a multi-criteria analysis. This type of decision-making process in often used for land-use change models (see for example [START_REF] Taillandier | Use of the belief theory to formalize agent decision making processes: application to cropping plan decision making[END_REF]). We defined 3 criteria for the decision: the profit, the cost and the transition difficulty. Indeed, it is generally accepted that farmers tend to choose a production that maximizes their profits, that minimizes the cost -avoidance of risky productions -and that are easy to implement. More precisely, the criterion values are computed as follows for a given transition from old lu to lu and a given soil type (i.e. land unit type) and a year number:

P rof it(lu, soil, year) = matrix prof it(lu, year) (max prof it(year) * matrix suitability(soil, lu))

With:

max prof it(year) = max(matrix prof it(lu, year))

Cost(lu, year) = matrix cost(lu, year) max cost(year)

With: max cost(year) = max(matrix cost(lu, year))

T ransition(old lu, lu) = (3 -transition matrix(old lu, lu))

At each year, every parcel agents computes for each of the six possible landuse types the values of the three criteria. Then, using a weighted mean (see Eq. 6), it chooses the best land-use type (the one that maximizes the fitness).

F itness(lu, soil, year) = W prof it P rof it(lu, soil, year) + (

W cost Cost(lu, year) + W transition T ransition(old lu, lu)

Decision Model Based on a BDI Architecture. In this last model, we propose to use a BDI architecture to model the behavior of the parcel agents.

The choice of the land-use type will be based on the three criteria defined in the previous section. However, instead of considering that all the parcel agents have a precise idea of the expected profit according to their land unit type, we consider in this model that the knowledge of the agents is imperfect. It is only when they will have tested a particular land-use type that they will know the real profit that could be obtained from it. We consider as well that a parcel agent can give information to their neighbors concerning their profit. Indeed, in Vietnamese village, the social links between farmers are particularly strong and they often share advices and knowledge. Figure 2 presents the UML activity diagram of our BDI architecture. First, the agent tests a probability to change or not its current plan. If it keeps the plan, it continues to execute it. Otherwise, it tests a probability to change its goal. If it does not keep its goal, it selects a new goal among the desires with the highest priority and adds it to its intention base. If several desires have the same priority, the goal is randomly chosen among them. Once a goal has been selected (or if the previous goal is kept) a new plan is selected among the ones that can be activated (according to the agent desires and beliefs). The selected plan is the one with the highest priority. Similarly to the goal selection, if several plans have the same priority, the selected plan is chosen randomly among them. At last, the selected plan is executed. In our model, each parcel agent has the following belief and desire bases:

-Belief s: pieces of knowledge concerning the expected profit for each land-use. Each belief corresponds to a land-use type and a profit associated to it. -Desires: the parcel agents can have two types of desires:

• define the best possible land-use type (with priority = 2),

• produce a given land-use type (with priority = 1). -Intentions: the agent can activate two following plans to fulfill its desires: • analyze the possible land-use types: the agent uses the three criteria and its current beliefs to evaluate each possible land-use type and to define the fittest one. Then the value for the probability to change its current plan is set to 1. The plan is activated when the current goal is define the best possible land-use, • implement a given land-use type: the agent sets its land-use attribute to the given one and computes the actual profit with this land-use. Then it updates its beliefs and gives this information to its neighborhood. At last, the value for the probability to change its current plan is set to a given parameter value. The plan is activated when the current goal is produce a given land-use type.

Experiments

The three models were implemented on the GAMA platform1 [START_REF] Grignard | GAMA 1.6: advancing the art of complex agent-based modeling and simulation[END_REF]. GAMA is an open-source agent-based simulation platform that provides modelers with a complete modeling and simulation development environment to build agentbased simulations. It is particularly powerful concerning the management of GIS data and allows to simply manipulate them.

The different parameter values of the models were defined by using a genetic algorithm to find the parameter set that fits the best to the real data. The fitness function is defined using the Kappa coefficient comparing the observed data and the simulation results in 2010. The fuzzy kappa coefficient allows to compare two maps by taking into account the neighborhood of the parcels [START_REF] Visser | The map comparison kit[END_REF]. This coefficient is between 0 (not similar at all) to 1 (totally similar). In these experiments, we chose a neighborhood size of 100 m.

Figure 3 shows simulation results obtained from the three models and the observed data. As it can be observed, none of the three models allows to reproduce the exact observed land-use. However, the multi-criteria and the BDI architectures provide better results than the probabilistic one. This second indicator that is often used to evaluate land-use change models is computed by the following formula:

P AD(%) = 100 n i=1 | X i -X i | n i=1 X i (7)
with: X i the observed quantity of parcels with the land-use i and X i the simulated quantity of parcels with the land-use i.

As our models (at least two of them) are stochastic, we ran 100 times each model and computed the average fuzzy kappa coefficient (kappa) and percent absolute deviation (PAD). As shown in Table 2, the multi-criteria model allows to get far better results in terms of PAD and kappa indicators than the probabilistic model. Indeed, this model integrates some new pieces of knowledge linked to the economy (profit and cost) and the practices (suitability and transition) that allow to improve the accuracy of the model. Concerning the BDI model, it gives results close to the multi-criteria one (slightly better concerning the kappa coefficient and worst concerning the PAD). However, this model allows to integrate heterogeneity in the model through the influence of the imperfect knowledge and the influence of the neighborhood which make the model more realistic.

Conclusion

In this paper, we have compared three architectures to model the land-use change in the Binh Thanh village. The first architecture is based on change probabilities. It gave correct simulation results for reproducing the past events but is limited for predicting the future as it does only allow to reproduce past patterns. The second architecture is based on multi-criteria decision-making. This architecture allowed to get good simulations. However, it does not allow to introduce heterogeneities between agents. The last architecture, which shows the highest fuzzy kappa coefficient, is based on a BDI architecture. This architecture allows to take into account the imperfection of knowledge of farmers and the relations between them. If the three models gave good results, we plan to improve them, and more particularly the third model, by integrating more domain-specific knowledge inside.

Fig. 1 .

 1 Fig. 1. Land-use map of Binh Thanh in 2005. source: department of environmental and natural resources of Ben Tre province, Vietnam.

Fig. 2 .

 2 Fig. 2. Activity diagram of the BDI architecture

Fig. 3 .

 3 Fig. 3. Observed and simulated land-use map of Binh Thanh in 2010

Table 1 .

 1 Land-use changed from 2005 to 2010, counted by number of parcels

			Land-use in 2010 (out-inside dykes)
			A. Crops Trees	Rice-Shrimps Rice-Vege Rice Aquaculture
	Land-use in 2005	A. Crops	77-134	64-13	39-0	0-6	0-0	8-1
	(in-outside dykes) Trees	20-8	151-29 3-0	0-31	1-0	2-2
		Rice-Shrimps 0-100	0-0	0-0	0-1016	0-0	0-21
		Rice-Vege	0-0	0-0	1-0	0-0	0-0	0-0
		Rice	0-80	35-67	8-0	17-48	0-0	2-2
		Aquaculture	17-4	173-8	1123-2	1-0	7-0	88-2

Table 2 .

 2 Mean results for the percentage absolute deviation (the lowest, the best) and the fuzzy Kappa (the highest, the best) for the three models and for 100 simulations

		Probabilistic model Multi-criteria model BDI model
	PAD	59.17 %	30.62 %	34 %
	Fuzzy kappa 0.46	0.54	0.55

http://gama-platform.org.


Nicolas Gonzalez
email: ngonzalez@snootlab.com

Adrien Van Den Bossche

Thierry Val
email: val@irit.fr

Hybrid Wireless Protocols for the Internet Of Things

The development of new communications protocols in the Internet Of Things aim low power embedded systems. Protocols are designed to be reliable and not to have a large bandwidth. These technologies have each their specificities and try to become the reference standard. This article explain how researchers and manufacturers need to create new hybrid and multi-technologies networks in order to develop complex systems which can adapt themselves to the constraints.

I. INTRODUCTION

We are in height in the revolution of wireless sensor networks: The Internet Of Things. The export of a large number of real-time informations on a particular environment is a value-added to an ageing product. This emergence of the Internet of Things is perceived by the manufacturers as a breath of fresh air which allows to give a youthful boost to their products and to imagine new uses. Certain uses more serious as the monitoring and the supervision of datacenters or rescue in high mountain requires a study more thorough and more optimal technologies to satisfy the degree of reliability and required performances. The energy saving, the range, the increase of nodes, the safety, the bit rate, the latency are so many parameters as any standard radio manages to satisfy at the same time. We are going to analyze pros and cons of these standards and to offer interesting combinations for these cases of uses.

The sections of this article are going to resume the main current technologies for wireless sensors network and to demonstrate that there are industrial application needs where it is necessary to have several technologies. In the second part, the notion of hybridization of the low layers is present in the form of three possible architectures. The last part shows cases of uses of the hybridization and exposes the necessity of identifying the performances needed by the application to choose the technologies and to create a correct model.

II. STATE OF THE ART OF THE RADIO TECHNOLOGIES

In this chapter, we present a quick state-of-the-art of the most popular technologies used in the context of our study.

A. Sigfox

The Sigfox [7] technology is the property of a Toulousian company in France and aims at the market of the energyefficient objects which want to send very few data towards Internet. This technology has the originality to be very narrow band (UNB, Ultra Narrow Band), with a bandwidth of about ten hertz wide against several hundreds to several thousands for the other technologies.

Sigfox uses ISM bands which allows him to be used world wide and to have not to buy frequency band in every country. It is essentially the technical reason which explains its fast deployment these last years. The frequency efficiency allows not to consume too much energy during the transmission and to get more range.

The very long range require only 1 to 3 fixed basic antennas to cover 1000m 2 against 20 antennas for a classical short-range cellular network. The low frequency efficiency and the low rate of emission of objects allows to have a higher success rate of the transmission and decrease the pollution of the free ISM band. These few advantages are thwarted by the locking of the technology by the Sigfox company which detains all the rights.

Sigfox is actually the biggest network for the Internet Of Things in term of cover in the world, however it has to show its ability against the LoraWAN technology and particularly the 5G. Indeed the Sigfox technology is Ultra Narrow Band what make difficult the communication from the gateway to the object is the dispersal in frequency. The lack of acknowledgment strongly undermines the reliability. The limitation of Sigfox tranceivers is 140 packets of 12 bytes per day. The offer in term of tranceivers is limited to the main partners of Sigfox as Telecom Design [START_REF]Sigfox tranceiver[END_REF], Radiocrafts, Adeunis, Atim and Nemeus.

B. LoRa and LoRaWAN

LoRa alliance is a grouping of several large companies of the sector of semiconductors, telecoms and computing. This consortium is mainly carried by Cisco and IBM. LoRaWAN is considered as the main opponent of Sigfox because it is on the same market but remains free. This allows everybody to spread his own gateway for example the network "The Thing Network" [12] which aims to be a community network.

LoRaWAN is a protocol which includes some safety whith a double encryption [START_REF] Sornin | loRaWAN Specification LoRa Alliance[END_REF]. An application encryption which allows to guarantee the data privacy of the sensor up to the application server. The second encryption allows the operator to recognize the data packet and to send the data towards the good application server without being able to decipher the application payload. This double encryption is visible on the figure 3. These two encryptions are symmetric with AES keys of 128bits. The standard IEEE 802. 15.4 [10] is aimed at the embedded systems low consumption, short range and with low bit rate. It is a standard older than other technologies presented here, but that remains a reference for numerous protocols. It bases itself on the principle of nodes having a 16 bits address (short address) and which can be a Full Function Device (FFD) or a Reduce Fonction Device (RFD). This standard allows to create LRWPAN networks (Low Range Wireless Personal Area Network) in star or meshed.

The technique of access to the medium is CSMA/CA. The Zigbee protocol is not a standard but a technology defined by a consortium of companies: the ZigBee alliance. This protocol was mainly used at the moment in home automations applications as the detection of smoke or intrusion, as well as in the industrial environment for example the range Harmony XB5R [START_REF]Gamme harmony XB5R[END_REF] of Schneider Electric.

D. 6LoWPAN

The workgroup 6LoWPAN bases itself on the principle to spread the use of ipv6 to the LPWAN. These networks as we said are very constrained in energy and in bandwidth and this requires some limitations for the use of ipv6. The workgroup drafted several standards, in particular at the level of the fragmentation of an IP packet as well as compression of the header.

This comes because the PSDU of the standard IEEE 802.15.4 which is the MAC layer of 6LoWPAN is too low. Furthermore it is difficult to respect the Maximum Transmission Unit of ipv6, the size of the largest protocol data unit that the layer can pass onwards. The applications of the 6LoWPAN are almost the same as Zigbee because both are based on IEEE 802.15.4. However the fact of being reachable directly from a network IP allows to have access to a lot of protocols as the SNMP directly on end devices.

Today, numerous works are in progress as the standardization of 6TISCH [START_REF] Dujovne | Thubert 6tische A deterministic IP-enabled industrial internet[END_REF] which adapts the works of 6LowPAN on a IEEE 802.15.4e [11] layer. These works aim at creating ipv6 wireless sensor networks with strong industrial constraints.

E. BLE

Bluetooth Low Energy is an extension of Bluetooth for the WPAN. The BLE allows to have lower consumption to the detriment of the bit rate and to the detriment of the range. However the BLE has a bandwidth of 1Mbps and Bluetooth 3Mbps what is very interesting because the energy consumption was divided by 10. The typical electrical consumption of a single Bluetooth chip is about 1 watt, while a BLE chip needs from 0,01 to 0,5W. BLE is a recent technology which wants to win some places on the market of LPWPAN by promising a much higher bit rate with the same order of consumption.

F. Comparative technologies

None of these technologies is fulfilling and requires to make choice following the targeted application. The table I above allows to compare the technologies among them. We can notice that it is difficult to have very long range and a high bit rate. Sigfox is not planned to be bidirectional because the receiver is often of much better quality to be able to identify a signal and to extract it out of the noise.

A lot of applications require to have a very active Mesh, for example in ZigBee, and to have the possibility of extracting data more punctually by a LoRa network or Sigfox. ZigBee and 6LowPAN share the same MAC layer standardised in the IEEE 802.15.4 standard. It is possible to make a hybridization of the network layer to be compatible with both technologies.

In the following section, we present various cases of uses which can require to have hybrid nodes.

III. INDUSTRIAL CONSTRAINTS

A. Datacenter Monitoring

The supervision and the monitoring of datacenters is a current problem with a high demand of technical solutions by the administrators. A great deal of metrics are watched as the temperature of the servers, the temperature of the water in the air conditioning system, the electric consumption, the generators, the tanks etc. All these data must be collected and handled in real time. The network and electric wiring is very dense in these rooms and the addition of hundreds of sensors is impossible. It is necessary to imagine solutions of networks of autonomous sensors in energy which communicate with a gateway.

The datacenter environment is very centred around networks IP and around supervision of equipment in SNMP. The technical solution which occurs is 6TISCH which allows the access to these two technologies.

B. Mountain forecasts and rescue

The mountain environment is a very poor zone in telecommunication networks. It is also a high-risk area where it is very important to have an emergency calling service and prevention of an imminent thunderstorm for example 2. Wireless Sensor Networks can easily be implemented to satisfy this need. With LoRaWAN for example, we can have a high radio range and supply a service of localisation. The ranging is going to be very dependent of the ground, it is necessary to place antennas to have a maximum of visibility in valleys which allows to have a range in order of 5km in line of sight. LoRaWAN offers the localization service via the calculation of the Time of Flight (ToF). Base stations indicate their GPS address to make some triangulation.

IV. HYBRIDIZATION RADIOFREQUENCY OF EMBEDDED

SYSTEMS

The hybridization of a node of wireless network has to allow to increase its reliability, its bit rate and its agility in the network. It also allows to have an available node for several applications without having to change it. This hybridization can be by the addition of a second one tranceiver to have the possibility of emitting on several bands at the same time or with several modulations. Another possibility is to use the only one tranceiver who possesses several modulations and several available frequency bands. During the design of the node it is important to make technological choice on the hybridization, according to the application, to optimize some parameters such as the energy consumption as well as the unit price.

A. Hybrid Architecture 1) Multi physical layer node: The addition of two physical layers allows to have two tranceiver in parallel. From there, it is possible to make two formal stacks or to merge the network layer for example to have a hybrid network. It becomes possible to have sensor Mesh network able to communicate using narrowband with low range on a local application as a row of servers or a mountain chain but also of having the possibility to send some datas at high range.

To give the possibility to every node to be able to trace directly an information allows to decrease strongly the latency and the global consumption of the mesh. This also allows to win in reliability because there is no Single Point of Failure. An example with two physical layers is presented here but it is naturally generalizable to 3 or 4.

2) Node whith an adaptative MAC layer: The cheap equivalent solution which allows to have a diminished energy consumption is to conceive an hybrid MAC layer and an hybrid tranceiver (capable to manage several modulations and/or several channels in a not simultaneous way). This technical solution is the most difficult to implement because it requires to have two compatible technologies, whith the need to respect both standards of the MAC layer simultaneously.

V. HYBRIDIZATION MODEL

The modelling of one formal hybrid stack requires the deepened analysis of each of the technologies. It needs that the basic mechanisms of the technologies are compatible [START_REF] Hsieh | A Hybrid MAC Protocol for Wireless Sensor Networks[END_REF]. For example, a hybridization of the MAC layer requires that it is capable of respecting several standards simultaneously.

In these works on the WSN with multiple formal stacks, Alexandre Guitton moreover warns on the looping up of data packets within these models [START_REF] Guitton | Réseaux de capteurs sans fil à multiples piles protocolaires[END_REF]. The model of hybridization is the logical result of the technological choice of protocols to be assembled. The purpose has to be to optimize the bit rate, the latency, the energy consumption or the reliability to answer impossible specifications with a single technology. The hybridization can allow to answer wider problems as the use of owners protocols in ultimate recourse or to keep easy compatibility with the existing equipment.

VI. EXAMPLE OF AN HYBRID NODE

Imagine a mesh network with hybrid wireless sensor nodes 4. For several years, the results of the studies on protocols for meshed networks show the necessity of having nodes which can have metrics on their influence in the network. These nodes also require to be agile to re-configure if they have a bad influence. A hybrid wireless sensor node can bring this feature. A group of close nodes can activate a MAC layer and a physical layer which allows to have much more bandwidth with equal consumption. This group of knots can elect a node which acts as gateway towards other groupings by activating a hybrid MAC layer between its two transmitters. For these exchanges with lower bit rate but longer distance, it is possible to use a LoRa MAC. The applications manufacturers with strong constraints need to develop networks of hybrid sensors to optimize the various technologies and succeed the constraints of specifications. This hybridization of the low formal layers, allows to win in reliability and in performances. It requires however a very precise choice of the hybridization to find a compatible coupling with a cost and an energy consumption adapted to the application. The hybridization of a formal stack asks of thorough knowledge in the various protocols and the compatibilities among them. The design of a formal hybrid stack bases itself on models which must be experienced. To facilitate the deployment of these technologies, it is important to design several theoretical models and to test them to highlight the earnings of this technological choice.

Fig. 1 .

 1 Fig. 1. LoRaWAN Architecture -source: LoRa Alliance

Fig. 2 .

 2 Fig. 2. Mountain hybrid mesh network

Fig. 3 .

 3 Fig. 3. Three forms of hybridization of the lower layers

Fig. 4 .

 4 Fig. 4. Example of en hybrid mesh network

ACKNOWLEDGMENT

This article was written as part of the project "Ophélia" between Snootlab and IRIT. We thank the "Région Midi-Pyrénées" which funds this project.


Abdelkader Hameurlain
email: abdelkader.hameurlain@irit.fr

Franck Morvan
email: franck.morvan@irit.fr

Big Data Management in the Cloud: Evolution or Crossroad?

Keywords: Big Data Management, Data Partitioning, Query Processing and Optimization, Parallel Relational Database Systems, High Performance, Scalability, Cloud Systems, Hadoop, MapReduce, Spark, Elasticity

In this paper, we try to provide a synthetic and comprehensive state of the art concerning big data management in cloud environments. In this perspective, data management based on parallel and cloud (e.g. MapReduce) systems are overviewed, and compared by relying on meeting software requirements (e.g. data independence, software reuse), high performance, scalability, elasticity, and data availability. With respect to proposed cloud systems, we discuss evolution of their data manipulation languages and we try to learn some lessons should be exploited to ensure the viability of the next generation of large-scale data management systems for big data applications.

Introduction

Data management process dates from long ago (i.e. since 4000 BC). Between 4000 BC and 2000 AD, five generations of data management have been distinguished by [START_REF] Gray | Evolution of data management[END_REF]: "Manual processing paper and pencil; Mechanical punched card; Stored program sequential record processing; On-line navigational set processing; Nonprocedural-relational; Multimedia internetwork". In this paper, we will be interested in the penultimate generation.

A large number of datasets (structured, unstructured and semi-structured data) are produced by different sources (e.g. scientific observation, simulation, sensors, logs, social networks, finance). This large number of datasets, often referred to as Big Data and characterized by 4Vs (Volume, Variety, Velocity, and Value) [START_REF] Stonebraker | Intel "big data" science and technology center vision and execution plan[END_REF], are distributed in large scale, heterogeneous, and produced continuously. The management of such data raises new problems and presents a real challenge such as: data modeling and storage, query processing and optimization, data replication and caching, cost models, concurrency control and transaction, data privacy and security, data streaming, monitoring services and tuning, autonomic data management (e.g. self tuning, self repairing).

In the landscape of database management systems, data analysis (OLAP) and transaction processing systems (OLTP) are separately managed. The reasons [START_REF] Agrawal | The evolving landscape of data management in the cloud[END_REF] for this dichotomy are that both systems have very different functionalities, characteristics and requirements. This paper will focus only on the first class (OLAP systems).

Very recently (with respect to reference period 4000 BC), we have seen an explosion in the volume of data manipulated by applications. This phenomenon results from, on the one hand, that it is easier to collect information (e.g. log information) and, on the other hand, lower cost of storage devices. Querying and analyzing of collected data, with acceptable response time, have become essential for many companies such as web societies. Furthermore, some applications with a small amount of data need high availability of data. This is the case, for example, with data from an online game with great success. In both contexts, a uniprocessor database server can quickly become a bottleneck or result in prohibitive response times for certain queries.

To manage a huge amount of data and meet the requirements in terms of high performance (e.g. minimizing of response time) and resource availability (e.g. data source), there are two approaches: parallel database systems and cloud systems. The parallel database systems [START_REF] Dewitt | Parallel database systems: The future of high performance database systems[END_REF][START_REF] Lu | Query Processing in Parallel Relational Database Systems[END_REF][START_REF] Valduriez | Parallel database systems: Open problems and new issues[END_REF] have been an important success, both in research in the early 90s and now in industry. They have enabled many applications handling large data volumes to meet their requirements in terms of high performance and resource availability. It is recognized that parallel database systems are very expensive and require having high level skills within the company to administer the systems and databases. As for cloud systems, developed by using data processing frameworks (e.g. Hadoop MapReduce, Apache Spark) [4, [START_REF] Dean | Mapreduce: Simplified data processing on large clusters[END_REF]29], they allow a company to reduce these costs in terms of infrastructures either by purchasing a server comprised of low-cost commodity machines or by renting services (Infrastructure-as-a Service IaaS, Platform-as-a Service PaaS, Software-as-a Service SaaS) in pay-per-use.

Currently, new tools [START_REF] Dewitt | Split query processing in polybase[END_REF]49,54,[START_REF] Xu | Integrating hadoop and parallel dbms[END_REF] allow to make the bridge between both approaches. These tools allow either to a MapReduce program to load data from a relational database, either to convert, through a wrapper, a file stored in an HDFS format into a relational format. This class of systems is called multistore systems [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF].

In this paper we propose a synthetic and comprehensive state of the art concerning: (i) big data management in parallel database systems and cloud systems, and (ii) evolution of data manipulation languages in cloud systems. There are many synthesis papers about data management in cloud systems [START_REF] Agrawal | The evolving landscape of data management in the cloud[END_REF][START_REF] Chaudhuri | What next?: a half-dozen data management research goals for big data and the cloud[END_REF][START_REF] Floratou | Can the elephants handle the nosql onslaught?[END_REF][START_REF] Li | Distributed data management using mapreduce[END_REF][START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF]. Agrawal et al. [START_REF] Agrawal | The evolving landscape of data management in the cloud[END_REF] and Chaudhuri [START_REF] Chaudhuri | What next?: a half-dozen data management research goals for big data and the cloud[END_REF] focus on the future challenges of clouds systems to meet the needs of applications. As far as the contributions of Floratou et al. [START_REF] Floratou | Can the elephants handle the nosql onslaught?[END_REF] and Stonebraker et al. [START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF] they propose a performance comparison of applications with cloud systems and parallel database systems. They point out the advantages and drawbacks of each system depending on the application type.

The rest of this paper is structured as follows. In Section 2, data management based on parallel and cloud (e.g. MapReduce) systems are over-viewed and compared by relying on meeting software requirements (e.g. data independence, software reuse), high performance, scalability, elasticity, and data availability. Section 3 presents an overview of data manipulation languages proposed in cloud systems: (i) without relational operators, and (ii) including relational operators in data manipulation languages. In Section 4, with respect to proposed cloud systems, we try to learn some lessons and we discuss the evolution of their data manipulation languages. We conclude in Section 5.

Parallel Database Systems versus Cloud Systems

Parallel Relational Database Systems

This sub-section presents an extended abstract of the paper [START_REF] Hameurlain | Parallel relational database systems: Why, how and beyond[END_REF]. Parallel database systems have been developed for applications processing a large volume of data. Their main objectives are to obtain high performance and resource availability. High performance can be obtained by integrating and efficiently exploiting different types of parallelism (partitioned parallelism, independent parallelism and pipeline parallelism) in relational database systems on parallel architecture models. More precisely, the objectives of parallel databases are: (i) ensuring the best cost/performance ratio compared with a mainframe solution, (ii) minimizing query response times by efficiently exploiting the different forms of parallelism and data placement approaches, (iii) improving the parallel system throughput by efficiently managing resources, and (iv) insuring scalability, which consists in holding the same performance after adding new resources and applications. A parallel relational database system is a standard relational DBMS implemented on a MIMD (Multiple Instruction Multiple Data Stream) parallel architecture. Editors of parallel servers offer three main categories of parallel RDBMS based on: (i) shared memory multiprocessor architecture, (ii) shared disks multiprocessor architecture, and (iii) shared nothing multiprocessor architecture (e.g. DBC 1012 Teradata [START_REF] Cariño | Exegesis of DBC/1012 and P-90 -industrial supercomputer database machines[END_REF][START_REF] Witkowski | NCR 3700 -the next-generation industrial database computer[END_REF], Tandem NonStop SQL [START_REF] Englert | Parallelism and its price: A case study of nonstop SQL/MP[END_REF], DB2 Edition [START_REF] Baru | An overview of DB2 parallel edition[END_REF], ORACLE Parallel Query).

Partitioning a relation is defined as distributing the tuples of the relation among several nodes (attached disks) [START_REF] Dewitt | Parallel database systems: The future of high performance database systems[END_REF]. In a parallel RDBMS, it becomes possible to: (i) improve I/O bandwidth by fully exploiting the parallelism of read operations of one or more relations (ii) apply data locality principle (operators are performed where/or very close to the data are located), and (iii) facilitate load balancing to maximize throughput. The key problem with data partitioning, also called data placement, consists in reaching and holding the best tradeoff between processing and communication [START_REF] Copeland | Data placement in bubba[END_REF]. Two approaches make it possible to solve the data placement problem of a set of relations in a parallel RDBMS. The first approach, called full desclustering [START_REF] Livny | Multi-disk management algorithms[END_REF], consists in distributing horizontally each base relation over all the nodes of the system. It is applied to shared memory parallel RDBMS. The second approach, called partial desclustering, consists in distributing each base relation over a subset of nodes. It is mainly found in a shared-nothing parallel RDBMS which own a large number of nodes. However, whatever the advocated data placement approach used, there are many data partitioning methods. In parallel systems, three methods are generally offered to the administrator to distribute data over nodes [START_REF] Dewitt | Parallel database systems: The future of high performance database systems[END_REF][START_REF] Livny | Multi-disk management algorithms[END_REF]: round robin, use of a hashing function which associates a node number to one or more attribute values of a relation, and use of range partitioning given by the administrator thanks to fragmentation predicates. These partitioning methods have great influence and impact on load balancing.

The optimization phase of SQL queries consists basically of three phases: logical optimization, physical optimization and parallelization. The problem raised at physical optimization, dealing with the choice of a scheduling search strategy for join operators among enumerative strategies or randomized ones. Each one of these strategies is more or less adapted depending on the query characteristics. A query is characterized by the number of relations it refers to (i.e. size), the number of join predicates and the way they are arranged (i.e. query shape) and its nature (i.e. ad-hoc or repetitive). As far as parallelization strategies, they have been introduced concerning inter-operation parallelization phase, the key problem of optimization [START_REF] Chekuri | Scheduling problems in parallel query optimization[END_REF][START_REF] Chen | Using segmented right-deep trees for the execution of pipelined hash joins[END_REF][START_REF] Hameurlain | A parallel scheduling method for efficient query processing[END_REF][START_REF] Hameurlain | Scheduling and mapping for parallel execution of extended SQL queries[END_REF][START_REF] Hasan | Optimization algorithms for exploiting the parallelismcommunication tradeoff in pipelined parallelism[END_REF][START_REF] Hong | Exploiting inter-operation parallelism in XPRS[END_REF][START_REF] Schneider | Tradeoffs in processing complex join queries via hashing in multiprocessor database machines[END_REF][START_REF] Tan | Pipeline processing of multi-way join queries in shared-memory systems[END_REF][START_REF] Ziane | Parallel query processing in DBS3[END_REF]. Indeed, two inter-operation parallelization approaches have been described in the literature [START_REF] Lu | Query Processing in Parallel Relational Database Systems[END_REF]: the one-phase and the two-phase approaches. In the two-phase approach [START_REF] Chekuri | Scheduling problems in parallel query optimization[END_REF][START_REF] Hameurlain | A parallel scheduling method for efficient query processing[END_REF][START_REF] Hameurlain | Scheduling and mapping for parallel execution of extended SQL queries[END_REF][START_REF] Hasan | Optimization algorithms for exploiting the parallelismcommunication tradeoff in pipelined parallelism[END_REF][START_REF] Hong | Exploiting inter-operation parallelism in XPRS[END_REF], the first phase consists in generating a query execution plan (without considering run time resources). The second phase ensures an optimal allocation of resources (memory and processors) for the previously generated plan. As for the one-phase approach [START_REF] Chen | Using segmented right-deep trees for the execution of pipelined hash joins[END_REF][START_REF] Schneider | Tradeoffs in processing complex join queries via hashing in multiprocessor database machines[END_REF][START_REF] Ziane | Parallel query processing in DBS3[END_REF], plan generation and resource allocation are packed into one single phase.

Finally, with regard to minimization of communication costs, which represents the plague of parallelism, the parallel processing of SQL queries requires the initialization of several processes on different processors with underlying data communications. The main problem to be solved by parallel execution models is to find the best processing-communication trade-off in order to maximize the system throughput and minimize the response time, while maintaining an acceptable cost optimization. In this objective, several efforts have been conducted to reduce inter-processor communication costs, and in particular to avoid the redistribution of data and minimize message transfers [START_REF] Englert | Parallelism and its price: A case study of nonstop SQL/MP[END_REF][START_REF] Hameurlain | An optimization method of data communication and control for parallel execution of SQL queries[END_REF][START_REF] Hasan | Coloring away communication in parallel query optimization[END_REF].

Cloud Systems

The rapid development of information technology and the popularity of the Internet allow the emergence of new Web applications (e.g., social networks, log and profile analysis, online document indexing). These new applications produce data that are often under the form of continuous streaming (e.g., data from sensors), with very large volume, in heterogeneous formats and distributed in a large scale. To address these data characteristics, data management community has recently proposed, with respect to traditional RDBMS, new data management systems that are more flexible in terms of data models (compared to relational model which is operational since 30 years), more cost-efficient in terms of investment (as most of these systems are open-source) and provide better availability of resources (i.e. data sources and computing resources (CPU, RAM, I/O and network bandwidth)) in terms of fault-tolerance. From this perspective, four classes of data management systems [START_REF] Indrawan-Santiago | Database research: Are we at a crossroad? reflection on nosql[END_REF][START_REF] Stonebraker | 10 rules for scalable performance in 'simple operation' datastores[END_REF], depending on the adopted data structure type, have been designed and developed, mainly, by Google, Amazon, Microsoft, Yahoo, Facebook, IBM, and Oracle: (i) Key-Value based systems, (ii) Document based systems, (iii) Column based systems and (iv) Graph based systems for social networks.

These systems, based on a shared-nothing architecture, have been developed in Hadoop environment, using the functional programming model MapReduce and HDFS / GFS (Hadoop Distributed/Google File System). In a cloud environment, these systems are aimed to achieve high performance, maintain scalability (because they are based on massively parallel architectures), ensure elasticity (on-demand service and pay-per-use) and guarantee the fault-tolerance. High performance is based on the intensive exploitation of intra-operation parallelism of an operation (in a map or reduce operation) and independent parallelism (between multiple map or reduce programs). The elasticity paradigm [50] consists in allocating resources dynamically on demand. It extends the objective function, combined with dynamic resource allocation models, by integrating the economic model meeting the "pay-per-use" principle (tenant side), and guaranteeing a minimum profitability (provider side). Finally, in most of the proposed solutions in cloud systems fault-tolerance is managed. In fact, when a processor or process fails, only a part of the query is executed again. This is very attractive for applications that have queries that can take up to several hours as, for example, the analysis of log files.

In addition, to insure a uniform access to heterogeneous, autonomous and distributed data sources (e.g. RDBMS, NoSQL, HDFS) several mutlistore systems have been, recently, proposed. These systems, based on Mediator-Wrapper architecture [START_REF] Wiederhold | Mediators in the architecture of future information systems[END_REF] can be classified in three categories [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF]: (i) loosely-coupled multistore systems, (ii) tightly-coupled multistore systems, based on a shared-nothing architecture, whose objective is the high performance. This approach consists in modifying the SQL engine to make the data access to HDFS transparent. Polybase [START_REF] Dewitt | Split query processing in polybase[END_REF] illustrates this approach. And (iii) hybrid/integrated multistore systems, whose objective is to query indifferently structured and unstructured data using a SQL-like declarative language. SCOPE system [START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF] and CoherentPaaS project [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF], illustrate this approach.

Comparison

In this sub-section, we propose a qualitative comparison between Parallel Relational Database Systems PRDBMS and cloud systems/MapReduce by pointing out their advantages and weakness. For a quantitative comparison, we strongly suggest to authors reading the very good papers [START_REF] Floratou | Can the elephants handle the nosql onslaught?[END_REF][START_REF] Jiang | The performance of mapreduce: An in-depth study[END_REF][START_REF] Pavlo | A comparison of approaches to large-scale data analysis[END_REF][START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF].

Advantages and Weakness of PRDBMS. With respect to compilation of recently published studies and experiences, the advantages of PRDBMS can be, mainly, summarized as follows: (i) logical data independence, meaning that any modification of a schema (data structure) have not any impact on application programs, (ii) regular data structure (relational schema), homogeneity and stability of parallel infrastructure (shared-nothing architecture) enable to estimate and deduce relevant annotations (Metadata, and Cost Models are used by an Optimizer-Parallelizer to generate an efficient parallel execution plan), (iii) partitioning degree for each base relation and parallelism degree estimation for each relational operator can be estimated by analytical models, (iv) declarative languages and sophisticated query Optimizer-Parallelizer (physical optimization, exploiting and integrating of partitioned, independent and dependent (pipeline) parallelisms), and (v) minimizing of communication costs by avoiding the data redistribution in some favorable cases.

However, their main weakness, in massive parallel environments, can be summarized as follows: (i) PRDBS run only on expensive servers, (ii) require very high level of skills to manage and administrate these systems, (iii) weak faulttolerance in massive PRDBS, and (iv) hard management of Web applications (Web datasets are unstructured).

Advantages and Weakness of Cloud Systems/MapReduce. The main advantages of cloud systems/MapReduce are: (i) scaling very well to manage massive datasets, (ii) support the partitioned and independent parallelisms, (iii) mechanism to achieve load-balancing, and (iv) strong fault-tolerance because of HDFS characteristics and used mechanisms to data replication (a file is partitioned into fixed size chunks of 64 MB and each chunk is replicated, by default, three times).

As far as the weakness of MapReduce (initial version) two levels can be distinguished: application level and software level. In fact, application side, the developers : (i) are forced to translate their business logic to MapReduce model, (ii) have to provide efficient implementation for the map and reduce functions, and to determine the best scheduling of map and reduce operations. With regard to software side : (i) data-dependence: so, we lost the propriety of logical data independence which is a qualitative requirement of software engineering, (ii) extensive materialization of I/O (Input/Output), because each result of a map instance is written on the disk.

To avoid this weakness, recently, pipeline parallelism has been implemented in Tez framework which is used, recently, to improve Hive performance [START_REF] Floratou | Sql-on-hadoop: Full circle back to sharednothing database architectures[END_REF]. Also, Cloudera Impala [START_REF]Cloudera Impala[END_REF] implements pipeline parallelism for all queries. However, the consequence is that the fault-tolerance or resource availability will be seriously weakened. For detailed and complete analysis of weakness of MapReduce, the most relevant work can be found in the recent survey papers [START_REF] Doulkeridis | A survey of large-scale analytical query processing in mapreduce[END_REF][START_REF] Lee | Parallel data processing with mapreduce: a survey[END_REF].

Evolution of Data Manipulation Languages in Cloud Systems

Introduction

First tools, such as MapReduce [START_REF] Dean | Mapreduce: Simplified data processing on large clusters[END_REF], Bigtable [START_REF] Chang | Bigtable: A distributed storage system for structured data[END_REF] and PNUTS [START_REF] Cooper | PNUTS: yahoo!'s hosted data serving platform[END_REF], were proposed to develop cloud applications. These tools allow querying data using procedural languages without relational operators. Programs written using these languages introduce a dependency between data structure and programs. Thus, when you have some modifications on the data structure it is also necessary to adapt the programs. In addition, these programs are more difficult to optimize than program writing with a declarative language. Indeed, optimization of functions defined by "users have never been a central data management challenge in researches" [START_REF] Chaudhuri | What next?: a half-dozen data management research goals for big data and the cloud[END_REF]. Program optimizations and their maintenance due to data structure evolution lead to important human costs. This is why the first tools were mainly used for queries which are performed only once, such as applications on logs and paper collections [START_REF] Gates | Building a highlevel dataflow system on top of mapreduce: The pig experience[END_REF]. Recently, new tools have emerged in order to avoid the dependency between data structure and programs. Their common goal is to use the benefits of data independence and implicit (automatic) optimization programs of parallel database approaches and the advantages of scalability, fault tolerance and elasticity of cloud systems. Thus, high level of declarative languages have emerged HiveQL [START_REF] Thusoo | Hive -a petabyte scale data warehouse using hadoop[END_REF], SCOPE language [START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF], and CloudMdsQL [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF]. This allows an automatic optimization-parallelization of queries. Moreover, new tools [START_REF] Dewitt | Split query processing in polybase[END_REF]49,54,[START_REF] Xu | Integrating hadoop and parallel dbms[END_REF], based on integrated approach, allow to make the bridge between the both approaches. These tools allow either to a MapReduce program to load data from a relational database, either to convert, through a wrapper, a file stored in an HDFS format into a relational format.

In this section we propose a state of the art concerning the evolution of data manipulation languages in cloud systems, and we point out why the proposed languages have evolved. More precisely, we present an overview of data manipulation languages, first, without relational operators, and next, with relational operators in data manipulation languages.

Data Manipulation Languages without Relational Operators

The first tools [START_REF] Chang | Bigtable: A distributed storage system for structured data[END_REF][START_REF] Cooper | PNUTS: yahoo!'s hosted data serving platform[END_REF][START_REF] Dean | Mapreduce: Simplified data processing on large clusters[END_REF] proposed in the literature allow to manipulate massive datasets by using procedural languages. Generally, they propose relatively simple languages which permit only filter or project operation on massive datasets. These tools were, mainly, designed to serve Web applications which do not need complex queries. For example, they want to query massive datasets such as logs and click streams. However, Web applications require scalability, high performance (e.g. minimization of response time) and high availability of data.

A very popular framework for processing massive datasets is MapReduce [START_REF] Dean | Mapreduce: Simplified data processing on large clusters[END_REF]. It allows the programmer to write map and reduce functions which correspond respectively to perform grouping and reduce functions. The programming model provides a good level of abstraction. However, for some applications (e.g. applications querying a relational model) this programming model is not suitable. It can make it complex to write some programs. For example, it is not easy for a programmer to write projection, selection, or join operators over datasets with map and reduce functions [START_REF] Chaiken | SCOPE: easy and efficient parallel processing of massive data sets[END_REF]. It also requires valuable expertise from the programmer since users specify the physical execution plan (i.e. users implement the operators and the scheduling of operators). This physical execution plan has many chances to be sub-optimal and there does not exist an automatic optimization process for a user program. We find a first solution to these problems in Bigtable [START_REF] Chang | Bigtable: A distributed storage system for structured data[END_REF] and Pnuts systems [START_REF] Cooper | PNUTS: yahoo!'s hosted data serving platform[END_REF].

Bigtable [START_REF] Chang | Bigtable: A distributed storage system for structured data[END_REF] is a distributed storage system which supports a simple data model that look likes a relational model. For that it relies on the file management system GFS (Google File System) [START_REF] Ghemawat | The google file system[END_REF] which provides fault-tolerance and data availability [50]. A table is a sparse, distributed, persistent multidimensional sorted map where data is organized into three dimensions: rows, columns and timestamps. Rows are grouped together to form the unit of distribution and load balancing. Columns are grouped to form the unit of access control. As for timestamps, they allow to differentiate different versions of the same data. Bigtable provides a basic API for creating, deleting and querying a table in a procedural language such as C++. This API provides only simple operators for iterates over subsets of data produced by a scan operator. There is no implementation of complex operators like join and minus operations. In the same way, PNUTS [START_REF] Cooper | PNUTS: yahoo!'s hosted data serving platform[END_REF] supports only selection and projection. It presents a simplified relational data model where data are stored in hashed or ordered relation. Pnuts tables are horizontally partitioned and each partition named tablets is no bigger than 1Gbyte. Other systems like Dynamo [START_REF] Decandia | Dynamo: amazon's highly available key-value store[END_REF] and Cassandra [START_REF] Lakshman | Cassandra: a decentralized structured storage system[END_REF] use an even simpler data access. Dynamo is used only by Amazon's internal services. Dynamo has a simple key/value interface which offers read and write operations to a data item that is uniquely identified by a key. As far as Cassandra, the data are also partitioned using a hash function and data are accessed by a key using an API composed of three methods: insert, get and delete.

Data Manipulation Languages using Relational Operators

The use of low level languages, like MapReduce, forces the users to write repetitively the same code for standard operations, like relational operators (e.g. join operator), for all new datasets. This is expensive in terms of development. Furthermore, the programs are complex to read. The bug probability is increased and an optimization process is complex. Based on these observations, the Pig Latin [START_REF] Gates | Building a highlevel dataflow system on top of mapreduce: The pig experience[END_REF][START_REF] Olston | Pig latin: a notso-foreign language for data processing[END_REF] and Jaql [START_REF] Beyer | Jaql: A scripting language for large scale semistructured data analysis[END_REF] languages have been proposed. These languages allow developers to work at a higher level of abstraction than MapReduce language. With Pig Latin a user can write without knowing the physical organization of the data and it introduces new operators like join. Pig Latin programs encode explicit dataflow graphs which interleave relational-style operators like join and filter with user-provided executables. A Pig Latin program is compiled in MapReduce program after four steps of transformation. Two of these steps concern the optimization process. A classical logical optimization step, where filter and project operators pushdown on the graph in order to reduce the processed data volume. With regard to the second optimization step, it optimizes the MapReduce program generated by a MapReduce compiler step. This optimization step consists in break distributive and algebraic aggregation functions into a series of map, combine and reduce operators. The authors [START_REF] Akbarinia | An efficient solution for processing skewed mapreduce jobs[END_REF][START_REF] Gates | Building a highlevel dataflow system on top of mapreduce: The pig experience[END_REF] use the Combiner/Intermediate Reduce as often as possible in order to (i) reduces the volume of data handled by the shuffle and merge operators and (ii) balance the amount of data associated for each key in order to limit the data skew for the Reduce operator. Jaql is also a procedural language where the functions are combined using '->' operator inspired from Unix pipes. A Jaql script [START_REF] Beyer | Jaql: A scripting language for large scale semistructured data analysis[END_REF] is transformed in a MapReduce program by a compiler following approximately the same optimization step as in Pig system. A difference with Pig Latin language is that the users have access to the internal system. This allows to users to develop a specific feature to solve performance problems.

A program written with Pig Latin or Jaql is complex to optimize. Indeed, the user determines a scheduling of relational operators. For an optimizer, it is difficult to determine a new optimal scheduling like in physical optimization of relational systems [START_REF] Lanzelotte | Extending the search strategy in a query optimizer[END_REF]. Furthermore, the alternative which suggests writing a program with low level languages requires a high expertise level from the user. For these reasons, Hive [START_REF] Thusoo | Hive -A warehousing solution over a map-reduce framework[END_REF][START_REF] Thusoo | Hive -a petabyte scale data warehouse using hadoop[END_REF], SCOPE [START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF] systems, and CoherentPaaS project [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF] propose to use declarative languages close to SQL language. These languages allow a user to define a relation compounded of several typed columns. Each of these languages can load data from external data sources and insert query results in formats defined by users. For example, SCOPE language has been enriched by extractor operators in order to parse and construct rows from any kind of data sources and outputter operators to format the final result of a query. As for HiveQL language, the formats of an external data source or result is defined in data definition language (i.e. during create table order).

With regard to the optimization process, in Hive system, it comprises four steps: (i) a logical optimization step, (ii) a simplification step which prunes partitions and buckets that are not needed by the query, (iii) a combiner step which groups multiple joins sharing the same join attribute in order to be executed in a single MapReduce join, and (iv) a step which adds repartition operators for join, group-by and custom MapReduce operators. As for SCOPE system [START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF], the optimization process includes a logical optimization and chooses for each operator the best algorithm to process it (e.g. hash join or sort-merge join) and determines the scheduling of operators. With regard to avoid data reshuffling, which deteriorates the performance, a top-down approach is proposed in order that a parent operator imposes its requirements to the child operators [START_REF] Akbarinia | An efficient solution for processing skewed mapreduce jobs[END_REF][START_REF] Zha | An uncoupled data process and transfer model for mapreduce[END_REF][START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF].

Discussion

To manage a huge amount of data there are two approaches: parallel database servers and tools proposed by cloud servers. The parallel database servers have been an important success, whether in research in the early 90s and now in industry. They have enabled many applications handling large data volumes to meet their requirements in terms of high performance and resource availability. However, the use of a parallel database server is expensive for a company. Indeed, it requires the purchase of an expensive server and requires having high level skills within the company to administer servers and databases.

An alternative approach is to use tools proposed by cloud servers to manipulate massive datasets. This allows a company to reduce these costs in terms of infrastructures (Iaas) either by purchasing a server comprised of low-cost commodity machines or by renting services (PaaS and/or SaaS) in pay-per-use. An important characteristic of cloud systems is to provide a mechanism for integrated fault tolerance. This feature is important because it avoids restarting, from the beginning, a program in case of processor or process failure. As data volumes grow every day, this feature has become a critical requirement for applications. In addition, more and more applications querying only one time a dataset. For this kind of application, the loading cost of the dataset in a database server becomes prohibitive for a single query. Hence, this kind of application is not suitable for a database server, and many applications have turned to use cloud systems.

Regarding to the state of the art and previous quantitative and qualitative studies and comparisons [START_REF] Floratou | Can the elephants handle the nosql onslaught?[END_REF][START_REF] Jiang | The performance of mapreduce: An in-depth study[END_REF][START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF] between PRDBMS and cloud systems, we can point out the following statements:

1. Functional Complementarity between cloud systems and parallel DB systems: in fact, the cloud systems are not intended to replace traditional RDBMS but rather to provide them with the missing features, particularly, for Web applications and Internet services. Moreover, these systems provide scalability in terms of loads adapted for Web applications. In [START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF], the authors have conducted a benchmark study by comparing Hadoop/MapReduce and two parallel RDBMSs. "The results show that the DBMSs are substantially faster than the MapReduce system once the data is loaded ". Their main conclusion of [START_REF] Stonebraker | Mapreduce and parallel dbmss: friends or foes?[END_REF] is that: "MapReduce complement DBMSs since databases are not designed for ETL (Extract-Transform-Load) tasks, a MapReduce specialty". 2. Maturity: Compared to traditional RDBMS, the cloud systems lack maturity and standardization/normalization (e.g., query languages). These systems require more experimentation and benchmarking (e.g. TPC -H, and TPC -DS) [START_REF] Floratou | Sql-on-hadoop: Full circle back to sharednothing database architectures[END_REF] with full-scale big data applications while taking into maximum consideration simultaneously their Vs which characterize them.

As far as the evolution of data manipulation languages in cloud systems, the first proposed languages allow manipulation of data stored in a cloud system, either with functional languages like MapReduce or with imperative languages like C++. These languages force the developer to: (i) modify the program if the data structure changes, and (ii) often rewrite the very similar code on different datasets. In addition, in case of performance problems, these programs are very difficult to optimize due, in particular, to their understanding which is complex. Thus, new languages like Pig Latin [START_REF] Gates | Building a highlevel dataflow system on top of mapreduce: The pig experience[END_REF] and Jaql [START_REF] Beyer | Jaql: A scripting language for large scale semistructured data analysis[END_REF] have been proposed using relational operators such as join. As a result, user programs are more readable. Using these high level languages, the automatic optimization process has been introduced as the logic optimization, conventionally used by a RDBMS. However, these languages are still procedural and classical physical optimization process cannot be applied like in RDBMS. Therefore, Hive [START_REF] Thusoo | Hive -a petabyte scale data warehouse using hadoop[END_REF], Clydesdale [START_REF] Kaldewey | Clydesdale: structured data processing on mapreduce[END_REF] and SCOPE [START_REF] Zhou | SCOPE: parallel databases meet mapreduce[END_REF] systems and CoherentPaas project [START_REF] Bondiombouy | Integrating big data and relational data with a functional sql-like query language[END_REF] use nonprocedural (i.e. declarative) languages close to the SQL language. This helped to adapt the automatic relational optimization process proposed in the context of RDBMS (e.g. parallel RDBMS). The major drawback of this optimization process, compared to those used in RDBMS, is the scarcity of statistics stored in the meta-base. Indeed, in a cloud system, at compile time, there is no statistics on datasets (e.g. cardinality). This blinds the optimization process and impacts the choice of the optimal execution plan. Hence, a dynamic optimization process becomes necessary in order to react to sub-optimal execution plans. In this objective, [START_REF] Agarwal | Reoptimizing data parallel computing[END_REF] proposes to collect statistics at runtime, and adapts the execution plan at runtime by interfacing with a query optimizer. This proposal can be seen as an elegant adaptation of [START_REF] Kabra | Efficient mid-query re-optimization of sub-optimal query execution plans[END_REF], proposed in a parallel database system, to a cloud system. More generally, with respect to the issue of query optimization in cloud environments, the most recent and relevant proposals are described in [START_REF] Chang | HAWQ: a massively parallel processing SQL engine in hadoop[END_REF][START_REF] Karanasos | Dynamically optimizing queries over large scale data platforms[END_REF][START_REF] Soliman | Orca: a modular query optimizer architecture for big data[END_REF][START_REF] Trummer | Multi-objective parametric query optimization[END_REF].

Conclusion

In this paper, we provided a synthetic and highlight state of the art concerning big data management in cloud environments. In this objective, we have tackled two major issues: (i) data management based on parallel and cloud (e.g. MapReduce) systems are over-viewed and compared by relying on meeting software requirements (e.g. data independence, software reuse), high performance, scalability, elasticity, and data availability and (ii) we mainly focused on the evolution of data manipulation languages in cloud systems. Initially, these languages were low level procedural languages as for example MapReduce. For software engineering requirements these languages evolved by introducing relational algebra operators while remaining procedural. It also allowed introducing some optimization processes used classically in RDBMS. Then, they continued their evolution for optimization needs. They became declarative to increase the opportunities of automatic optimization for user queries. The various optimization steps are very close to those used in parallel RDBMS. The main difference is due to the quasi-absence of statistics used by cost models. This blinds the optimization process and an efficient dynamic optimization becomes essential and necessary, to correct sub-optimality of sub-execution plans.