UniBench: Towards Benchmarking Multi-Model DBMS

Motivation

As more businesses realized that data, in all forms and sizes, is critical to making the best possible decisions, we see the continued growth of systems that support massive volume of relational or non-relational forms of data. Unlike traditional database management systems which are organized around a single data model that determines how data can be organized, stored, and manipulated, a multi-model database is designed to support multiple data models against a single, integrated backend. For example, document, graph, relational, and key-value models are examples of data models that may be supported by a multi-model database. Having a single data platform for managing both well-structured data and NoSQL data is beneficial to users; this approach reduces significantly integration, migration, development, maintenance, and operational issues.

model

A high level overview of the data model. It includes relational, XML, graph, JSON and key-value data models.

Paper

Multi-model queries

  • Query 1. For a given customer, find his/her profile, recent orders, feedback, invoices, and posts.

  • Query 2. For the given product, find the people who liked posts related to it, and subsequently made a purchase within the following three months.

  • Query 3. For the given customer, find his/her most engaged brand in the social commerce.

  • Query 4. Given PersonX, PersonY and a product tag, find the shortest path between them in the social network and also return common products with the product tag which were bought by person in the shortest path.

  • Query 5. For a given person and a product tag, calculate the friend's network including the given person within a depth level, and find the best-seller with the product tag.

  • Query 6. Given a start person and product tag, find this person's friends and friends of friends, then return the products which were bought and given a 5 stars rating by these friends, but not were bought by the start person. In addition, these products should have been invoiced by the vendor.

  • Query 7. Find the total sales amount of a specified brand for each quarter respectively and measure the effect of its popularity in social commerce on them.

  • Query 8. For a given product, measure the effect of competitors' price on products' sales and popularities.

  • Query 9. Find the products of a given vendor with declining sales compare to the former quarter, analyze the reviews for these items to see if there are any negative sentiments.

  • Query 10. For a given vendor, find top 10 customers who have highest number of social interaction with her, and then calculate their RFM (Recency, Frequency, Monetary) value separately during a given period.

Download data generator tool