Finding the Right Data Solution for your Application in the Data Storage Haystack
Share this Session:
  Srinath Perera   Srinath Perera
Senior Software Architect
WSO2 Inc.


Wednesday, August 24, 2011
11:30 AM - 12:20 AM

Level:  Technical - Intermediate

The NoSQL movement has rekindled interest in data storage solutions. A few years ago, within limited scale systems, storage choices for programmers and architects were simple where relational databases were almost always the choice. However, advent of Cloud and ever increasing user bases for applications have given rise to larger scale systems. Relational databases cannot always scale to meet the needs of those systems, and as an alternative, the NoSQL movement has proposed many solutions.

For a programmer who wants to select a data model, they now have to choose from a wide variety of choices like Local memory, Relational databases, Files, Distributed Cache, Column Family Storage, Document Storage, Name value pairs, Graph DBs, Service Registries, Queue, and Tuple Space etc. Furthermore, there are different layers/access choices such as directly accessing data, using object to relation mapping layer like hibernate/JPA, or using data services. Moreover, users also need to worry about how to scale up the storage in multiple dimensions like the number of databases, the number of tables, the amount of data in a table, frequency of requests, types of requests (read/write ratio).

Consequently, choosing the right data model for a given problem is no longer trivial, and such a choice needs a clear understanding of different storage offerings, their similarities, differences, as well as associated tradeoffs. We faced the same problem while designing the data interfaces for Stratos Platform as a Service (SaaS) offering, and in this talk, we would like to share our findings and experiences of that work. We will present a survey of different data models, their differences as well as similarities, tradeoffs, and killer apps for each model. We believe the participants will walk away with a border understanding about data models and guidelines on which model to be used when.

Srinath received his Ph.D. and M.Sc. in Computer Sciences from Indiana University, Bloomington, USA and received his Bachelor of Science in Computer Science and Engineering from University of Moratuwa, Sri Lanka. Currently he works as a senior software architect as WSO2 Inc., and he also serves as a research scientists at Lanka Software Foundation. Furthermore, he teaches as a visiting faculty at Department of Computer Science and Engineering, University of Moratuwa. He has been involved with the Apache Web Service project since 2002 and is a member of Apache Software foundation, PMC and the Apache Web Service project. Srinath is also a committer of Apache opensource projects Axis, Axis2, and Geronimo, and a co-founder of Apache Axis2. In addition to opensource work at Indiana University, he has been involved with a large-scale E-Science project called LEAD, Linked Environments for Atmospheric Discovery. His primary research interest is distributed systems.

Close Window