Speaker Interview - Akmal B. Chaudhri
We have asked Akmal B. Chaudhri, Big Data, Hadoop & NoSQL Technical Instructor and World-Wide Community Builder & Conference Presenter, to share some of his thoughts on the conference topic with us.
Akmal B. Chaudhri has been working with database technology since 1988. He has held roles as a developer, consultant and product strategist with Reuters, Logica, Computer Associates, Informix and IBM. He has published and presented widely on Java, XML and Database systems and edited or co-edited 10 books, and is now working on a new book on NoSQL technology. He has worked extensively on world-wide developer relations programs at IBM and world-wide university relations and academic initiative programs at Informix and IBM. His presentations are often very highly-rated by attendees for content, impartiality and entertainment. He holds a BSc (1st Class Hons.) in Computing and Information Systems, MSc in Business Systems Analysis and Design and a PhD in Computer Science. He is a Member of the British Computer Society (MBCS) and a Chartered IT Professional (CITP).
1. What are the key challenges that should make a company look at NoSQL solutions as an answer to these challenges?
From a business perspective, it could be for a number of reasons. For example, because there is a need to use data for better and faster decision-making, or because of competitive pressures/deregulation/legal requirements. NoSQL technology may help with some of these issues, providing business agility and faster time-to-market.
From a technical perspective, NoSQL may provide a better alternative to existing database technologies or home-grown solutions, for certain application-specific problems.
2. Moving from RDBMS to NoSQL requires looking at the company's data afresh. What major challenges do developers and architects encounter in this migration and which recommendations can you give to them in this process?
If a company wishes to move from an RDBMS to NoSQL, then an RDBMS may have been the wrong choice in the first place. However, at the time a system was developed using an RDBMS, NoSQL products may not have been available. Developing a home-grown solution might have been impractical and can be expensive to maintain in the long-run.
Issues to consider from a business perspective are NoSQL vendor market share, profitability, skills availability, and so on. It is important to know that a vendor has staying power and there are skilled developers available. Whilst NoSQL products can be quickly downloaded and installed in a matter of minutes, it may take a year or more to fully understand and appreciate all the product capabilities and build-up skills and knowledge within an organisation.
From a technical perspective, there are important schema design decisions, placement of data, sharding, and so on. Some of these issues are the same as for existing database technologies, but some are new. It is important to fully understand NoSQL product capabilities and architectures.
Understanding your use case is one of the major issues that will determine the choice of a NoSQL product.
3. NoSQL has been gaining considerable traction the last 5 years based on a large degree of specialization of the various NoSQL solutions. Which competitive factors and technical developments will be in play for the coming 5 years?
I think one issue is the Big Data movement. Increasingly, some NoSQL vendors are positioning their products in the Big Data space, Analytics, so on. Increasingly, I think we will also see NoSQL vendors adding capabilities that are similar to existing database technologies. For example, improved query language support, perhaps configurable and tuneable ACID features. The notion of polyglot persistence is also gaining interest and rather than having to combine several products to achieve this, perhaps the capabilities could be offered within single products in the future. The RDBMS vendors will also not be idle and I expect many to provide their own NoSQL products or add NoSQL capabilities to their existing products.
4. Among NoSQL experts there is a talk about polyglot persistence (a mix of databases to handle various use-cases). Which benefits and costs does polyglot persistence bring with it and how does a company with a business to operate integrate polyglot persistence to maximize the benefits?
On paper, polyglot persistence is a nice idea. There are some prominent examples of organisations that have used this approach with some success. I think though it is hard to implement in practice, since it requires knowledge and skills of multiple products, each with different capabilities, interfaces, features and functions. Building an isolation layer or public API is one solution, that can also provide the flexibility to swap out a product as needs change over time. As previously mentioned, polyglot persistence may increasingly be offered within single products.
5. Is NoSQL the future of data storage?
No. It is just one of a number of alternatives.
6.What comes after NoSQL? There has been some talk about new concepts such as NewSQL what is your take on the next database paradigm?
NewSQL builds upon SQL familiarity, tools and skills availability and the benefits these bring but with new products architected to take advantage of modern hardware capabilities and flexibility to use off-the-shelf hardware. NewSQL will be another choice available to developers. Choice and innovation is a good thing. These are very exciting times with many new products emerging.
Looking further ahead, probably in 10 years time another new technology will appear that will challenge existing database technologies of the day. No doubt there will be arguments raging about this new technology versus Relational, just as we had 20 years ago with Object-Oriented Databases versus Relational, 10 years ago with XML Databases versus Relational and today with NoSQL versus Relational.