I am designing a big travel market agency, where I have 170000 hotels and 3000 room types.
A simple representation of my entities is:
Hotel:
destination: Paris
rooms:
room_a:
type: single
room_b:
type: double
RoomType:
name: double
paxes(people in room): 2
The most basic search action requires from the user the destination and the number of required rooms and the paxes(people) in each room.
It seems to me a simple SQL query to get all the hotels that provide the required rooms, but I am concerned about the size of my data.
Until now, I have used only relational databases and I have no previous experience with NoSQL databases such as MongoDB and ElasticSearch and I would like to know how much faster it would be to use MongoDB or ElasticSearch vs a relational database. I have read that the typical usecase for elasticsearch is full text search but I do not know how much faster it would be for a search like this.
Thank you
A non-relational option might give you significant search speed enhancements simply because of how slow joins can be on large datasets. With something like Mongo or Elasticsearch, you would create a single document with all of your relevant information on it and search that. That might seem counter-intuitive coming from a relational background -- but the idea is that information accessed together is stored together.
As for elasticsearch vs. mongo, here's a couple of things to consider:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With