As real-world smart kitchens start to emerge, smarter data management will be needed to keep tech-savvy cooks in fresh ingredients.
Israel-headquartered Freshub describes itself as a smart kitchen commerce technology company. The technology on offer here is designed to enable consumers to manage kitchen inventory and replenish supplies from their home using a touch, voice and gesture-based interface directly connected to their chosen online grocery retailers.
According to the Freshub website, “[You the user] can add any item to your grocery cart and place orders with your retailer at any time, in the comfort of your kitchen, with natural voice commands or by simply waving your hand.”
One million groceries
The software engineering required to underpin this type of system is challenging enough, but Freshub found an arguably more daunting challenge in the shape of the data model it needed to create and maintain a database containing details of over one million groceries and kitchen products.
The issue here is that grocery retailers keep changing their product portfolios, prices menus and special offers.
“We needed a granular, detailed mapping of retailer portfolios. These comprehensive datasets enable us to provide features for enhancing user convenience, such as retailers’ distance score [in relation to the user’s location] and an easy discovery process for related products,” explains Freshub’s vice president of R&D Gena Minevich.
A recipe for NoSQL MongoDB
Freshub has used MongoDB as its NoSQL database and mLab as a cloud-based database-as-a-service platform. The advantages of a NoSQL database (over a more ‘traditional’ option), according to its proponents, are down to its scalability and flexibility, which enable it to handle very large volumes of structured, semi-structured and unstructured data.
But a key NoSQL advantage for Freshub, it seems, is its ability to offer dynamic ‘schema’ – in other words, the way that data is organised and categorised in the actual ‘fields’ of the database itself can change over time. Freshub says it works with multiple data providers, offering different and unpredictable data schemas, so denormalized documents allow faster integration with these third parties.
As MongoDB puts it, “With traditional relational databases, you must define your schema before you can add any data. This inflexibility means you can’t change your schema as your data, application requirements or business evolves. NoSQL databases arose to address this limitation by allowing you to insert data without a predefined schema. Because of this, you can easily make changes to an application without interruption.”
Read more: Smart home revenue to top $190bn by 2021
A recipe for the wider IoT?
Is Freshub’s experience with NoSQL and MongoDB a recipe for wider data management and software application development success across the IoT? Advocates of NoSQL administration certainly rave about ease of use and love to knock the ‘monolithic’ structures of relational databases.
But food and smart kitchens are a particularly changeable use case, surely, subject to the preferences and whims of the people that use them. Compared to some more static industrial IoT applications, this is a diverse field. Wind turbines only need to measure four or five types of wind, after all… or at least embrace a smaller total universe of data types.
Food for thought? Yes surely… let’s dig deeper into the data model running the IoT and see what cooks up.