SlideShare a Scribd company logo
1 of 13
Scaling the server side of
occasionally-connected,
mobile systems with MongoDB
Thomas Huber - Fertl EDV-Systeme
MongoBerlin
October 4th
source: istockphoto.com/epicurean
Introduction Occasionally Connected Systems
• For e. g. Exchange Server & Outlook
• Every user has an Inbox, Calendar …..
• If you get a new Laptop – install Outlook and synch your
Exchange account (synch takes time)
• After synching it is possible to go offline and read all
mails offline
• booorrriing -> what about DB replication?
Definitions around Replication
• Lazy / Optimistic Replication <-> Eager Replication
Eager Replication – all nodes online are in synch, the
transaction-steps are atomic
Optimistic Replication – changes are logged, if the node is online, all
changes are synched with other nodes, if not online, the node will
synch later on. Conflicts are possible.
• Master-Slave <-> Peer-to-Peer
One master, one or more slaves, not symmetric, all synchronization
through the master (no Slave-to-Slave-Synch)
Peer-to-Peer – all instances are talking with each other
Here is our solution
• Lazy / Optimistic Replication
Smartphones can be out of coverage – offline functionality for mobile apps
robust in terms of going out of coverage and coming back
lost data package detection
• Master-Slave
One webserver / webportal, the user is able to change data on the smartphone
and in the webportal, data will be synched
• One Security-Credential for Web-Portal & Smartphone
Authentication (Login/Pwd) and Authorization (Permissions) are shared
• But keep in mind -> Exchange Server & Outlook
Data in the „inbox“ is synched whith the smartphone
not all data of all users
• It is possible to connect 990 different mobile devices to
one user account (mixed scenarios - Symbian, iPhone,
Android)
Mobile-Assistance-Framework
WTF – WHERE IS MONGODB????!!!!!!
• To scale this replication-scenario you need cheap power
• 1996 - Microsoft published a scientific paper about big replication
scenarios – one among many
„The dangers of replication and a solution”
... a ten-fold increase in nodes and traffic gives a thousand fold
increase in deadlocks or reconciliations ...
• It is not that ugly ;)
• But mobile apps will change the characteristics in typical load
scenarios – think about more writes – think about longer transactions –
because of GPRS
http://blog.appstorehq.com/post/1212703421/mashable-crushed-us-heres-how-we-bounced-ba
Mongo helps in two Dimensions
• Think about 6-channel-ECG – 200Hz 16bit resolution
35MByte per person per day -> 12GB per year
• 10.000 participants one year -> 120TB
• First dimension – the size -> with every new shard MongoDB is able
save more data
• Second dimension – ops per seconds scales with every new shard
• if the problem is equally distributed over the machines the number of
ops per second scales (it is very important to chose the right
parameter)
Custom Development – maximizing the things covered in the
framework
Hybrid – MongoDB and SQL
Behind the scenes
We are experimenting
with the ratio
WebServer______________
MongoMachines
Put things on the right track
• The portal is interlinked with the
SQL Server (stored procedures)
• The important functions have good
caching mechanisms
• Even 5 Billion User Credentials is
not a real problem for a good SQL
Server
• If Data grows per User per day,
MongoDB helps
Easiest NoSQL-Engine (as far as I know)
to port from SQL to MongoDB
• But there are no joins – so we had to
implement it in our App-Server
• Compared to CassandraDB - MongoDB is
much easier to query but not that easy to up-
scale – but this is not a problem for us
• Easy to query
http://www.mongodb.org/display/DOCS/Advanced+Queries
Thank you for your attention!
More informations here:
www.mhealth-it.com
www.crossgeneration.info
I‘m presenting at the CloudConf
November 18th

More Related Content

What's hot

Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephScyllaDB
 
Avoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleAvoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleScyllaDB
 
How to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadHow to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadScyllaDB
 
Load Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionLoad Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionImperva Incapsula
 
Allocation of Frames & Thrashing
Allocation of Frames & ThrashingAllocation of Frames & Thrashing
Allocation of Frames & Thrashingarifmollick8578
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in muleSon Nguyen
 
P99CONF — What We Need to Unlearn About Persistent Storage
P99CONF — What We Need to Unlearn About Persistent StorageP99CONF — What We Need to Unlearn About Persistent Storage
P99CONF — What We Need to Unlearn About Persistent StorageScyllaDB
 
strangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsstrangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsMatthew Dennis
 
Scaling application servers for efficiency
Scaling application servers for efficiencyScaling application servers for efficiency
Scaling application servers for efficiencyTomas Doran
 
Database replication
Database replicationDatabase replication
Database replicationArslan111
 
Snooping protocols 3
Snooping protocols 3Snooping protocols 3
Snooping protocols 3Yasir Khan
 

What's hot (20)

Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for Ceph
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
 
Gfs
GfsGfs
Gfs
 
data replication
data replicationdata replication
data replication
 
20150331 fibers-in-jvm
20150331 fibers-in-jvm20150331 fibers-in-jvm
20150331 fibers-in-jvm
 
No sql
No sqlNo sql
No sql
 
Virtual memory ,Allocaton of frame & Trashing
Virtual memory  ,Allocaton of frame & TrashingVirtual memory  ,Allocaton of frame & Trashing
Virtual memory ,Allocaton of frame & Trashing
 
Avoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleAvoiding Data Hotspots at Scale
Avoiding Data Hotspots at Scale
 
How to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadHow to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another Workload
 
Cache coherence ppt
Cache coherence pptCache coherence ppt
Cache coherence ppt
 
Load Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionLoad Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware Solution
 
Snooping 2
Snooping 2Snooping 2
Snooping 2
 
Allocation of Frames & Thrashing
Allocation of Frames & ThrashingAllocation of Frames & Thrashing
Allocation of Frames & Thrashing
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in mule
 
P99CONF — What We Need to Unlearn About Persistent Storage
P99CONF — What We Need to Unlearn About Persistent StorageP99CONF — What We Need to Unlearn About Persistent Storage
P99CONF — What We Need to Unlearn About Persistent Storage
 
strangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsstrangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patterns
 
Scaling application servers for efficiency
Scaling application servers for efficiencyScaling application servers for efficiency
Scaling application servers for efficiency
 
Database replication
Database replicationDatabase replication
Database replication
 
Snooping protocols 3
Snooping protocols 3Snooping protocols 3
Snooping protocols 3
 
Operating system
Operating systemOperating system
Operating system
 

Viewers also liked

Grupos con estudiantes
Grupos con estudiantes Grupos con estudiantes
Grupos con estudiantes Yency Castro
 
博客,书写你的网络生活
博客,书写你的网络生活博客,书写你的网络生活
博客,书写你的网络生活wanglichuan
 
Music profile
Music profileMusic profile
Music profileDonagon
 
Grupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiGrupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiYency Castro
 
Grupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiGrupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiYency Castro
 
Presentacion primer dia ciclo1
Presentacion primer dia ciclo1Presentacion primer dia ciclo1
Presentacion primer dia ciclo1Yoryi Rosario
 
Getting over ‘Regrexit’ - Post Brexit Real Estate Opportunities
Getting over ‘Regrexit’ - Post Brexit Real Estate OpportunitiesGetting over ‘Regrexit’ - Post Brexit Real Estate Opportunities
Getting over ‘Regrexit’ - Post Brexit Real Estate OpportunitiesEversheds Sutherland
 
State Aid and Tax – Understanding the risks
State Aid and Tax – Understanding the risksState Aid and Tax – Understanding the risks
State Aid and Tax – Understanding the risksEversheds Sutherland
 
The Dark Knight Presentation
The Dark Knight PresentationThe Dark Knight Presentation
The Dark Knight PresentationDonagon
 

Viewers also liked (16)

Grupos con estudiantes
Grupos con estudiantes Grupos con estudiantes
Grupos con estudiantes
 
博客,书写你的网络生活
博客,书写你的网络生活博客,书写你的网络生活
博客,书写你的网络生活
 
Fyt
FytFyt
Fyt
 
EC General Meeting - 2010.09.06
EC General Meeting - 2010.09.06EC General Meeting - 2010.09.06
EC General Meeting - 2010.09.06
 
5to.
5to.5to.
5to.
 
Music profile
Music profileMusic profile
Music profile
 
Creacionpdf
CreacionpdfCreacionpdf
Creacionpdf
 
Grupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiGrupos con estudiantes 2010 ii
Grupos con estudiantes 2010 ii
 
Grupos con estudiantes 2010 ii
Grupos con estudiantes 2010 iiGrupos con estudiantes 2010 ii
Grupos con estudiantes 2010 ii
 
Presentacion primer dia ciclo1
Presentacion primer dia ciclo1Presentacion primer dia ciclo1
Presentacion primer dia ciclo1
 
Ec general meeting ppt 2010.04.28
Ec general meeting ppt   2010.04.28Ec general meeting ppt   2010.04.28
Ec general meeting ppt 2010.04.28
 
EC General Meeting - 2010.10.06
EC General Meeting - 2010.10.06EC General Meeting - 2010.10.06
EC General Meeting - 2010.10.06
 
Ricardo Sanchez Portfolio 2014
Ricardo Sanchez Portfolio 2014Ricardo Sanchez Portfolio 2014
Ricardo Sanchez Portfolio 2014
 
Getting over ‘Regrexit’ - Post Brexit Real Estate Opportunities
Getting over ‘Regrexit’ - Post Brexit Real Estate OpportunitiesGetting over ‘Regrexit’ - Post Brexit Real Estate Opportunities
Getting over ‘Regrexit’ - Post Brexit Real Estate Opportunities
 
State Aid and Tax – Understanding the risks
State Aid and Tax – Understanding the risksState Aid and Tax – Understanding the risks
State Aid and Tax – Understanding the risks
 
The Dark Knight Presentation
The Dark Knight PresentationThe Dark Knight Presentation
The Dark Knight Presentation
 

Similar to Scaling the server side of occasionally-connected, mobile systems with MongoDB

Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware ProvisioningMongoDB
 
Open HFT libraries in @Java
Open HFT libraries in @JavaOpen HFT libraries in @Java
Open HFT libraries in @JavaPeter Lawrey
 
A Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBA Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBMongoDB
 
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and Hadoop
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and HadoopEventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and Hadoop
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and HadoopAyon Sinha
 
Megastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storageMegastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storageNiels Claeys
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceTim Callaghan
 
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...Tokyo University of Science
 
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Storyvanphp
 
Scaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWSScaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWSBrett McLain
 
MongoDB: An Introduction - june-2011
MongoDB:  An Introduction - june-2011MongoDB:  An Introduction - june-2011
MongoDB: An Introduction - june-2011Chris Westin
 
Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategySaptarshi Chatterjee
 
18 philbe replication stanford99
18 philbe replication stanford9918 philbe replication stanford99
18 philbe replication stanford99ashish61_scs
 
JasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonJasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonMongoDB
 
101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)Henning Spjelkavik
 
NodeJS ecosystem
NodeJS ecosystemNodeJS ecosystem
NodeJS ecosystemYukti Kaura
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity securityLen Bass
 
High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013Server Density
 
parallel Questions &amp; answers
parallel Questions &amp; answersparallel Questions &amp; answers
parallel Questions &amp; answersMd. Mashiur Rahman
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Sergey Platonov
 

Similar to Scaling the server side of occasionally-connected, mobile systems with MongoDB (20)

Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Open HFT libraries in @Java
Open HFT libraries in @JavaOpen HFT libraries in @Java
Open HFT libraries in @Java
 
A Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDBA Front-Row Seat to Ticketmaster’s Use of MongoDB
A Front-Row Seat to Ticketmaster’s Use of MongoDB
 
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and Hadoop
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and HadoopEventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and Hadoop
Eventual Consistency @WalmartLabs with Kafka, Avro, SolrCloud and Hadoop
 
Megastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storageMegastore: Providing scalable and highly available storage
Megastore: Providing scalable and highly available storage
 
Is It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB PerformanceIs It Fast? : Measuring MongoDB Performance
Is It Fast? : Measuring MongoDB Performance
 
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
 
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
 
Scaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWSScaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWS
 
MongoDB: An Introduction - june-2011
MongoDB:  An Introduction - june-2011MongoDB:  An Introduction - june-2011
MongoDB: An Introduction - june-2011
 
Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategy
 
18 philbe replication stanford99
18 philbe replication stanford9918 philbe replication stanford99
18 philbe replication stanford99
 
JasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonJasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max Schireson
 
101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)
 
NodeJS ecosystem
NodeJS ecosystemNodeJS ecosystem
NodeJS ecosystem
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity security
 
MongoDB
MongoDBMongoDB
MongoDB
 
High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013
 
parallel Questions &amp; answers
parallel Questions &amp; answersparallel Questions &amp; answers
parallel Questions &amp; answers
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...
 

Recently uploaded

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Scaling the server side of occasionally-connected, mobile systems with MongoDB

  • 1. Scaling the server side of occasionally-connected, mobile systems with MongoDB Thomas Huber - Fertl EDV-Systeme MongoBerlin October 4th source: istockphoto.com/epicurean
  • 2. Introduction Occasionally Connected Systems • For e. g. Exchange Server & Outlook • Every user has an Inbox, Calendar ….. • If you get a new Laptop – install Outlook and synch your Exchange account (synch takes time) • After synching it is possible to go offline and read all mails offline • booorrriing -> what about DB replication?
  • 3. Definitions around Replication • Lazy / Optimistic Replication <-> Eager Replication Eager Replication – all nodes online are in synch, the transaction-steps are atomic Optimistic Replication – changes are logged, if the node is online, all changes are synched with other nodes, if not online, the node will synch later on. Conflicts are possible. • Master-Slave <-> Peer-to-Peer One master, one or more slaves, not symmetric, all synchronization through the master (no Slave-to-Slave-Synch) Peer-to-Peer – all instances are talking with each other
  • 4. Here is our solution • Lazy / Optimistic Replication Smartphones can be out of coverage – offline functionality for mobile apps robust in terms of going out of coverage and coming back lost data package detection • Master-Slave One webserver / webportal, the user is able to change data on the smartphone and in the webportal, data will be synched • One Security-Credential for Web-Portal & Smartphone Authentication (Login/Pwd) and Authorization (Permissions) are shared • But keep in mind -> Exchange Server & Outlook Data in the „inbox“ is synched whith the smartphone not all data of all users • It is possible to connect 990 different mobile devices to one user account (mixed scenarios - Symbian, iPhone, Android)
  • 6. WTF – WHERE IS MONGODB????!!!!!! • To scale this replication-scenario you need cheap power • 1996 - Microsoft published a scientific paper about big replication scenarios – one among many „The dangers of replication and a solution” ... a ten-fold increase in nodes and traffic gives a thousand fold increase in deadlocks or reconciliations ... • It is not that ugly ;) • But mobile apps will change the characteristics in typical load scenarios – think about more writes – think about longer transactions – because of GPRS http://blog.appstorehq.com/post/1212703421/mashable-crushed-us-heres-how-we-bounced-ba
  • 7. Mongo helps in two Dimensions • Think about 6-channel-ECG – 200Hz 16bit resolution 35MByte per person per day -> 12GB per year • 10.000 participants one year -> 120TB • First dimension – the size -> with every new shard MongoDB is able save more data • Second dimension – ops per seconds scales with every new shard • if the problem is equally distributed over the machines the number of ops per second scales (it is very important to chose the right parameter)
  • 8. Custom Development – maximizing the things covered in the framework
  • 10. Behind the scenes We are experimenting with the ratio WebServer______________ MongoMachines
  • 11. Put things on the right track • The portal is interlinked with the SQL Server (stored procedures) • The important functions have good caching mechanisms • Even 5 Billion User Credentials is not a real problem for a good SQL Server • If Data grows per User per day, MongoDB helps
  • 12. Easiest NoSQL-Engine (as far as I know) to port from SQL to MongoDB • But there are no joins – so we had to implement it in our App-Server • Compared to CassandraDB - MongoDB is much easier to query but not that easy to up- scale – but this is not a problem for us • Easy to query http://www.mongodb.org/display/DOCS/Advanced+Queries
  • 13. Thank you for your attention! More informations here: www.mhealth-it.com www.crossgeneration.info I‘m presenting at the CloudConf November 18th