Big data storage technologies: a survey <s> Taxonomy of big data storage technologies <s> Reliability at massive scale is one of the biggest challenges we face at Amazon.com, one of the largest e-commerce operations in the world; even the slightest outage has significant financial consequences and impacts customer trust. The Amazon.com platform, which provides services for many web sites worldwide, is implemented on top of an infrastructure of tens of thousands of servers and network components located in many datacenters around the world. At this scale, small and large components fail continuously and the way persistent state is managed in the face of these failures drives the reliability and scalability of the software systems. This paper presents the design and implementation of Dynamo, a highly available key-value storage system that some of Amazon's core services use to provide an "always-on" experience. To achieve this level of availability, Dynamo sacrifices consistency under certain failure scenarios. It makes extensive use of object versioning and application-assisted conflict resolution in a manner that provides a novel interface for developers to use. <s> BIB001 </s> Big data storage technologies: a survey <s> Taxonomy of big data storage technologies <s> The paper is focused on so called NoSQL databases. In context of cloud computing, architectures and basic features of these databases are studied, particularly their horizontal scalability and concurrency model, that is mostly weaker than ACID transactions in relational SQL-like database systems. Some characteristics like a data model and querying capabilities are discussed in more detail. The paper also contains an overview of some representatives of NoSQL databases. <s> BIB002
Big data storage technologies described in the previous section are categorized according to their data model and licensing in this section. There are four types of data model, key-value, column-oriented, document-oriented, and graph, whereas licensing has three categories, open source, proprietary, and commercial. We classify the storage technologies and develop taxonomy based on their data models and licensing. Additionally, we elaborate tensor decompositions and networks as representation and analysis models for multi-relational big data stored using graph-based technologies. Scalability and fast data retrieval are the significant expectations of a storage system in this regard. However, categories of data models offer different levels of heterogeneity. The following is a description of the data models, and the example cases for each data model are presented in Fig. 4 . Key-value: Key-value databases are developed for big data storage and store not only structured but especially unstructured data in the form of a key and the corresponding value of each data record BIB002 . These databases have suitable storage structure for continuously growing, inconsistent values of big data for which faster response of queries is required. Key-value databases provide support to large-volume data storage and concurrent query operations. Unlike block storage systems, key-value data structure stores data in small objects instead of blocks and they are easily configurable BIB001 . In key-value databases, values in records may differ or have different representations. In this way, this structure offers less memory consumption and the flexibility of adding more records easily. The appropriate scenario for a key-value database is when searching for more than one feature from records is needed. Most common applications of key-value storage are session information management for online games, online shopping, and other web applications where an enormous number of small-sized records are to be managed. 