Problem
After days of reading documentation on the application engine and data warehouse, I couldn't figure out how to create a scalable real-world application.
and I could not find good examples for best practice. Of course, I can make my application work, but I can’t know if it’s good to scale more than my development environment can provide.
he clearly points to a guide to using the application using the data warehouse : “However, the speed with which you can write to the same group of persons is limited to 1 entry per group of entities per second . When you develop a real application, you need to remember this fact . "
Assumptions
I assume that I understand (please correct me if I am wrong) that, given the root of the data store, / then / Users / * (Keys) is an entity group and / Products / Beauty / * is an entity group that runs the previous limit of 1 record per second. (Is / Products / Beauty / * limited / Products / * also?)
Did I miss this?
Example
Suppose we want to create a real world app or a shopping app. these applications will need to store data for many operations that the user will do in the application. for example, send a message or comment on a product or delete / add / edit a product.
Given this operation, what will the data warehouse look like? Of course, we cannot store messages as / Messages / {Message, To, From, Timestamp}, because many users will send a message that must be written to this key. an alternative is to limit the user to 1 message per second and save it in his profile / Users / {USER} / {Message, To, From, Timestamp}, but only one user can record this group of entities. so we can put them in the root like: / {USER} / {Message, To, From, Timestamp}, but is this considered good practice? Is it fast enough to request a data store to receive all messages between users? (effective? maybe?)
Another alternative is to save everything in the root of the data warehouse “Messages” and “Users” and “Products” and “Categories” (for example, the product will have a link to a category in it).
Summary
- Where can I find code samples or design guidelines that are good even for millions of users?
- Am I something wrong with this?
- Any suggestions related to the topic?
I found these code examples, but I have no tools or ideas, how do I know if they are good examples of scale?
Thanks!