NoSql data storage pattern - database

If I've got the following classes for a hypothetical football app:
Manager, Player & Team
A Manager has many Players.
A Manager can put together a Team for a game, and that will contain a number of Players
Players can be associated to a Manager, a Team and to the general transfer market simultaneously.
So when I'm thinking about storing data in the Team about Players, would this just be an array of Player's Ids? I guess the same question about the Manager, the Manager would own Players, but would they be an array of Player Ids?
Thanks

Related

Data Analysis for a restaurant menu

I'm stuck in a project of creating a data analysis of the performance of the products sold in a restaurant.
I have:
the selling data base - product, qty sold per day, unit of the restaurant, shift - extracted via SAP Business Objects;
the menu data base - which products are currently in the menu in each unit of the restaurant - created by the restaurant unit based on the actual menu;
the products data base - which products are registered in the system and respective ids - extracted from the system.
All these data bases were extracted in .xlsx.
Now I don't know how to proceed, what are the next steps.
Anyone with a step-by-step guide of a similar project, or maybe interested in developing this project together?
The main objective is to publish this analysis in the Power BI to the C-level.

Mongodb-designing schema that is scalable and efficient for chat server

I am currently working on a problem where I need to create a server that a marketing team can use to chat with their users. Currently, the problem statement describes that the team belonging to company X sell 3 products x,y and z. They want to connect with their customers and obtain feedback for the respective products. The question extends saying that mongodb has to be used to build the backend, ensuring that the solution proposed is scalable and efficient to other products as well(for ex products a,b and c).
For example, if I have set up a schema to store messages from clients regarding product x,y and z. I need to make sure that this solution is scalable to many other products as well.
a) What solutions/pointers do you propose to achieve a scalable and efficient database design?
b) How would you advise me to start with this problem?
Thank you

Using nosql for rating sytem

I am building a platform where users can rate a musicians song. I have been using AWS mobile which only builds in dynamodb but no relational databases.
I am just wondering whether is is possible to use a nosql database for the song rating purpose.
I can see that i would have a table for songs and for each song I could have a large number of votes but then how would I go about giving ownership of that vote to the user.
Thanks

Which database to use for game analytics?

We're building an app that will have a number of games. Kids will learn Math as they play these games. All the user profile data, game data and lessons/ questions data are all being stored in the app and will sync to a MySQL database on the server side.
There also tons of events data that we would like to capture, analyze and improve our game. These events could be the start of a lesson, touching a game object, choosing the correct game object but targeting it wrongly, answering correctly but got timed out and so on. We expect this to be 100s of rows for each game that the kids plays. Also the data stored will be dependent on the type of event.
The database should allow us to analyze the data and answer questions like which games are tough on kids, which lessons are too easy for kids, are kids from some countries finding some of the lessons to be tough, how long are each of these games able to hold the attention of the kid and so on.
Which database would allow us to store so many different types of events, scale to millions of rows a day and allow for all these kinds of analysis? Given the changing nature of the data model, NoSQL seems to be an obvious choice. But which one would allow us to do all these analysis. Or should we go with Hadoop / Hive?
Thanks in advance.
Although you can do this using Hadoop/Hive, but you won't get real time performance as Hive is best suited for batch processing kinda stuff. Hbase would be a better choice in such a scenario. You could create OLAP datacube kinda thing whose dimensions could be the info specified by you, like session info, info about each kid etc etc. Or you could serialize all of this information as JSON objects and then store them in Hbase cells. You could also store each of these events in individual cells, but that would consume unnecessary space and won't be that efficient while fetching the data back.
HTH

the approach to building a web application

This is the scenario i have:
im developing a web app that will list down all the details of a car that the user picks from a list. I have a database of all car models, makes, sizes, prices etc. Besides i also have the price trend for the past 5 yrs. You may assume that i have a few of such tables and the data volume is about 10s of thousands of records.
My online application should be able to let the user pick his choice of one car model and optionally provide his address. With just this user input, i want to be able to generate a pdf report with the following information:
Comparison of selected car model with other cars manufactured in the same country. (e.g, if user selected, honda, i want to compare it with toyota, which comes from the same country)
Comparion of selected car with other car of similar type (eg. sedan vs sedan)
Price trend of the car for the last 5 yrs - Nearest car workshops in user's neighbourhood within a radius of 10km (if user has given me his address)
i will be drawing out several other data from my database.
I would like to present this report instantly, say within 3 minutes to the user. So now the question, is, what software/tools/program/database etc should i be using, taking in consideration the huge amount of data and the need to present this in the fastest possible time as a pdf report?
There are whole lot of possibilities. You can use PHP (or) Java (or) .Net (or) so on...for web application, MySQL, SQL Server, Oracle etc., as database (If data is really big and grows like anything daily you may consider Hbase also) It dependency on how soon you want your product out in the market and how much scalable it should be and how much comfortable you are with any of those technologies.
Some technologies support nice user interface, some may not but strong in other area of web application.
How much money/time you have for development, licensing also plays role in deciding answer for this question.

Resources