Requirement:
Not in scope:
Location proximity
Similar system
Non functional requirements:
Sql Database design
Business table :
Id, name, location
Review table:
Review_id, author_id, biz_id(FKey), review_text_id, star_rating, create_ts, vote_count
Business → reviews (1 -- n)
Read heavy traffic
To get query result fast, indexing on vote_count, create_ts
What about NoSql ?
What type of No sql db:
Document db?
Key value store?
Columnar DB?
Schema?
Summary from Discussion
Can use Cassandra (Columnar db)
Design for Upvote count
Review search system
how the review full text search works
Elastic search
Kafak
query
Index module
update
Resource
https://www.youtube.com/watch?v=qAN6iyYPbEE
Starting at 15:50, John Billings talks about use elasticsearch in
Review search
https://www.youtube.com/watch?v=1D1ED4KxxWQ&t=356s
Use elasticsearch in Yelp