We are creating an application that receives JSON message like shown below,
{
orderId: "00e8da9b",
created: 12-22-2016,
lineItems: [
{
itemName: Item 1
qty: 1
price: 20.0
}
{
itemName: Item 2
qty: 3
price: 80.0
}
]
pricing: {
retail: 110,
actual: 100,
savings: 10,
},
}
Mainly the application is used to generate statistical reports. Major operation that the system will perform are,
INSERT order details
UPDATE order status
SUM the total price of particular item across all orders by month and year
SEARCH by item name (also like partial text search) in all orders and display all the record with order number, item and price
We have reviewed some NoSQL DB's MongoDB, Cassandra and Elastic Search.
On reviewing the below URL, it looks Elastic Search is the better choice than MongoDB for search and summation operation. But there is possibility of data loss in Elastic Search.
http://blog.quarkslab.com/mongodb-vs-elasticsearch-the-quest-of-the-holy-performances.html
Kindly suggest what NoSQL DB will be best suite for the requirement.
Thanks.