Need to see if your shared folder is taking up space on your dropbox 👨‍💻? Find out how to check here.

Forum Discussion

Akhil_M_S's avatar
Akhil_M_S
Explorer | Level 3
7 years ago
Solved

Architecture pattern used by Dropbox

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.

  • Jane's avatar
    Jane
    7 years ago

    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! 

14 Replies

Replies have been turned off for this discussion
  • Walter's avatar
    Walter
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    6 years ago

    Hi again Prasanth! I'm fine as well; thanks for asking. 

    I'm glad to hear the information I provided helps and should you come up with any additional Dropbox questions, please feel free to let us know.

    Until we speak again, have a wonderful weekend prasanthkp

  • prasanthkp's avatar
    prasanthkp
    Explorer | Level 4
    6 years ago

    Hi Walter,

    Hope you are doing great.

    I went through the security whitepaper. Thanks for sending this. It had lots of information. I would like to understand more about how you shard the MySQL db.  As you mentioned below in the previous post.

    "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."

    I assume you use hash partitioning.

    • How is sharding done?
    • How edgestore routes to the correct "shard"?
    • How is it replicated across different DC?
    • Also is it still benefical to go with MySQL than a NoSQL db?
    • Is there a detailed paper or blog around the sharding alone?

    Thanks in advance.

    Prasanth

  • Walter's avatar
    Walter
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    6 years ago

    Thanks for the follow up and happy Friday Prasanth!

    When it comes to sharding, please take a look at the following resources; I think they make an excellent read: 

    If you're still having questions, let me know if it would be OK if I reached out to you via a ticket to your Dropbox associated email address so I can then forward your queries to the relevant team and we'll take it from there. 

    Thanks a bunch and have a lovely weekend prasanthkp!

  • prasanthkp's avatar
    prasanthkp
    Explorer | Level 4
    6 years ago

    Thanks Walter. Am reading through the blog post.

About View, download, and export

Node avatar for View, download, and export
Need support with viewing, downloading, and exporting files and folders from your Dropbox account? Find help from the Dropbox Community.

The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.

If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.

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!