BIG DATA: A CASE STUDY ON DATA FROM THE BRAZILIAN MINISTRY OF PLANNING, BUDGETING AND MANAGEMENT



Similar documents
Improved Business Intelligence Solution with Reimbursement Tracking System for the Brazilian Ministry of Planning, Budget and Management

How To Scale Out Of A Nosql Database

An Approach to Implement Map Reduce with NoSQL Databases

Lecture 10: HBase! Claudia Hauff (Web Information Systems)!

Can the Elephants Handle the NoSQL Onslaught?

NoSQL Data Base Basics

Introduction to Apache Cassandra

Big Data Technology ดร.ช ชาต หฤไชยะศ กด. Choochart Haruechaiyasak, Ph.D.

bigdata Managing Scale in Ontological Systems

How To Handle Big Data With A Data Scientist

Not Relational Models For The Management of Large Amount of Astronomical Data. Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF)

Qsoft Inc

BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON

Challenges for Data Driven Systems

Open source large scale distributed data management with Google s MapReduce and Bigtable

HBase A Comprehensive Introduction. James Chin, Zikai Wang Monday, March 14, 2011 CS 227 (Topics in Database Management) CIT 367

Big Data: Opportunities & Challenges, Myths & Truths 資 料 來 源 : 台 大 廖 世 偉 教 授 課 程 資 料

NoSQL and Hadoop Technologies On Oracle Cloud

Reference Architecture, Requirements, Gaps, Roles

Oracle Big Data SQL Technical Update

Role of Cloud Computing in Big Data Analytics Using MapReduce Component of Hadoop

Transforming the Telecoms Business using Big Data and Analytics

Foundations of Business Intelligence: Databases and Information Management

Business Intelligence and Column-Oriented Databases

ESS event: Big Data in Official Statistics. Antonino Virgillito, Istat

Benchmarking Cassandra on Violin

Workshop on Hadoop with Big Data

NoSQL Database Systems and their Security Challenges

Managing Cloud Server with Big Data for Small, Medium Enterprises: Issues and Challenges

Application Development. A Paradigm Shift

A survey of big data architectures for handling massive data

SQL VS. NO-SQL. Adapted Slides from Dr. Jennifer Widom from Stanford

INTRODUCTION TO APACHE HADOOP MATTHIAS BRÄGER CERN GS-ASE

Alexander Nikov. 5. Database Systems and Managing Data Resources. Learning Objectives. RR Donnelley Tries to Master Its Data

White Paper: What You Need To Know About Hadoop

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Introduction to Hadoop. New York Oracle User Group Vikas Sawhney

Comparing SQL and NOSQL databases

Hadoop Ecosystem B Y R A H I M A.

Introduction to Big Data Training

So What s the Big Deal?

Big Data: Tools and Technologies in Big Data

Oracle s Big Data solutions. Roger Wullschleger. <Insert Picture Here>

Infomatics. Big-Data and Hadoop Developer Training with Oracle WDP

Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control

INTRODUCTION TO CASSANDRA

Design and Evolution of the Apache Hadoop File System(HDFS)

Chapter 7. Using Hadoop Cluster and MapReduce

Maximizing Hadoop Performance and Storage Capacity with AltraHD TM

Apache HBase. Crazy dances on the elephant back

News and trends in Data Warehouse Automation, Big Data and BI. Johan Hendrickx & Dirk Vermeiren

Big Data With Hadoop

Integrating Big Data into the Computing Curricula

Healthcare Big Data Exploration in Real-Time

Research Article Evaluating the Cassandra NoSQL Database Approach for Genomic Data Persistency

Keywords Big Data, NoSQL, Relational Databases, Decision Making using Big Data, Hadoop

Chapter 6 8/12/2015. Foundations of Business Intelligence: Databases and Information Management. Problem:

Benchmarking Hadoop & HBase on Violin

Performance and Scalability Overview

Yu Xu Pekka Kostamaa Like Gao. Presented By: Sushma Ajjampur Jagadeesh

Big Data & QlikView. Democratizing Big Data Analytics. David Freriks Principal Solution Architect

Benchmarking and Analysis of NoSQL Technologies

Big Data and Scripting Systems build on top of Hadoop

marlabs driving digital agility WHITEPAPER Big Data and Hadoop

Architectural patterns for building real time applications with Apache HBase. Andrew Purtell Committer and PMC, Apache HBase

Evaluating NoSQL for Enterprise Applications. Dirk Bartels VP Strategy & Marketing

Big Data Buzzwords From A to Z. By Rick Whiting, CRN 4:00 PM ET Wed. Nov. 28, 2012

Big Data Analytics OverOnline Transactional Data Set

Hadoop IST 734 SS CHUNG

NoSQL for SQL Professionals William McKnight

THE DEVELOPER GUIDE TO BUILDING STREAMING DATA APPLICATIONS

CSE 590: Special Topics Course ( Supercomputing ) Lecture 10 ( MapReduce& Hadoop)

Cloud Storage Solution for WSN Based on Internet Innovation Union

Introduction to Big data. Why Big data? Case Studies. Introduction to Hadoop. Understanding Features of Hadoop. Hadoop Architecture.

A Distributed Storage Schema for Cloud Computing based Raster GIS Systems. Presented by Cao Kang, Ph.D. Geography Department, Clark University

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

LARGE-SCALE DATA STORAGE APPLICATIONS

Big Data and Hadoop with Components like Flume, Pig, Hive and Jaql

Cost-Effective Business Intelligence with Red Hat and Open Source

Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Introduction to Big Data! with Apache Spark" UC#BERKELEY#

Realtime Apache Hadoop at Facebook. Jonathan Gray & Dhruba Borthakur June 14, 2011 at SIGMOD, Athens

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Architectures for Big Data Analytics A database perspective

Peers Techno log ies Pv t. L td. HADOOP

Using the column oriented NoSQL model for implementing big data warehouses

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

BIG DATA CHALLENGES AND PERSPECTIVES

Scaling Up 2 CSE 6242 / CX Duen Horng (Polo) Chau Georgia Tech. HBase, Hive

Practical Cassandra. Vitalii

A Performance Analysis of Distributed Indexing using Terrier

Report Data Management in the Cloud: Limitations and Opportunities

Big Data Course Highlights

On a Hadoop-based Analytics Service System

Cassandra A Decentralized, Structured Storage System

A Survey of Distributed Database Management Systems

Bigtable is a proven design Underpins 100+ Google services:

Using distributed technologies to analyze Big Data

Big Data and Hadoop with components like Flume, Pig, Hive and Jaql

Structured Data Storage

Transcription:

BIG DATA: A CASE STUDY ON DATA FROM THE BRAZILIAN MINISTRY OF PLANNING, BUDGETING AND MANAGEMENT Ruben C. Huacarpuma, Daniel da C. Rodrigues, Antonio M. Rubio Serrano, João Paulo C. Lustosa da Costa, Rafael T. de Sousa Júnior, Maristela Holanda* and Aleteia P. F. Araujo* Department of Electrical Engineering, University of Brasília Brasília, Brazil. *Department of Computer Science, University of Brasilia, Brasília, Brazil. ABSTRACT The Brazilian Ministry of Planning, Budgeting and Management (MPOG) has to deal with enormous amounts of data. Processing all this data in a better way can reduce operating costs and makes it possible to invest public resources in a more rational way. In this paper, we apply Big Data technologies such as Hadoop and Hbase to solve the data load and query problems for distributed data processing. We validate the proposed processes based on the Big Data tools by comparing them with the current process used in the Integrated System for Human Resources Management, in Portuguese Sistema Integrado de Administração de Pessoal (SIAPE). The inclusion of Big Data technologies in the proposed solution increases the performance of the process in terms of loading and querying time. KEYWORDS Big Data, NoSQL, Hbase, Hadoop 1. INTRODUCTION Over the past years, the storage and management of Big Data has become a serious problem. According to Russom (2011), when the volume of data started to grow exponentially in the early 2000s, storage and processing technologies where overwhelmed by hundreds of terabytes of data. In addition, the heterogeneous nature of the data presents problems that must be considered. This characteristic can be observed in different domains such as social networks, gene sequences or measuring cell protein concentrations (Andrew, 2012). Moreover, improved internet connections and new technologies such as smart phones or tablets make it necessary to store and query the data more quickly. For these reasons, organizations and enterprises are becoming more and more interested in Big Data technologies. Aside from well-known IT companies such as Google and Facebook, governments are also interested in Big Data technologies in order to process information related to education, health, energy, urban planning, financial risks and security. Processing all this data makes the reduction of operating costs possible as well as the investment of public resources in a more rational way (Office of Science and Technology Policy of The United States, 2012). Along with other governments Brazil is starting to employ Big Data technologies in its IT systems. In this work, we propose the use of Big Data technology to solve the limitations observed on the SIAPE (SIAPE, 2013) database using the Extract, Transform and Load (ETL) tool (Tang et al. 2009) and NoSQL data storage. The SIAPE system controls the payroll information of all federal public sector employees in Brazil. Since the amount of data on SIAPE is growing at a rate of 14GB per month it can be characterized as Big Data. The SIAPE database is used as the case study in this paper in order to validate our proposal. The remainder of this paper is structured as follows: Section 2 presents basic concepts related to Big Data. In Section 3, we describe the use case. Section 4 discusses our implementation results. Finally, Section 5 presents our conclusions. 201

ISBN: 978-989-8533-20-3 2013 IADIS 2. BIG DATA TECHNOLOGIES The literature usually defines Big Data based on the size of the data (Stacy, 2011). In this work, Big Data is not just defined by the size, but according to Russom (2011) who takes into account the 3Vs. i.e. Volume, Variety and Velocity. The storage, manipulation and analysis of the enormous datasets are becoming cheaper and faster than ever, with the use of Big Data technologies (Stacy, 2011). These technologies make it possible to extract value from very large volumes of a wide variety of data by enabling high-velocity capture, discovery, and/or analysis. In this context, database storage systems are preeminent and motivate the development of new database technologies such as Not-only SQL (NoSQL) databases. These databases are designed by principle for storing and retrieving great quantities of data. In general, NoSQL systems are used on a distributed system that offers scalability by taking profit from multiple nodes. Unlike traditional relational models, NoSQL does not provide a strict consistency for the data, defined by the Atomicity, Consistency, Isolation and Durability (ACID) features. However, this definition of consistency may be too strict and not necessary in some cases, especially if we want to work in a distributed environment. Instead of that, NoSQL systems are based on the Consistency, Availability and Partition Tolerance (CAP) theory (O Brien, 2012), which is applied to all the database storage systems. One of the most widely used NoSQL databases is Hbase. Hbase implements the column-oriented model as well as Bigtable (Chang et al 2008). Besides that, Hbase essentially offers consistency and partition tolerance according to CAP theorem (O Brien, 2011). 3. CASE STUDY The case study presented in this paper consists of the implementation of a NoSQL storage system using Hadoop and Hbase technologies. The performance of the proposed solution is compared to the PostgreSQL (PostgreSQL, 2013) implementation that is currently used on the SIAPE database. In this context, the loading time of the SIAPE file into HBase and Postgres database was analyzed, as well as the query time to perform audit trails (S. R. Campos, 2012) over the SIAPE database in order to find irregularities over each payroll of the federal employees. The hardware setup used for the relational database system consists of a Dell Inc. PowerEdge R610 with a 2xCPU Xeon 2.80GHz, 32GB RAM and a HD of 500GB. The Database Management System (DBMS) used in this case is the PostgreSQL v8.4 optimized for this hardware. In the case of the NoSQL approach, two types of configurations are used: the Master Server and the Region Server. A single system has been configured as a Master Server, while three systems are used as Region Servers. In the remainder of this section we explain, initially, how the file is formatted before beginning with the loading data and, secondly, the process of loading data after the file formatting process. Finally, we discuss some aspects related to data storage. 3.1 SIAPE File/Database SIAPE (SIAPE, 2013) is a national system to manage the payroll of Brazilian federal workers. This system manages every paying unit at the national level. In addition, it ensures the availability of data on the page siapenet.gov.br. In this context, the SIAPE file contains a sequential copy of the SIAPE database for each month including personal, functional and financial data of federal public workers in Brazil. This file has information of about two and half million workers, among them, active, inactive and retired. The actual size of each SIAPE file per month is about 14GB and is growing every month. Moreover, this file contains 212 fields between personal, functional and financial data. The current state of the database that imports this data is: More than 27 million rows of the public workers table. About 200 million rows in the financial data table. This information covers exclusively the 2012 fiscal year, so in both short and long-term time frames this database is prone to an important growth rate regarding operations for storing and querying data. 202

3.2 Modeling The first challenge was to adapt the relational model of the SIAPE database (See Figure 1(a)) to the NoSQL (HBase) model. The relational model of the SIAPE database is composed mainly of the tables servidor_historico, servidor_dado_financeiro, as well as auxiliary tables and the related indexes for the main queries. For the NoSQL model it was defined the Worker table and its row key composed of the fields Year/Month, MatSiape, CodOrgao, Upage and SeqSdf to guarantee a unique identifier for every employee. The creation of this row key was defined to take advantage of the HBase data structure. This row key was created according to the more common questions to be answered in the queries. Figure 1. (a) Postgres structure for SIAPE Database and (b) HBase Database Structure for SIAPE Database. In our implementation, two column families were defined: Personal Data and Financial Data. We define Personal Data as a column family to group all columns related to the employee s personal data, while the Financial Data column family is defined to store the employee s financial data. In this sense, the last attribute (SeqSdf) of the row key contains a sequence value to represent every financial data of a specific employee. Besides this, the use of column families in Hbase for storing data allows the disk usage optimization. The data structure designed for storing SIAPE data in the HBase system is shown in Figure 1(b). 3.3 Implementation First, we chose the Cloudera Hadoop Distribution v4.0 (CHD4) for easy use and free distribution, thereby leading to the configuration of the CHD4, Zookeeper (only for the Master Server), HDFS and Hbase. Secondly, we defined two steps for loading the SIAPE file: formatting the SIAPE file in a CSV format and loading the CSV files using the ETL provided by the Pentaho Data Integration (PDI) (Sergio et al. 2011). To implement the formatting process, we used a shell script to separate the personal and functional data in a CSV file called servidor, as well as, another CSV file containing financial data of employees called servidor_dados_financeiros. The servidor file has 192 fields. After the formatting, this file contains almost 2.4 millions rows (or employees and their personal and functional data). The servidor_dados_financeiros file has 20 fields and after formatting, this file contains almost 20 million rows. To implement the loading process the PDI software to load data into the Worker Hbase table for servidor and servidor_dados_financeiros data. Figures 2 and 3 show the flow model followed by the loading process for the Worker table in the Hbase database. In the first step, we treat the CSV file of servidor concatenating the year and month fields. In the Second step, the row key is generated for every employee by composing with the fields Year/Month, MatSiape, CodOrgao, Upage and SeqSdf was generated. In the third step, unnecessary or temporary fields were removed. Finally, we insert the output into the Worker Hbase table. For financial data the process follows the same sequence as showed in Figure 3. It is important to be emphasized that formatting and loading processes happen every month when the SIAPE file is provided to the human resources department. 203

ISBN: 978-989-8533-20-3 2013 IADIS Figure 2. Loading Data Sequence for Personal Data. Figuare 3. Loading Data Sequence for Financial Data. 4. RESULTS AND DISCUSSION The loading process was repeatedly tested using the resulting CSV file. This process lasted about 30.0 minutes with Postgres and 05.18 minutes with Pentaho/Hbase. This means that Pentaho/Hbase was 82.72% faster than the Postgres database. A brief comparison of some querying processing is shown in Table 1. The latency is shown when querying data using a relational and NoSQL (Hbase) technologies. Table 1. Result of Querying Data. Time of Loading CSV File Pentaho-HBase Postgres % Single result by key 16 ms 23 ms 30.43 All data about a worker filtered by month and year 17 ms 35 ms 51.43 All data filtered by month and year 0.440472 min 24.9 min 98.23 Audit Trail: Incompatibility of rubric 8.7833 min 26.666 min 67.06 Comparing the Hbase and Postgres results for loading data, we notice that the Hbase solution obtained better results for many reasons. One reason is that Hbase does not use the ACID principle. While Postgres spends more time and resources trying to fit the ACID properties, the Hbase is interested in fitting consistency and partition tolerance according to the CAP theorem (Vora, 2011). This is less expensive in terms of time and resources (O Brien, 2012). Another aspect that may help to reduce the loading time was the use of the HDFS to load the SIAPE formatting file. This means before beginning with the loading we store the CSV file into the HSDF with the objective of reducing the O/I during the loading process. The query time tests also showed better results for Hbase technology. The used model influences the speed of the query. First, the Hbase model uses the key to get an entire row (value). Thus, the method to build the key will impact the speed of the query. Secondly, the Hbase key table is ordered, so if the key is built with the more frequently used fields, the query responses will be faster. This happens because every row is stored in an ordered fashion according to the used key and the probability of the row being stored in the same HDFS DataNode is very high. This helps to query data very quickly because the more fields (more frequently used fields to query data) contained in the key the faster the query will be. This is the case unless the number of fields become too large because this may compromise the query performance. Finally, the Hbase columns are lexicographically oriented. This allows scan operations to be very fast in a specific range without the necessity of using secondary indexes. The Hbase works differently from a relational database, since is a column oriented database where the columns are lexicographically oriented. It allows one to make scan operations within a specific range in a more direct and rapid way, without the necessity of using secondary indexes. Additionally it is worth to point that the results can be improved by tuning the data store, for instance, via table scan. Currently the scan is done in a sequenced fashion. This configuration can be done in parallel for every DataNode. This can deliver the data processing to every DataNode and it will improve the scan table. Furthermore, the scalable property of Hbase helps manage the data growth that will be expected in the future years. 204

5. CONCLUSION AND FUTURE WORKS It is undeniable that Big Data will gain importance in a lot of fields. In this context we examine a relatively big database (SIAPE database), which is actually facing storage, process and query problems. In addition, in the short and the long-term, the current system risks to be untenable. In this work, we show how performance is improved by using Big Data technologies. In this way, we have improved the loading and querying data using a ETL processor and Hbase as the data storage module. The results showed an improved performance in terms of time for loading data in the SIAPE database and improving the latency for querying data. Moreover, we notice that good modeling of data can help to get better query latency. In the future we intend to test loading data in a larger cluster including desktop computers with less processing and storage capacities. A comparison with other NoSQL technologies can also be done. This will show Hbase performance comparing it to other data storage like Cassandra (Cassandra, 2013). ACKNOWLEGMENTS The authors wish to thank the Brazilian Ministry of Planning, Budget and Management for its support to this work. REFERENCES Andrew C., Huy L and Aditya P., 2012. Big Data. XRDS The ACM Magazine for students, Vol. 19, No 01, pp. 7-8. Cassandra, 2013. http://cassandra.apache.org Chang F, et al. 2008. Bigtable: A Distributed Storage System for Structured Data, ACM Transactions on Computer Systems. Vol. 26, No. 2, pp 1-26. O Brien, C. J. et al, 2012. MSCS 6350 Project 2 CAP Theorem in the Cloud. Office of Science and Technology Policy of The United States et al, 2012. Fact Sheet: Big Data Across the Federal Government. www.whitehouse.gov/ostp. Padhy, R. P., Patra, M. R., and Satapathy, S. C., 2011. RDBMS to NoSQL: Reviewing Some Next-Generation Non- Relational Databases. International Journal of Advanced Engineering Science and Technologies, Vol. 11, No. 1, pp. 15-30. PostgreSQL, 2013. PostgreSQL: The world's most advanced open source database, http://www.postgresql.org/ Russom, P. et al, 2011. Big Data Analytics, TDWI Best Practices Report, Fourth Quarter. Sandir C. et al, 2012. Ontologic Audit Trails Mapping for Detection of Irregularities in Payrolls. International Conference on Next Generation Web Services Practices. Sergio P, and María R., 2011. Pentaho Data Integration 4 Cookbook. First Edition, Packt Pub Limited. London, 2011. Stacy C., et al. 2011. Why big data is a big deal. Computerworld, Vol. 45, No. 20, pp. 1-6. SIAPE, 2013. Siape - Sistema Integrado de Administração de Recursos Humanos https://www.serpro.gov.br/conteudosolucoes/produtos/administracao-federal/siape-sistema-integrado-de-administracao-de-recursos-humanos. Tang J., et al. 2009. The Research & Application of ETL Tool in Business Intelligence Project. In: Information Technology and Applications, 2009. IFITA'09. International Forum on. IEEE. Vol. 2, pp. 620-623. Vora, M. N., et al, 2011. Hadoop-HBase for large-scale data. International Conference of Computer Science and Network Technology (ICCSNT), IEEE, Vol. 1, pp. 601-605. 205