Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storage of user data

When looking at how websites such as Facebook stores profile images, the URLs seem to use randomly generated value. For example, Google's Facebook page's profile picture page has the following URL:

https://scontent-lhr3-1.xx.fbcdn.net/hprofile-xft1/v/t1.0-1/p160x160/11990418_442606765926870_215300303224956260_n.png?oh=28cb5dd4717b7174eed44ca5279a2e37&oe=579938A8

However why not just organise it like so:

https://scontent-lhr3-1.xx.fbcdn.net/{{ profile_id }}/50x50.png

Clearly this would be much easier in terms of storage and simplicity. Am I missing something? Thanks.

like image 635
Pav Sidhu Avatar asked Mar 21 '16 23:03

Pav Sidhu


People also ask

What is user data in storage?

Any data the user creates or owns. The term user data may be used to emphasize that the data were created and owned by the user. For example, when deleting an application, an uninstall program may ask if user data is also to be deleted.

What are the 3 types of data storage?

Forms of data storage Data can be recorded and stored in three main forms: file storage, block storage and object storage.

What are the 3 storage techniques?

Common storage technologies. There are three main tpyes of technology for storage. These are solid state, magnetic and optical.


1 Answers

Companies like Facebook have fairly intense CDNs. They may look like randomly generated urls but they aren't, each individual route is on purpose and programed to be handled in that manner.

They aren't after simplicity of storage like you would be if you were just using a FTP to connect to a basic marketing website server. While you may put all your images in a /images folder, Facebook is much too complex for this. Dozens of different types of applications accessing hundreds if not thousands of CDNs and servers world wide.

If you ever build a web app, such as a Ruby on Rails app, and you work with a services such as AWS (Amazon Web Services) you'll also encounter what seems like nonsensical urls. But it's all part of the fast delivery network provided within the architecture. Every time you "push" your app up to the server new urls are generated for each unique resource automatically, css files, JavaScript files, image files, etc all dynamically created. You don't have to type in each of these unique urls individually each time you publish the app, the code simply knows where to look for those as a part of the publishing process.

Example: you tell the web app to look for

//= require jquery

and it returns you http://example.com/assets/jquery-eb3e278249152b5b5d5170b73d9dbf52.js?body=1 in your header.

It doesn't matter that the url is more complex than it should be, the application recognizes it, and that's all that matters.

like image 183
Jordan Avatar answered Oct 13 '22 08:10

Jordan