Post and review answers and feedback to answers in the comments section of this post.

See also:

How to answer an estimation question in a product manager job interview

List of estimation questions for product manager job interviews

Skip to content
# Exercise 32 – How much storage space is required to host all the images of Google street view.

wpDiscuzComment Author Info
Post and review answers and feedback to answers in the comments section of this post.

See also:

How to answer an estimation question in a product manager job interview

List of estimation questions for product manager job interviews

To estimate the storage needed for all pictures, I need two pieces of information to help me come up with an estimate: 1- average size of an image 2- number of images taken.

Let’s say each 360 degree image on Google Street View is 20MB. I’m picking a large number because Google Street View images are usually 360 degrees. And If they are not, we can assume that the some of images taking from one spot to cover all angles is 20MB.

To calculate total number of images on Google Street View, I have to calculate total # of images per km x # of km’s covered in Google StreetView.

To estimate number of images per KM, I think about my own experience using Google StreetView. I’ve noticed that the smallest move I can make to change my view of a street is about 10 meters. Let’s assume that on every 1km (1,000 meters), there are 1000/10 = 100 images.

Now, we need to calculate number of KM’s of street covered by Google StreetView.

Ideally, Google Street View can cover all streets around the world and that’s the direction that it’s going. So, I’m going to come up with total distance of all streets around the world for the 7 billion population earth. Let’s assume 2billion people live in towns and 5 billion live in cities.

To estimate total distance of streets in towns, we can look at total distance for a 2,000 person town first and then multiple that number by 1million. Let’s assume all 2,000 people live in houses and distance between houses is about 10 meters. So, if each house consisted of 4 people, we would have a total of 2,000/ 4 = 500 houses. If all houses were in one street on both sides of the street, we would have about 5,00 houses x 10 meters / 2 = 2,500 meter of street covering houses. So, for every 2,000 people in a small people, there is 2.5km of street.

I should mention that in reality all houses are not in one street and some might be in by an intersection, meaning they are connecting two streets but then there are also streets with no houses (e.g. commercial area) so for the sake of this estimation, I will assume that for every 2,000 people in a town, there are about 2.5 km of street. In order words, for 2 billion people who live in towns, there are 2.5 million km of streets. This is a very rough estimate because in some small towns, there might be apartments and people might live in in denser neighbourhoods. But then there can also be places where distance of houses is more than 10meters. So we’ll assume 10meters is the average distance between the houses in towns.

For cities, let’s breakdown the population to two groups: 50% live in houses – 2.5 billion live in houses in cities. 50% live in apartments – 2.5 billion live in apartments in cities. Let’s say that for those who live in houses, average people in a house is 3 and distance between houses is 10 meters. In other words, for 2.5 billion people who live in houses in cities, we have about (2.5 billion / 3) = 800million houses. Assuming distance between houses is again 10 meters and houses are on both sides of the street, we have a total of 800 million x 10 meter / 2 = 4 billion meters or 40 million km of street.

To estimate street for 2.5 billion people who live in apartments, let’s say that on average every 100 people live in one building. And distance between apartments is 100 meters. Assuming apartments are on both sides of the street, we can say that for every 100 people, we have 100 / 2 = 50 meters of street. In other words, for 2.5 billion people, we have 1.25 billion meter or 12.5 million km of street.

Now, people in cities usually work in offices and shops. Let’s say that on average 20% of people who live in cities work – estimated population would be 20% of 2.5 billion = 500 million. And every office building includes 100 people and distance between office buildings is 100 meters. Assuming office buildings are on both sides of the streets, for every 100 people, there are 100 / 2 = 50 meters of street for their office. In other words, for 500 million people living in cities, there are 250 million meter or 0.25 million km of street.

Now, let’s add all numbers together:

2.5 million km (representing towns) + 40 million km (representing houses in cities) + 12.5 million km (resenting apartments in cities) + 0.25 million km (representing offices in cities) = 55.25 million km of street in total

Now, given each km includes 100 images and each image is 20MB, total size of all StreetView images is:

55.25 million km x 100 images per km x 20MB of file = 110.5 million GB = 115 thousand TB.

Total size of all images to be stored on Google Street view would be 115 thousand TB.

I followed your method, and i think we can also add street view for unpopulated regions like “highways” and ” National parks”. Given the length of highways, i believe it will also be significant in estimation.

That’s a good point. Feel free to submit your estimate for highways and national parks.

Here is how I would answer:

1st assumption .. a 12mp camera stores a decent image with a size of 3-4MB. Assuming all these 360 degree images would need 6 of such images ..so roughly the image size would be around 20MB.

Earth radius is around 6500 km. So the rough surface area is 4*pi*r*r = 4*3*6.5*6.5* 10^6 =500 x10^6 km^2

earth is covered with 75% of water .. that is around 125×10^6 km2 of land. 50% of world population live in just 1% land (urban) and remaining we can assume live in 9%(rural) and rest of the 90% is useless for this exercise.

that means Category A has 1.25×10^6 km2 of land.

Category 2 – 9 times category A

We can assume a road area in front of two houses is in the ratio of 1:6 .. that means a house is 3 times wider than a road width. That means we can say that 14% of land in category A is road. A road is say 20m wide .. that means road length is roughly = .14*1.25×10^6 km2/(.02km) = 9×10^6

For category A – google takes 1 image per 10 meter .. that is 100 images per km… that means 9×10^6 *100 images = 90×10^6 images

For US and more developed countries US would use 20MB images and for remaining they would use 10MB. Lets say there is a 30-70% split.

27×10^6x20MB + 81×10^6*10MB =1300×10^6 MB = 1.3PB

Category B = 9 times Category A = 1.27 PB

= 2.5 PB

The reason why I broke into category one and category 2, so to give more control on taking localized assumptions. Say in category 2 .. instead of taking one image per 10 meter, we want to take 1 image per 100 meter ..then we can do that.