David Gibbs and Govardhan Tanniru Georgia State University Department of Computer Science P.O. Box 3965 Atlanta, GA 30302-3965. Big Data does not only relate to the size of data Complexity: missing information, dummy data, organization Processing: Software, processing power, parallel and distributed computing Data Transfer: Limitations of current systems, CPU intensive Storage: Data sets beyond relational database, clusters, data centers, distributed data User Interaction: Non-programmers need to perform complex information, real time GUI interfaces, visualization of data Primary sources of big data Meteorology Complex physics simulations Biology Business Web searching Social networking Telecommunications Many programs for storage and processing Most Popular: HDFS, GFS, Hadoop, and MapReduce No standard for processing/storing data No common “off the shelf” software Increases the difficulty in mining data within a field or industry Storage Transfer Developing a system in which very large amounts of data can be stored securely and accessed quickly Transfer from the storage site to the processing site Moving large amounts of data over TCP is costly Processing How powerful of a system is needed? “There is a lot of data but no information” Processing the data in an efficient manner and obtaining the correct information NoSQL Allows storage of massive data sets without the need for overwhelming tables and indexing Each cluster stores part of the data and replicates it on other clusters Master/Slave architecture HDFS (Hadoop Distributed File System) P2P architecture Cassandra ColumnFamily data model Increased difficulty for data mining No Join operations Pulling in more data than needed Increased transfer times, processing power The key advantage of schema-free design is that it enables applications to quickly upgrade the structure of data without table rewrites. The data validity and integrity aspect is enforced at the data management layer. NoSQL typically does not maintain complete consistency across distributed servers because of the burden this places on databases, particularly in distributed systems. The Consistency, Availability, Partition (CAP) Theorem states that with consistency, availability, and partitioning tolerance, only two can be optimized at any time. Traditional relational databases enforce strict transactional semantics to preserve consistency, but many NoSQL databases have more scalable architectures that relax the consistency requirement. Some NoSQL databases put objects into a conflict state when this occurs. However, it is inevitably the responsibility of the application to deal with these conflicts. Google File System Map Reduce Big Table Google has reexamined traditional choices /Assumptions and explored radically different points in the design space. First, component failures are the norm rather than the exception. ->The system is built from many inexpensive commodity components that often fail. It must constantly monitor itself and detect, tolerate, and recover promptly from component failures on a routine basis Second, files are huge by traditional standards. Multi-GB files are common. Third, most files are mutated by appending new data rather than overwriting existing data. Fourth, co-designing the applications and the file system API benefits the overall system by increasing our flexibility . Random writes within a file are practically non-existent. Once written, the files are only read, and often only sequentially. A variety of data share these characteristics. Appending becomes the focus of performance optimization and atomicity guarantees, while caching data blocks in the client loses its appeal. Google has introduced an atomic append operation so that multiple clients can append concurrently to a file without extra synchronization between them. Snapshot :creates a copy of a file or a directory treeat low cost. Record :append allows multiple clients to append data to the same file concurrently while guaranteeing the atomicity of each individual client’s append. (Without Additional Locking). Master servers keep metadata on the various data files. Chunk servers store the actual data on disk. Each chunk is replicates across three different chunk servers to create redundancy in case of server crashes. Once directed by a master server, a client application retrieves files directly from chunk servers. MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs. A Reduce function that merges all intermediate values associated with the same intermediate key. The MapReduce system has three different types of servers. The Master server assigns user tasks to map and reduce servers. It also tracks the state of the tasks. - The Map servers accept user input and performs map operations on them. The results are written to intermediate files. The Reduce servers accepts intermediate files produced by map servers and performs reduce operation on them. The steps look like: GFS -> Map -> Shuffle -> Reduction -> Store Results back into GFS. - In MapReduce a map maps one view of data to another, producing a key value pair, Data transferred between map and reduce servers is compressed. The idea is that because servers aren't CPU bound it makes sense to spend on data compression and decompression in order to save on bandwidth and I/O. map(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1"); reduce(String key, Iterator values): // key: a word // values: a list of counts int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result)); BigTable is a large scale, fault tolerant, self managing system that includes terabytes of memory and petabytes of storage. It can handle millions of reads/writes per second. BigTable is a distributed hash mechanism built on top of GFS. It is not a relational database. It doesn't support joins or SQL type queries. It provides lookup mechanism to access structured data by key. GFS stores opaque data and many applications needs has data with structure. Machines can be added and deleted while the system is running and the whole system just works. Each data item is stored in a cell which can be accessed using a row key, column key, or timestamp. · BigTable has three different types of servers: ( Master, Tablet ,Lock Servers) Use ultra cheap commodity hardware and built software on top to handle their death. A 1,000-fold computer power increase can be had for a 33 times lower cost if you you use a failure-prone infrastructure rather than an infrastructure built on highly reliable components. You must build reliability on top of unreliability for this strategy to work. Many Papers focus on the integration of Traditional and Big Data Architectures. We need architectures to handle both the types of Data. Below is the diagram from Oracle white Paper. Knowledge Discovery in Databases. Bringing the big data and big compute communities together is an active area of research. Hybrid Way of Storing Un Structuted Data(File Systems and DBMS). Efficient Data Transfer Protocols for Big Data(highperformance network data movement ) Use of cloud computing for Big Data. Compression aspects: I/O Performance Analysis for Big Data Clustering. Privacy Implications on Social Networking sites.(Friends tagging another person). Faults with HADOOP might help our research.
© Copyright 2024