Inner architecture of a social networking system

  • Authors:
  • Jaroslav Škrabálek;Petr Kunc;Tomáš Pitner

  • Affiliations:
  • Lab Software Architectures and Information Systems, Faculty of Informatics, Masaryk University, Brno, Czech Republic;Lab Software Architectures and Information Systems, Faculty of Informatics, Masaryk University, Brno, Czech Republic;Lab Software Architectures and Information Systems, Faculty of Informatics, Masaryk University, Brno, Czech Republic

  • Venue:
  • SOFSEM'12 Proceedings of the 38th international conference on Current Trends in Theory and Practice of Computer Science
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Social networks, their increasing popularity reaching hundreds of million users, demand advance software architecture. Countless requests per second necessitate flexible and utmost efficiency and high performance. This article is focused on development of such a web-based service offering social functionality to end users, but from the technology point of view represents state-of-the-art in current usage of the latest technologies. Those technologies mentioned further are often used for the first time in such a complex project. High volume data distribution is handled by Apache Hadoop framework together with Hadoop Distributed File System (HDFS) and MapReduce. Therewithal, non-relational distributed database HBase and Memcached tool ensures scalability and high throughput helping with often accessed information. Inner architecture of the social subsystem has been implemented within three-layer structure (services/data access/transmission). Social subsystem among others deals with one-way (unsymmetrical) relationship generation or cancellation between users but events either. Particular system entities are allowed to add comments, follow or "like" others. In the end, testing phase, deployment and practical utilization (although the resulted solution is completely independent) is demonstrated on practical example of case study Takeplace --- complex tool for event management.