SlideShare a Scribd company logo
keep track and backup
                        your contacts & conversations




                                                  Erwan Arzur
                                                  erwan@silentale.com
                                                  +33 6 09 33 76 42
                                                  http://silentale.com

vendredi 18 juin 2010
Silentale in a few words


                 • Backup and indexes messages from all accounts
                 • Creates the user’s social address book
                 • Freemium service - free and paid plans




                                                            Silentale   June 18, 2010   2

vendredi 18 juin 2010
Silentale

                        One convenient place to backup
                        all your contacts and messages
                             across multiple services




                                                  Silentale   June 18, 2010   3

vendredi 18 juin 2010
Find what you need, faster


                • Retrieve contact details, messages or
                attachments, across all your accounts

                • Complete, consolidated message history

                • Unified address book

                • Wherever you need it (mobile, browser,
                desktop clients)



                                                 Silentale   June 18, 2010   4

vendredi 18 juin 2010
How does it work?

           Contacts & Messages
             from everywhere




                                            Silentale   June 18, 2010   5

vendredi 18 juin 2010
How does it work?

           Contacts & Messages
                                                   Applications
             from everywhere




                                        API
                                                   3rd party apps




                                              Silentale   June 18, 2010   5

vendredi 18 juin 2010
Distributed platform

                   • Crawlers retrieve messages & contacts
                        • Store raw messages in S3 buckets
                   • Parsers extract useful information
                        • update databases (MySQL & MongoDB)
                        • message meta-data
                   • Indexers
                        • full-text index
                        • MongoDB
                   • Message Queue service


                                                               Silentale   June 18, 2010   6

vendredi 18 juin 2010
Mongo Setup

                   • 1 collection / user
                   • sharding
                        • current sharding implementation doesn’t work for us
                        • very crude custom sharding algorithm

                   • replica pairs
                        • seem like a waste of resource ... until it’s maintenance time

                   • m1.x-large instances
                        • 15 GB RAM
                        • 8x70 GB EBS volumes in raid0 (xfs)




                                                                           Silentale   June 18, 2010   7

vendredi 18 juin 2010
Our history with Mongo

                   • Our first beta in sep ’09 was using 0.9
                   • why did we choose mongo ?
                        • more than a simple key-value store
                        • easy port from MySQL (MongoMapper)
                        • store arrays and search in them (rare feature among mongodb
                        competition)
                        • very fast answers from 10gen and community
                   • a few bugs hurt us
                        • ruby driver
                        • replication problems
                        • quickly fixed and has to be expected when deploying an early release !

                   • Now using 1.4.3 in production

                                                                               Silentale   June 18, 2010   8

vendredi 18 juin 2010
Scales

                   • ~100M documents
                   • ~1.5 TB of data
                   • >1.5 TB of indices
                   • 15GB of RAM / shard

                   • I/O bound
                        • first search into a user’s collection can take several minutes
                        (!!)
                        • acceptable performance afterwards, but don’t try to search
                        another user’s collection !



                                                                          Silentale   June 18, 2010   9

vendredi 18 juin 2010
Scales

                   • ~100M documents
                   • ~1.5 TB of data
                   • >1.5 TB of indices
                   • 15GB of RAM / shard
                                                 Too Slow !

                   • I/O bound
                        • first search into a user’s collection can take several minutes
                        (!!)
                        • acceptable performance afterwards, but don’t try to search
                        another user’s collection !



                                                                          Silentale   June 18, 2010   9

vendredi 18 juin 2010
Solutions / wish-list

                  • separate intents in different databases
                        • meta-data needs quasi-instant retrieval
                        • full-text doesn’t
                        • simple searches works well thanks to indexing of array values
                        • http://jira.mongodb.org/browse/SERVER-380

                  • moving to bare-metal
                        • specialized hardware.

                  • cache management




                                                                         Silentale   June 18, 2010   10

vendredi 18 juin 2010
Thank you !




                                Questions ?




                        Erwan Arzur / erwan@silentale.com / @zuzur



                                                                     Silentale   June 18, 2010   11

vendredi 18 juin 2010

More Related Content

PPTX
Notagile2010 leadership
PDF
Open Source Jumpstart Tooling Up Intro
PDF
Plug 20110217
PPTX
DDD eXchange
ODP
Itb session v_memcached
ODP
Itty bittypresentation lrug
PPTX
Feature Injection River Glide
PPTX
Benjamin mitchell agile x
Notagile2010 leadership
Open Source Jumpstart Tooling Up Intro
Plug 20110217
DDD eXchange
Itb session v_memcached
Itty bittypresentation lrug
Feature Injection River Glide
Benjamin mitchell agile x

Viewers also liked (8)

PDF
Agilex retrospectives
PPT
pat kerpan stateless server motion cloud camp
PDF
Michael Adobe Flex Java 1 London
PDF
Scala modules
PPTX
Greg Young on Architectural Innovation: Eventing, Event Sourcing
PDF
Creating And Sustaining An Agile Culture Sm
ODP
Daniel Sikar: Hadoop MapReduce - 06/09/2010
PPTX
Christophe Spring Actionscript Flex Java Exchange
Agilex retrospectives
pat kerpan stateless server motion cloud camp
Michael Adobe Flex Java 1 London
Scala modules
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Creating And Sustaining An Agile Culture Sm
Daniel Sikar: Hadoop MapReduce - 06/09/2010
Christophe Spring Actionscript Flex Java Exchange
Ad

Similar to Silentale mongo slides (20)

PDF
Integrating Erlang with PHP
PDF
Playing between the clouds - Better Software 2010
PDF
BRAINREPUBLIC - Powered by no-SQL
PDF
Tomas Grails
PDF
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
PDF
The Reluctant SysAdmin : 360|iDev Austin 2010
PDF
Death To Paper Drupal Fresno
PDF
Debugging your JavaScript
PDF
Debugging and Profiling Symfony Apps
PDF
Large Files without the Trials
PPTX
B4 - Have end-users fall in love with SharePoint again through meaningful ado...
PDF
livedoor's opened and shared technologies
PDF
State of Cassandra, August 2010
PDF
Big Bad PostgreSQL: BI on a Budget
PDF
Check Please!
PDF
Spotify: behind the scenes
PDF
Jeff mc cune sf 2010
PDF
GGUG:Practical DSL Design
PDF
Spotify: P2P music-on-demand streaming
PDF
ツイキャス・東京ユーザー会 資料
Integrating Erlang with PHP
Playing between the clouds - Better Software 2010
BRAINREPUBLIC - Powered by no-SQL
Tomas Grails
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
The Reluctant SysAdmin : 360|iDev Austin 2010
Death To Paper Drupal Fresno
Debugging your JavaScript
Debugging and Profiling Symfony Apps
Large Files without the Trials
B4 - Have end-users fall in love with SharePoint again through meaningful ado...
livedoor's opened and shared technologies
State of Cassandra, August 2010
Big Bad PostgreSQL: BI on a Budget
Check Please!
Spotify: behind the scenes
Jeff mc cune sf 2010
GGUG:Practical DSL Design
Spotify: P2P music-on-demand streaming
ツイキャス・東京ユーザー会 資料
Ad

More from Skills Matter (20)

PDF
5 things cucumber is bad at by Richard Lawrence
ODP
Patterns for slick database applications
PDF
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
ODP
Oscar reiken jr on our success at manheim
ODP
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
PDF
Cukeup nyc ian dees on elixir, erlang, and cucumberl
PDF
Cukeup nyc peter bell on getting started with cucumber.js
PDF
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
ODP
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
ODP
Progressive f# tutorials nyc don syme on keynote f# in the open source world
PDF
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
PPTX
Dmitry mozorov on code quotations code as-data for f#
PDF
A poet's guide_to_acceptance_testing
PDF
Russ miles-cloudfoundry-deep-dive
KEY
Serendipity-neo4j
PDF
Simon Peyton Jones: Managing parallelism
PDF
Lug presentation
PPT
I went to_a_communications_workshop_and_they_t
PDF
Plug saiku
PDF
Huguk lily
5 things cucumber is bad at by Richard Lawrence
Patterns for slick database applications
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Oscar reiken jr on our success at manheim
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc peter bell on getting started with cucumber.js
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Dmitry mozorov on code quotations code as-data for f#
A poet's guide_to_acceptance_testing
Russ miles-cloudfoundry-deep-dive
Serendipity-neo4j
Simon Peyton Jones: Managing parallelism
Lug presentation
I went to_a_communications_workshop_and_they_t
Plug saiku
Huguk lily

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Tartificialntelligence_presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mushroom cultivation and it's methods.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Getting Started with Data Integration: FME Form 101
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Machine Learning_overview_presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
1. Introduction to Computer Programming.pptx
PDF
August Patch Tuesday
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
A comparative analysis of optical character recognition models for extracting...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Reach Out and Touch Someone: Haptics and Empathic Computing
Tartificialntelligence_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Mushroom cultivation and it's methods.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Getting Started with Data Integration: FME Form 101
Heart disease approach using modified random forest and particle swarm optimi...
cloud_computing_Infrastucture_as_cloud_p
Machine Learning_overview_presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
1. Introduction to Computer Programming.pptx
August Patch Tuesday

Silentale mongo slides

  • 1. keep track and backup your contacts & conversations Erwan Arzur erwan@silentale.com +33 6 09 33 76 42 http://silentale.com vendredi 18 juin 2010
  • 2. Silentale in a few words • Backup and indexes messages from all accounts • Creates the user’s social address book • Freemium service - free and paid plans Silentale June 18, 2010 2 vendredi 18 juin 2010
  • 3. Silentale One convenient place to backup all your contacts and messages across multiple services Silentale June 18, 2010 3 vendredi 18 juin 2010
  • 4. Find what you need, faster • Retrieve contact details, messages or attachments, across all your accounts • Complete, consolidated message history • Unified address book • Wherever you need it (mobile, browser, desktop clients) Silentale June 18, 2010 4 vendredi 18 juin 2010
  • 5. How does it work? Contacts & Messages from everywhere Silentale June 18, 2010 5 vendredi 18 juin 2010
  • 6. How does it work? Contacts & Messages Applications from everywhere API 3rd party apps Silentale June 18, 2010 5 vendredi 18 juin 2010
  • 7. Distributed platform • Crawlers retrieve messages & contacts • Store raw messages in S3 buckets • Parsers extract useful information • update databases (MySQL & MongoDB) • message meta-data • Indexers • full-text index • MongoDB • Message Queue service Silentale June 18, 2010 6 vendredi 18 juin 2010
  • 8. Mongo Setup • 1 collection / user • sharding • current sharding implementation doesn’t work for us • very crude custom sharding algorithm • replica pairs • seem like a waste of resource ... until it’s maintenance time • m1.x-large instances • 15 GB RAM • 8x70 GB EBS volumes in raid0 (xfs) Silentale June 18, 2010 7 vendredi 18 juin 2010
  • 9. Our history with Mongo • Our first beta in sep ’09 was using 0.9 • why did we choose mongo ? • more than a simple key-value store • easy port from MySQL (MongoMapper) • store arrays and search in them (rare feature among mongodb competition) • very fast answers from 10gen and community • a few bugs hurt us • ruby driver • replication problems • quickly fixed and has to be expected when deploying an early release ! • Now using 1.4.3 in production Silentale June 18, 2010 8 vendredi 18 juin 2010
  • 10. Scales • ~100M documents • ~1.5 TB of data • >1.5 TB of indices • 15GB of RAM / shard • I/O bound • first search into a user’s collection can take several minutes (!!) • acceptable performance afterwards, but don’t try to search another user’s collection ! Silentale June 18, 2010 9 vendredi 18 juin 2010
  • 11. Scales • ~100M documents • ~1.5 TB of data • >1.5 TB of indices • 15GB of RAM / shard Too Slow ! • I/O bound • first search into a user’s collection can take several minutes (!!) • acceptable performance afterwards, but don’t try to search another user’s collection ! Silentale June 18, 2010 9 vendredi 18 juin 2010
  • 12. Solutions / wish-list • separate intents in different databases • meta-data needs quasi-instant retrieval • full-text doesn’t • simple searches works well thanks to indexing of array values • http://jira.mongodb.org/browse/SERVER-380 • moving to bare-metal • specialized hardware. • cache management Silentale June 18, 2010 10 vendredi 18 juin 2010
  • 13. Thank you ! Questions ? Erwan Arzur / erwan@silentale.com / @zuzur Silentale June 18, 2010 11 vendredi 18 juin 2010