Prosg Active Member Licensed User Longtime User Oct 13, 2015 #1 Hello, I have to developp a app for a big company who have a event. What is the way to store data to have 5 000 - 10 000 users in the same times for 10 minutes ? I think i must forget mysql ^^ Ty for your help
Hello, I have to developp a app for a big company who have a event. What is the way to store data to have 5 000 - 10 000 users in the same times for 10 minutes ? I think i must forget mysql ^^ Ty for your help
eurojam Well-Known Member Licensed User Longtime User Oct 13, 2015 #2 a middleware technique like JMS, which builds a persistent queue and pulling and processing request one by one, could be one solution Upvote 0
a middleware technique like JMS, which builds a persistent queue and pulling and processing request one by one, could be one solution
Erel B4X founder Staff member Licensed User Longtime User Oct 14, 2015 #3 MySQL is a very powerful database. You can see some numbers here: https://www.b4x.com/android/forum/threads/server-performance-measures.37502/#content Upvote 0
MySQL is a very powerful database. You can see some numbers here: https://www.b4x.com/android/forum/threads/server-performance-measures.37502/#content
S sorex Expert Licensed User Longtime User Oct 14, 2015 #4 it all depends on how you write the app and the back-end. don't send multiple small data requests but group everything to 1 data push. merge queries if possible to have less independent database calls etc... Upvote 0
it all depends on how you write the app and the back-end. don't send multiple small data requests but group everything to 1 data push. merge queries if possible to have less independent database calls etc...
KMatle Expert Licensed User Longtime User Oct 14, 2015 #5 Must have: - good database design (Indexes, etc.) = 80% of the way - as @sorex said, no multiple requests (like sending 100 httputils jobs for 100 rows). See here: https://www.b4x.com/android/forum/t...ring-via-job-download2-to-a-php-script.50919/ What kind of data does the system store/retrieve (and how much)? Upvote 0
Must have: - good database design (Indexes, etc.) = 80% of the way - as @sorex said, no multiple requests (like sending 100 httputils jobs for 100 rows). See here: https://www.b4x.com/android/forum/t...ring-via-job-download2-to-a-php-script.50919/ What kind of data does the system store/retrieve (and how much)?
Informatix Expert Licensed User Longtime User Oct 14, 2015 #6 Prosg said: Hello, I have to developp a app for a big company who have a event. What is the way to store data to have 5 000 - 10 000 users in the same times for 10 minutes ? I think i must forget mysql ^^ Ty for your help Click to expand... It depends strongly on what the users will do with the database (they'll only read? they'll write? they'll access the same table? they'll have complex queries? etc.) and how many servers you have at your disposal. Supporting a large number of users that will write in the same table on an unique server is not a simple task. Upvote 0
Prosg said: Hello, I have to developp a app for a big company who have a event. What is the way to store data to have 5 000 - 10 000 users in the same times for 10 minutes ? I think i must forget mysql ^^ Ty for your help Click to expand... It depends strongly on what the users will do with the database (they'll only read? they'll write? they'll access the same table? they'll have complex queries? etc.) and how many servers you have at your disposal. Supporting a large number of users that will write in the same table on an unique server is not a simple task.
Prosg Active Member Licensed User Longtime User Oct 14, 2015 #7 they'll only read? => no they'll write? => yes the same table? => yes 1 dedicated server ^^ I think can't do this with mysql It's like the app ask a question and 10 000 users answers in the same times Upvote 0
they'll only read? => no they'll write? => yes the same table? => yes 1 dedicated server ^^ I think can't do this with mysql It's like the app ask a question and 10 000 users answers in the same times
S sorex Expert Licensed User Longtime User Oct 14, 2015 #8 mysql won't be the bottleneck, your connection would. Upvote 0
Informatix Expert Licensed User Longtime User Oct 14, 2015 #9 Prosg said: I think can't do this with mysql Click to expand... I don't know MySQL. I'm only used to Oracle and SQL Server because we handle millions of users. You should try PostGreSQL. It's a free DBMS that should be able to handle so many users. Do you have something to emulate the connections and test the load ? e.g. LoadRunner What is your strategy in case of a bottleneck (too many accesses at the same time)? Upvote 0
Prosg said: I think can't do this with mysql Click to expand... I don't know MySQL. I'm only used to Oracle and SQL Server because we handle millions of users. You should try PostGreSQL. It's a free DBMS that should be able to handle so many users. Do you have something to emulate the connections and test the load ? e.g. LoadRunner What is your strategy in case of a bottleneck (too many accesses at the same time)?
Prosg Active Member Licensed User Longtime User Oct 14, 2015 #10 millions of user ok but my problem is 10 000 user in the same time^^ a database is not 30 users on the same times ? Upvote 0
millions of user ok but my problem is 10 000 user in the same time^^ a database is not 30 users on the same times ?
Informatix Expert Licensed User Longtime User Oct 14, 2015 #11 Prosg said: millions of user ok but my problem is 10 000 user in the same time^^ Click to expand... Yes I understood. That's why I suggested PostgreSQL (with PGBouncer for the connection pool). Last edited: Oct 14, 2015 Upvote 0
Prosg said: millions of user ok but my problem is 10 000 user in the same time^^ Click to expand... Yes I understood. That's why I suggested PostgreSQL (with PGBouncer for the connection pool).
Prosg Active Member Licensed User Longtime User Oct 14, 2015 #12 how many connexion in the same time ? Upvote 0
Informatix Expert Licensed User Longtime User Oct 14, 2015 #13 Prosg said: how many connexion in the same time ? Click to expand... Do you know what a connection pooler is? Because it's not the maximum number of database connections that really matters but the support of connection pooling by the DBMS. No DBMS accepts thousands of direct connections at the same time on a single server. You have to use a connection pooler. Upvote 0
Prosg said: how many connexion in the same time ? Click to expand... Do you know what a connection pooler is? Because it's not the maximum number of database connections that really matters but the support of connection pooling by the DBMS. No DBMS accepts thousands of direct connections at the same time on a single server. You have to use a connection pooler.
Prosg Active Member Licensed User Longtime User Oct 14, 2015 #14 it's like a cache but for database. With a pool connexion i can have unlimited connexion at the same time but i need something like memory ? Oh we are french together i send u a pm Upvote 0
it's like a cache but for database. With a pool connexion i can have unlimited connexion at the same time but i need something like memory ? Oh we are french together i send u a pm
Informatix Expert Licensed User Longtime User Oct 14, 2015 #15 Prosg said: it's like a cache but for database. With a pool connexion i can have unlimited connexion at the same time but i need something like memory ? Oh we are french together i send u a pm Click to expand... I did not install a database server since at least 7 or 8 years so I would say only stupid things about the requirements nowadays. I don't know what are the modern tools to ease your task or the recommended architecture of today. But things should not be completely different. You need to think seriously about the following things: - hardware and monitoring (to ensure that your server is up and works as expected); - transmission of data (via internet? how are the data sent to the server?); - multiple connections (connection pooler?); - many concurrent writes (which scenario when editing the same data? when max number is reached? etc.); - database performance (tables and records organization, triggers, indexes, etc.); - backup (you have only one server, so that would be stupid to lose everything with a crash). Last edited: Oct 14, 2015 Upvote 0
Prosg said: it's like a cache but for database. With a pool connexion i can have unlimited connexion at the same time but i need something like memory ? Oh we are french together i send u a pm Click to expand... I did not install a database server since at least 7 or 8 years so I would say only stupid things about the requirements nowadays. I don't know what are the modern tools to ease your task or the recommended architecture of today. But things should not be completely different. You need to think seriously about the following things: - hardware and monitoring (to ensure that your server is up and works as expected); - transmission of data (via internet? how are the data sent to the server?); - multiple connections (connection pooler?); - many concurrent writes (which scenario when editing the same data? when max number is reached? etc.); - database performance (tables and records organization, triggers, indexes, etc.); - backup (you have only one server, so that would be stupid to lose everything with a crash).
Prosg Active Member Licensed User Longtime User Oct 14, 2015 #16 And is it possible with xml ? and no database Upvote 0
Informatix Expert Licensed User Longtime User Oct 14, 2015 #17 Prosg said: And is it possible with xml ? and no database Click to expand... I'm not sure to understand the initial request. Upvote 0
Prosg said: And is it possible with xml ? and no database Click to expand... I'm not sure to understand the initial request.