Define Business Requirements: make up a business situation, imagine a company with a specific
business (such as selling books, cars, ... or provide services such as steaming video, security
monitoring, travel agency ... ) or an organization such as a library, school, agency, etc. Focus on the
size and the performance requirements.
2. Define Business Application: make up an (web-based or mobile) application needed to carry out an
some business activity (suitable for key-value model such as profiles, preferences, shopping carts, …)
for the given company/organization. Define who are the users, what can the users do (at least: view
and update) and what kinds of data needed to be stored and processed in that application ?.
3. Select Appropriate (NoSQL) Database Type: Given the kind of application and the kinds of users and
data explain why Key-Value database should be the best choice.
4. Do Logical Design:
a) Define Data Modeling Techniques: explain which NoSQL data modeling techniques (from
slides 16 and 17) should be used and why ?
b) Define Key-Value Pairs, Key and Value Structures: based on the business application define
what will be the keys, their format or structures (so that it will be fast to retrieve) and the
structures and data types of the values: should it be Primitives or just Strings or should it be
Containers (of strings) such as Hashes, Lists, Sets, or Sorted Sets. Must end up with at least 5
entity-types and use at least string, hash, and list in REDIS.
c) Define Data Operations: what kinds of activities these data will be involved with? which part
of the data will be modified ? How can that part of data be located ?
5. Create the Designed NoSQL Database:
a) Prepare REDIS commands for creating/inserting and updating sample data(data must make
sense) and for showing the data in this Key-Value database.
b) Create the designed database using the above REDIS commands at the REDIS online try server.
Must take the screenshots (by holding both ALT and PRT-CS) and include them in the report
for each step.
6. Write the project report: see the project report EXAMPLE for format and content requirements.
Hello, I am an experienced full stack dev-ops engineer with experience in building robust web dynamic real-time web applications. Let's chat about the details. :)