For reference, here's a diagram of how the service exactly works:
View, download, and export
Need support with viewing, downloading, and exporting files and folders from your Dropbox account? Find help from the Dropbox Community.
As we have many software architecture patterns available like peer-to-peer, client server, Observer and a lot more, which one does Dropbox uses ? and why it has selected that specific architecture? Please list out its pros and cons as i am unable to find much info on these topics.
Hey @Akhil_M_S, I'd happily take it from where you left off with @Daphne; I hope my message finds you well today!
To answer your initial question Akhil, different features on different platforms tend to have slightly different models, but the most common pattern is the observer pattern. This is implemented as long-polling from the client to the server, which holds the canonical representation of the data. For example, we do this for a lot of sync features, but also for comments/file activity. Where we don't use long-polling, we do client/server polling.
Hope that helps with your class presentation and good luck with your project!
Jane
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so please give it a Like below.
Did this post fix your issue/answer your question? If so please press the 'Accept as Best Answer' button to help others find it.
Still stuck? Ask me a question! (Questions asked in the community will likely receive an answer within 4 hours!)
Daphne
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so, please give it a Like below.
Still stuck? Ask me a question!
Tips & Tricks Find new ways to stay in flow or share your tips on how you work smarter with Dropbox.
Hi @Daphne ,
Thanks for the link. I had gone through the same yesterday. But i didn't get the exact answer. Actually my question is regarding the architecture pattern used by Dropbox. For example when i go through the link you attached it feels its a Publisher Subscriber pattern, but some say it as a Observer pattern with central server pushing the changes to the client. Could you please help me with the same ? As i have chosen this topic to present in my class..
Thanks,
Akhil
Daphne
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so, please give it a Like below.
Still stuck? Ask me a question!
Tips & Tricks Find new ways to stay in flow or share your tips on how you work smarter with Dropbox.
Hey @Akhil_M_S, I'd happily take it from where you left off with @Daphne; I hope my message finds you well today!
To answer your initial question Akhil, different features on different platforms tend to have slightly different models, but the most common pattern is the observer pattern. This is implemented as long-polling from the client to the server, which holds the canonical representation of the data. For example, we do this for a lot of sync features, but also for comments/file activity. Where we don't use long-polling, we do client/server polling.
Hope that helps with your class presentation and good luck with your project!
Jane
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so please give it a Like below.
Did this post fix your issue/answer your question? If so please press the 'Accept as Best Answer' button to help others find it.
Still stuck? Ask me a question! (Questions asked in the community will likely receive an answer within 4 hours!)
Hi Daphne,
I was reading about the Dropbox architecture. (Streaming File Sync). And in my search for the backend database details I found this thread. In the Under the hood : architecutre overview , i understood that Metadata database is a RDBMS. Is it fair to understand that the block storage where the actual files is on the cloud (S3)?
Hi @prasanthkp; how are you today?
Sorry to jump in here, but quoting from the relevant resource I just wanted to let you know that (sic) once a file is added to your Dropbox, it's synced to our secure online servers. All files stored online by Dropbox are encrypted and kept in secure storage servers. Storage servers are located in data centers across the United States. Additionally, storage servers are available in Germany, Australia, and Japan for some Dropbox Business users.
For reference, here's a diagram of how the service exactly works:
Walter
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so, give it a Like below to let us know.
Need help with something else? Ask me a question!
Find Tips & Tricks Discover more ways to use Dropbox here!
Interested in Community Groups? Click here to join
Hi Walter,
Am good. Hope all is well there.
Thanks for the quick reply. I appreciate that.
The reference diagram was helpful. That answer my question partially. My question was more towards the database. Based on the reference diagram,
Is the above a right understanding?
I guess MySql was opted to maintain ACID. How is sharding done as scaling a RDBMS is a costly effort.
Thanks in advance.
Prasanth
Thanks for getting back to me Prasanth; how are you today?
I'll try to address your questions here but please feel free to also check our security whitepaper as most of your concerns are addressed within that document.
To cut to the chase now, note that (1) the actual contents of users’ files are stored in encrypted blocks with the Block Storage Servers while prior to transmission, the Dropbox client splits files into file blocks in preparation for the storage. The Block Storage Servers act as a Content-Addressable Storage (CAS) system, with each individual encrypted file block retrieved based on its hash value.
And (2) File metadata is stored in a MySQL-backed database service, and is sharded and replicated as needed to meet performance and high availability requirements.
And to further elaborate, file blocks are stored in one of two systems: Amazon Web Services (AWS) or Magic Pocket, our in-house storage system. Magic Pocket consists of both proprietary software and hardware and has been designed from the ground up to be reliable and secure. In both Magic Pocket and AWS, file blocks are encrypted at rest, and both systems meet high standards for reliability.
I hope this information helps and we're always around if you have any additional queries; just give us a nudge here @prasanthkp!
Walter
Community Moderator @ Dropbox
dropbox.com/support
Did this post help you? If so, give it a Like below to let us know.
Need help with something else? Ask me a question!
Find Tips & Tricks Discover more ways to use Dropbox here!
Interested in Community Groups? Click here to join
Hi there!
If you need more help you can view your support options (expected response time for a ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!