Case Study: MemSQL Powering AI Breakthroughs at diwo

Floyd Smith

diwo® is a new, AI-powered platform that promises to help business users answer real-life challenges, acting as its “cognitive decision-making superpower.” diwo – which stands for “data in, wisdom out” – uses MemSQL to power a significant part of its functionality.

diwo was developed to reveal hidden business opportunities and empower users to act on them in a timely manner. The software can run in an AI-powered conversational mode, rather than through a programming or scripting language (though many layers of sophisticated coding underline the system). diwo’s conversational persona, ASK, is powered by a series of distributed microservices, and uses MemSQL for transactions and queries.

diwo has been built by a team with strong experience in decision science and data engineering, united by a strong desire to create useful, business-first solutions. “We came to see data science as always in research mode—geared toward exploration and experimentation, rather than value. Businesses were not getting what they should in terms of results,” says the project’s visionary leader, Krishna Kallakuri. “We want to bridge that gap, to build something designed primarily for use by the business community, something that actually demonstrates value on day one.”

diwo has many systems and subsystems, using MemSQL to power machine learning and AI
Going beyond “Self-Service BI,” diwo provides contextual information
and actionable insights about causes—not just “answering the question.”

diwo runs in the background of day-to-day operations, learning about your business and discovering opportunities to maximize revenues or minimize risks. The software then guides users through optimized, customizable strategies to address those opportunities in real time. While most such systems focus on generating insights—leaving the application of these suggestions up to the user—diwo goes further, achieving what early AI scientists envisioned: talking to a computer to walk you through your real-life business decisions.

MemSQL Powers Interactive Querying

With diwo, the platform is an active partner in making business decisions. The diwo platform features three personas, ASK, WATCH, and DECIDE. Each has a different role in the information-gathering and decision-making process.

Currently, MemSQL helps to power the ASK persona. diwo ASK goes beyond traditional Search BI—it’s designed as a system-led conversation that works to identify the user’s intent in order to solve underlying issues and reach the optimal decision. In responding to a query, diwo needs to assemble, generate, and plumb a dataset that can easily reach dozens of terabytes – quickly and easily. The process is often recursive, with one question/answer pair generating another.

Because the user asks queries in natural language, it’s up to diwo to convert that query into machine-actionable requests, steadily working through all the data available to diwo and converging on a useful answer. The distributed nature of diwo’s architecture, and its extreme demands on both data processing and query performance, make MemSQL a natural fit.

“Every piece of code we have is distributed, on several levels,” said Kallakuri. After founding one of the fastest growing analytics companies in the midwest 15 years ago, he is now leading the launch of Loven Systems, which owns the diwo project.

diwo uses MemSQL for real-time database interaction.
MemSQL is used in diwo’s ASK conversational persona,
which draws on a wide range of data sources in real time.

What Drove the Adoption of MemSQL?

The development team needed a fast, scalable database to underpin the diwo platform. The team was initially attracted by the speed and flexibility offered by Redis, an in-memory database that runs properly composed queries quite quickly. They also tried Cassandra, the open source database and data management system.

However, they found difficulty on two sides:

  • Composing useful queries
  • Getting acceptable performance from queries

“The more we dug into it, the more we found that the ability to query is a bottleneck,” said Kallakuri.

The problem that the diwo project encountered is the same problem that users so often find with NoSQL: you’re not made to put structure on your data, which initially seems to make things easier. But then you don’t get the benefit of decades of SQL query optimization that SQL databases inherit and can build on.

MemSQL has additional advantages, offering the best of both worlds along several different axes:

  • SQL vs. scalability. Traditionally, you could either have structure and SQL, in traditional transactional and analytics databases, or you could have scalability across multiple machine instances, in a NoSQL system. MemSQL is a NewSQL system—SQL that scales.
  • Rowstore vs. columnstore. Most databases offer rowstore, which is in-memory friendly for data ingest and transaction processing, or columnstore, which requires the larger capacity of disk to power analytics. MemSQL supports both, with a memory-led architecture that allows you to decide just how many machine instances and how much RAM, SSD, and disk to use for the performance you need.
  • In-memory vs. disk-based. Some databases are in-memory-only or in-memory-mostly, while others prioritize disk-based storage. MemSQL is truly open to both, separately or at the same time, as needed for your data structure and performance requirements.
  • Structured vs. semi-structured and unstructured. SQL databases long forced you to structure data, or pushed you to NoSQL if you had semi-structured data (including JSON, which is more and more popular) or unstructured data. But MemSQL has high-performance support for geophysical data types and JSON data, supporting hybrid data structures such as BLOBs. This allows you to use semi-structured data freely, with performance close to that of structured data, and with everything in one place.

These advantages are part of what attracted diwo to MemSQL. Another aspect is high performance across all of MemSQL’s features. Capabilities such as scanning a trillion rows per second are very useful indeed when you have to offer interactive, conversational-speed responses to business questions that demand complex processing to answer.

“We tried to push MemSQL to the worst possible extent to see if it would break,” said Kallakuri. It didn’t. diwo has had to add functionality on top of MemSQL to support its project needs, mostly around dynamic SQL and dynamic stored procedures. The performance and stability of MemSQL make it a solid base to build on.

What’s Next for diwo?

diwo is just getting started, showing its technology to interested customers—who are generally enthralled. “Nearly every time we do a demo, we get an order,” says Kallakuri, noting that diwo’s Cognitive Decision-Making architecture is industry-agnostic. “We’re in the early stages of working with retail, financial, and automotive organizations, and have taken initial steps into gaming as well.”

Now that MemSQL is part of its tech stack, diwo is likely to keep finding novel ways to use it.

memsql rainbow wave
An Introduction to MemSQL
Experience the No-Limits DatabaseTM