SlideShare une entreprise Scribd logo
1  sur  94
Télécharger pour lire hors ligne
Polyglottany Is Not
a Sin
           Eric Lubow
           @elubow
           elubow@simplereach.com
           #MongoBoston
Overview




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Overview
•   SimpleReach




    Polyglottany Is Not A Sin   Eric Lubow   @elubow
Overview
•   SimpleReach
•   Definitions and Data Stores




    Polyglottany Is Not A Sin    Eric Lubow   @elubow
Overview
•   SimpleReach
•   Definitions and Data Stores
•   Evolution to Polyglottany




    Polyglottany Is Not A Sin    Eric Lubow   @elubow
Overview
•   SimpleReach
•   Definitions and Data Stores
•   Evolution to Polyglottany
•   Tie It Together




    Polyglottany Is Not A Sin    Eric Lubow   @elubow
Overview
•   SimpleReach
•   Definitions and Data Stores
•   Evolution to Polyglottany
•   Tie It Together
•   Final Thoughts



    Polyglottany Is Not A Sin    Eric Lubow   @elubow
Overview
•   SimpleReach
•   Definitions and Data Stores
•   Evolution to Polyglottany
•   Tie It Together
•   Final Thoughts
•   Questions


    Polyglottany Is Not A Sin    Eric Lubow   @elubow
Socially Intelligent



Polyglottany Is Not A Sin                          Eric Lubow   @elubow
Size




 Polyglottany Is Not A Sin   Eric Lubow   @elubow
Size
•   150m events
    recorded per day
    and growing




      Polyglottany Is Not A Sin   Eric Lubow   @elubow
Size
•   150m events
    recorded per day
    and growing
•   600m Pageviews per
    month and growing




      Polyglottany Is Not A Sin   Eric Lubow   @elubow
Polyglot Persistence
Polyglot Persistence, like polyglot programming, is all
about choosing the right persistence option for the task
at hand.
                            http://www.sleberknight.com/blog/sleberkn/entry/polyglot_persistence




Polyglottany Is Not A Sin                                              Eric Lubow     @elubow
Right Tool For The Job




Polyglottany Is Not A Sin        Eric Lubow   @elubow
Decisions. Decisions.
•   What are my query patterns?             •   Are my display requirements         •    Is the encryption/authentication/      •   How fault tolerant is the system?
                                                for realtime data?                       authorization support sufficient for




                                                                                                        Tech
    Is my data ingestion high volume/high                                                my needs?                                  What supporting tools do I need?




                Data
•                                                                                                                               •

    velocity?                               •   Do I need to aggregate data
                                                on the fly?                          •    Are there monitoring architectures     •   Is there support for my language?
•   Am I batch loading data?                                                             already built?
                                            •   Is my data structured or
•   Am I write heavy or read heavy?             unstructured?                       •    Are there best practices guides
                                                                                         already
•   Are data relationships important?       •   Does my data lend itself to a
                                                specific design pattern?             •    Will the data need to be
                                                                                         distributed?
•   Does my data need to be
    immediately available everywhere?
                                                                           Data   Tech

                                                                      Financial   Other
•   Am I cloud based?




     Financial                                                                                      Other
                                                                                    •   Do I have legal requirements (HIPAA/FIPS/Sarbanes Oxley/PII)?
•   Am I hardware based?
                                                                                    •   What kind of enterprise support is available?
•   Am I a cloud/iron hybrid?
                                                                                    •   What is the community like?
•   How much am I willing to spend?
                                                                                    •   Does the product roadmap pertain to my roadmap?
•   How much am I willing to spend if something goes wrong?

     Polyglottany Is Not A Sin                                                                                             Eric Lubow             @elubow
No One Size Fits All




Polyglottany Is Not A Sin          Eric Lubow   @elubow
Tools
                            C*



Polyglottany Is Not A Sin        Eric Lubow   @elubow
Free vs. Cost




Polyglottany Is Not A Sin                   Eric Lubow   @elubow
Languages




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Pre-Scale




Polyglottany Is Not A Sin               Eric Lubow   @elubow
SimpleReach Pre-Scale




Polyglottany Is Not A Sin       Eric Lubow   @elubow
Scale




Polyglottany Is Not A Sin           Eric Lubow   @elubow
SimpleReach

                               C*


Polyglottany Is Not A Sin                 Eric Lubow   @elubow
Mongo Conference




Polyglottany Is Not A Sin       Eric Lubow   @elubow
Cassandra                                  C*




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Cassandra                                                     C*
•   Large data volume ingestion at high velocity




    Polyglottany Is Not A Sin                      Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)
•   Query by column groups within rows (slicing)




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)
•   Query by column groups within rows (slicing)
•   Opscenter




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)
•   Query by column groups within rows (slicing)
•   Opscenter
•   Data toolkit: more than a data storage layer




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)
•   Query by column groups within rows (slicing)
•   Opscenter
•   Data toolkit: more than a data storage layer
•   TTLs for small group aggregation



    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Cassandra                                                                    C*
•   Large data volume ingestion at high velocity
•   Really fast writes to many locations (eventual consistency)
•   Query by column groups within rows (slicing)
•   Opscenter
•   Data toolkit: more than a data storage layer
•   TTLs for small group aggregation
•   Wrote Helenus, Node.js driver for Cassandra

    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
MongoDB




Polyglottany Is Not A Sin   Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)




    Polyglottany Is Not A Sin                         Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding




    Polyglottany Is Not A Sin                         Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding
•   Solid ORM for Rails (MongoID)




    Polyglottany Is Not A Sin                         Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding
•   Solid ORM for Rails (MongoID)
•   Fast access for pub/sub of durable/persisted documents




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding
•   Solid ORM for Rails (MongoID)
•   Fast access for pub/sub of durable/persisted documents
•   B-Tree Indexes




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding
•   Solid ORM for Rails (MongoID)
•   Fast access for pub/sub of durable/persisted documents
•   B-Tree Indexes
•   Document based via JSON



    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
MongoDB
•   Fast atomic increments (Node.js is native JSON)
•   Sharding
•   Solid ORM for Rails (MongoID)
•   Fast access for pub/sub of durable/persisted documents
•   B-Tree Indexes
•   Document based via JSON
•   TTLs for ephemeral data

    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Redis




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second
•   Great caching engine




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second
•   Great caching engine
•   Supports useful variable types like sets, sorted set, lists




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second
•   Great caching engine
•   Supports useful variable types like sets, sorted set, lists
•   Everything is guaranteed to Memory Mapped (mmap)




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second
•   Great caching engine
•   Supports useful variable types like sets, sorted set, lists
•   Everything is guaranteed to Memory Mapped (mmap)
•   Transactional and supports bulk operations




    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Redis
•   Supports hundreds of thousands transactions per second
•   Great caching engine
•   Supports useful variable types like sets, sorted set, lists
•   Everything is guaranteed to Memory Mapped (mmap)
•   Transactional and supports bulk operations
•   Centralized queueing and locking system



    Polyglottany Is Not A Sin                                     Eric Lubow   @elubow
Infobright




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Infobright
•   Works with standard MySQL driver




    Polyglottany Is Not A Sin          Eric Lubow   @elubow
Infobright
•   Works with standard MySQL driver
•   Column Stores for ad-hoc analytics queries in SQL




    Polyglottany Is Not A Sin                           Eric Lubow   @elubow
Infobright
•   Works with standard MySQL driver
•   Column Stores for ad-hoc analytics queries in SQL
•   Databases built for business intelligence




    Polyglottany Is Not A Sin                           Eric Lubow   @elubow
Infobright
•   Works with standard MySQL driver
•   Column Stores for ad-hoc analytics queries in SQL
•   Databases built for business intelligence
•   Heavy compression of data




    Polyglottany Is Not A Sin                           Eric Lubow   @elubow
Infobright
•   Works with standard MySQL driver
•   Column Stores for ad-hoc analytics queries in SQL
•   Databases built for business intelligence
•   Heavy compression of data
•   Pre-aggregated data (Knowledge Grid)




    Polyglottany Is Not A Sin                           Eric Lubow   @elubow
Ruby, Node.js, Python




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Ruby, Node.js, Python
•   Polyglottany doesn’t only apply to data stores




    Polyglottany Is Not A Sin                        Eric Lubow   @elubow
Ruby, Node.js, Python
•   Polyglottany doesn’t only apply to data stores
•   Each language has its own benefit to each data storage layer




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Ruby, Node.js, Python
•   Polyglottany doesn’t only apply to data stores
•   Each language has its own benefit to each data storage layer
•   Each language has its own individual benefits




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Ruby, Node.js, Python
•   Polyglottany doesn’t only apply to data stores
•   Each language has its own benefit to each data storage layer
•   Each language has its own individual benefits
•   JSON, APIs, Performance




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Choice




Polyglottany Is Not A Sin            Eric Lubow   @elubow
Cons




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.




    Polyglottany Is Not A Sin                              Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive
•   Cassandra - No btree indexes




    Polyglottany Is Not A Sin                                Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive
•   Cassandra - No btree indexes
•   Mongo - Indexes must fit in memory. Forced Replica ping times




    Polyglottany Is Not A Sin                                      Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive
•   Cassandra - No btree indexes
•   Mongo - Indexes must fit in memory. Forced Replica ping times
•   Python - Whitespace. Community




    Polyglottany Is Not A Sin                                      Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive
•   Cassandra - No btree indexes
•   Mongo - Indexes must fit in memory. Forced Replica ping times
•   Python - Whitespace. Community
•   Ruby - Not high performance enough for our standards




    Polyglottany Is Not A Sin                                      Eric Lubow   @elubow
Cons
•   Redis - Can only utilize a single core. SerDe price.
•   MySQL Column Store - DELETE/UPDATEs are VERY expensive
•   Cassandra - No btree indexes
•   Mongo - Indexes must fit in memory. Forced Replica ping times
•   Python - Whitespace. Community
•   Ruby - Not high performance enough for our standards
•   Javascript (Node.js) - Bad for CPU or IO intensive workloads


    Polyglottany Is Not A Sin                                      Eric Lubow   @elubow
Tying It Together
Even with the right tools, 80% of the work of building a
big data system is acquiring and refining the raw data into
usable data.




Polyglottany Is Not A Sin                   Eric Lubow   @elubow
Tying It Together




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Tying It Together




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Tying It Together
•   Service Oriented Architecture (Internal API)




    Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Tying It Together
•   Service Oriented Architecture (Internal API)
•   Data accuracy checks: visual and programmatic




    Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Tying It Together
•   Service Oriented Architecture (Internal API)
•   Data accuracy checks: visual and programmatic
•   Built framework for testing out storage engines




    Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Tying It Together
•   Service Oriented Architecture (Internal API)
•   Data accuracy checks: visual and programmatic
•   Built framework for testing out storage engines
•   Access to many toolsets (for all languages and DBs)


    Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Service Architecture
 Analytics
          C*
 Real-time
          C*
                            Internal API


Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Distributed Architecture
          US-EAST-1a            US-EAST-1b           US-EAST-1e


       CASSANDRA-0001         CASSANDRA-0002       CASSANDRA-0003

      CASSANDRA-0010          CASSANDRA-0011       CASSANDRA-0012

          REDIS-0001A           REDIS-0001B

          MYSQL-0001                                 MYSQL-0002

   MONGO-SHARD-0000-A                            MONGO-SHARD-0000-B

    MONGO-SHARD-0001-B      MONGO-SHARD-0001-A

                            MONGO-SHARD-0002-B   MONGO-SHARD-0002-A

            iAPI-0001             iAPI-0002            iAPI-0003

Polyglottany Is Not A Sin                          Eric Lubow      @elubow
Points To Consider




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Points To Consider
•   Data consistency - Same in all data stores




    Polyglottany Is Not A Sin                    Eric Lubow   @elubow
Points To Consider
•   Data consistency - Same in all data stores
•   How important is data durability?




    Polyglottany Is Not A Sin                    Eric Lubow   @elubow
Points To Consider
•   Data consistency - Same in all data stores
•   How important is data durability?
•   Managing many servers (Chef, AWS, CSSH)




    Polyglottany Is Not A Sin                    Eric Lubow   @elubow
Points To Consider
•   Data consistency - Same in all data stores
•   How important is data durability?
•   Managing many servers (Chef, AWS, CSSH)
•   Managing and learning many different applications and
    tuning for them




    Polyglottany Is Not A Sin                               Eric Lubow   @elubow
Points To Consider
•   Data consistency - Same in all data stores
•   How important is data durability?
•   Managing many servers (Chef, AWS, CSSH)
•   Managing and learning many different applications and
    tuning for them
•   Expertise



    Polyglottany Is Not A Sin                               Eric Lubow   @elubow
Expertise




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Expertise
•   What happens when you need help?




    Polyglottany Is Not A Sin          Eric Lubow   @elubow
Expertise
•   What happens when you need help?
•   How do you become experts?




    Polyglottany Is Not A Sin          Eric Lubow   @elubow
Expertise
•   What happens when you need help?
•   How do you become experts?
•   What happens when you need more experts?




    Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Summary




Polyglottany Is Not A Sin   Eric Lubow   @elubow
Summary
•   Polyglottany is not a sin




    Polyglottany Is Not A Sin   Eric Lubow   @elubow
Summary
•   Polyglottany is not a sin
•   Know your data read/write patterns




    Polyglottany Is Not A Sin            Eric Lubow   @elubow
Summary
•   Polyglottany is not a sin
•   Know your data read/write patterns
•   Know the tools available to you




    Polyglottany Is Not A Sin            Eric Lubow   @elubow
Summary
•   Polyglottany is not a sin
•   Know your data read/write patterns
•   Know the tools available to you
•   Know your compromises




    Polyglottany Is Not A Sin            Eric Lubow   @elubow
Summary
•   Polyglottany is not a sin
•   Know your data read/write patterns
•   Know the tools available to you
•   Know your compromises
•   Expertise



    Polyglottany Is Not A Sin            Eric Lubow   @elubow
We’re Hiring




Polyglottany Is Not A Sin                  Eric Lubow   @elubow
Questions are guaranteed in life.
Answers aren’t.
               Eric Lubow
               @elubow
               elubow@simplereach.com
               #MongoBoston

               Thank you.

Contenu connexe

Plus de MongoDB

MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB
 
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...MongoDB
 

Plus de MongoDB (20)

MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
 
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
 

Polyglottany is not a sin mongo db boston 2012-10-24

  • 1. Polyglottany Is Not a Sin Eric Lubow @elubow elubow@simplereach.com #MongoBoston
  • 2. Overview Polyglottany Is Not A Sin Eric Lubow @elubow
  • 3. Overview • SimpleReach Polyglottany Is Not A Sin Eric Lubow @elubow
  • 4. Overview • SimpleReach • Definitions and Data Stores Polyglottany Is Not A Sin Eric Lubow @elubow
  • 5. Overview • SimpleReach • Definitions and Data Stores • Evolution to Polyglottany Polyglottany Is Not A Sin Eric Lubow @elubow
  • 6. Overview • SimpleReach • Definitions and Data Stores • Evolution to Polyglottany • Tie It Together Polyglottany Is Not A Sin Eric Lubow @elubow
  • 7. Overview • SimpleReach • Definitions and Data Stores • Evolution to Polyglottany • Tie It Together • Final Thoughts Polyglottany Is Not A Sin Eric Lubow @elubow
  • 8. Overview • SimpleReach • Definitions and Data Stores • Evolution to Polyglottany • Tie It Together • Final Thoughts • Questions Polyglottany Is Not A Sin Eric Lubow @elubow
  • 9. Socially Intelligent Polyglottany Is Not A Sin Eric Lubow @elubow
  • 10. Size Polyglottany Is Not A Sin Eric Lubow @elubow
  • 11. Size • 150m events recorded per day and growing Polyglottany Is Not A Sin Eric Lubow @elubow
  • 12. Size • 150m events recorded per day and growing • 600m Pageviews per month and growing Polyglottany Is Not A Sin Eric Lubow @elubow
  • 13. Polyglot Persistence Polyglot Persistence, like polyglot programming, is all about choosing the right persistence option for the task at hand. http://www.sleberknight.com/blog/sleberkn/entry/polyglot_persistence Polyglottany Is Not A Sin Eric Lubow @elubow
  • 14. Right Tool For The Job Polyglottany Is Not A Sin Eric Lubow @elubow
  • 15. Decisions. Decisions. • What are my query patterns? • Are my display requirements • Is the encryption/authentication/ • How fault tolerant is the system? for realtime data? authorization support sufficient for Tech Is my data ingestion high volume/high my needs? What supporting tools do I need? Data • • velocity? • Do I need to aggregate data on the fly? • Are there monitoring architectures • Is there support for my language? • Am I batch loading data? already built? • Is my data structured or • Am I write heavy or read heavy? unstructured? • Are there best practices guides already • Are data relationships important? • Does my data lend itself to a specific design pattern? • Will the data need to be distributed? • Does my data need to be immediately available everywhere? Data Tech Financial Other • Am I cloud based? Financial Other • Do I have legal requirements (HIPAA/FIPS/Sarbanes Oxley/PII)? • Am I hardware based? • What kind of enterprise support is available? • Am I a cloud/iron hybrid? • What is the community like? • How much am I willing to spend? • Does the product roadmap pertain to my roadmap? • How much am I willing to spend if something goes wrong? Polyglottany Is Not A Sin Eric Lubow @elubow
  • 16. No One Size Fits All Polyglottany Is Not A Sin Eric Lubow @elubow
  • 17. Tools C* Polyglottany Is Not A Sin Eric Lubow @elubow
  • 18. Free vs. Cost Polyglottany Is Not A Sin Eric Lubow @elubow
  • 19. Languages Polyglottany Is Not A Sin Eric Lubow @elubow
  • 20. Pre-Scale Polyglottany Is Not A Sin Eric Lubow @elubow
  • 21. SimpleReach Pre-Scale Polyglottany Is Not A Sin Eric Lubow @elubow
  • 22. Scale Polyglottany Is Not A Sin Eric Lubow @elubow
  • 23. SimpleReach C* Polyglottany Is Not A Sin Eric Lubow @elubow
  • 24. Mongo Conference Polyglottany Is Not A Sin Eric Lubow @elubow
  • 25. Cassandra C* Polyglottany Is Not A Sin Eric Lubow @elubow
  • 26. Cassandra C* • Large data volume ingestion at high velocity Polyglottany Is Not A Sin Eric Lubow @elubow
  • 27. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 28. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) • Query by column groups within rows (slicing) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 29. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) • Query by column groups within rows (slicing) • Opscenter Polyglottany Is Not A Sin Eric Lubow @elubow
  • 30. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) • Query by column groups within rows (slicing) • Opscenter • Data toolkit: more than a data storage layer Polyglottany Is Not A Sin Eric Lubow @elubow
  • 31. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) • Query by column groups within rows (slicing) • Opscenter • Data toolkit: more than a data storage layer • TTLs for small group aggregation Polyglottany Is Not A Sin Eric Lubow @elubow
  • 32. Cassandra C* • Large data volume ingestion at high velocity • Really fast writes to many locations (eventual consistency) • Query by column groups within rows (slicing) • Opscenter • Data toolkit: more than a data storage layer • TTLs for small group aggregation • Wrote Helenus, Node.js driver for Cassandra Polyglottany Is Not A Sin Eric Lubow @elubow
  • 33. MongoDB Polyglottany Is Not A Sin Eric Lubow @elubow
  • 34. MongoDB • Fast atomic increments (Node.js is native JSON) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 35. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding Polyglottany Is Not A Sin Eric Lubow @elubow
  • 36. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding • Solid ORM for Rails (MongoID) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 37. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding • Solid ORM for Rails (MongoID) • Fast access for pub/sub of durable/persisted documents Polyglottany Is Not A Sin Eric Lubow @elubow
  • 38. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding • Solid ORM for Rails (MongoID) • Fast access for pub/sub of durable/persisted documents • B-Tree Indexes Polyglottany Is Not A Sin Eric Lubow @elubow
  • 39. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding • Solid ORM for Rails (MongoID) • Fast access for pub/sub of durable/persisted documents • B-Tree Indexes • Document based via JSON Polyglottany Is Not A Sin Eric Lubow @elubow
  • 40. MongoDB • Fast atomic increments (Node.js is native JSON) • Sharding • Solid ORM for Rails (MongoID) • Fast access for pub/sub of durable/persisted documents • B-Tree Indexes • Document based via JSON • TTLs for ephemeral data Polyglottany Is Not A Sin Eric Lubow @elubow
  • 41. Redis Polyglottany Is Not A Sin Eric Lubow @elubow
  • 42. Redis • Supports hundreds of thousands transactions per second Polyglottany Is Not A Sin Eric Lubow @elubow
  • 43. Redis • Supports hundreds of thousands transactions per second • Great caching engine Polyglottany Is Not A Sin Eric Lubow @elubow
  • 44. Redis • Supports hundreds of thousands transactions per second • Great caching engine • Supports useful variable types like sets, sorted set, lists Polyglottany Is Not A Sin Eric Lubow @elubow
  • 45. Redis • Supports hundreds of thousands transactions per second • Great caching engine • Supports useful variable types like sets, sorted set, lists • Everything is guaranteed to Memory Mapped (mmap) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 46. Redis • Supports hundreds of thousands transactions per second • Great caching engine • Supports useful variable types like sets, sorted set, lists • Everything is guaranteed to Memory Mapped (mmap) • Transactional and supports bulk operations Polyglottany Is Not A Sin Eric Lubow @elubow
  • 47. Redis • Supports hundreds of thousands transactions per second • Great caching engine • Supports useful variable types like sets, sorted set, lists • Everything is guaranteed to Memory Mapped (mmap) • Transactional and supports bulk operations • Centralized queueing and locking system Polyglottany Is Not A Sin Eric Lubow @elubow
  • 48. Infobright Polyglottany Is Not A Sin Eric Lubow @elubow
  • 49. Infobright • Works with standard MySQL driver Polyglottany Is Not A Sin Eric Lubow @elubow
  • 50. Infobright • Works with standard MySQL driver • Column Stores for ad-hoc analytics queries in SQL Polyglottany Is Not A Sin Eric Lubow @elubow
  • 51. Infobright • Works with standard MySQL driver • Column Stores for ad-hoc analytics queries in SQL • Databases built for business intelligence Polyglottany Is Not A Sin Eric Lubow @elubow
  • 52. Infobright • Works with standard MySQL driver • Column Stores for ad-hoc analytics queries in SQL • Databases built for business intelligence • Heavy compression of data Polyglottany Is Not A Sin Eric Lubow @elubow
  • 53. Infobright • Works with standard MySQL driver • Column Stores for ad-hoc analytics queries in SQL • Databases built for business intelligence • Heavy compression of data • Pre-aggregated data (Knowledge Grid) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 54. Ruby, Node.js, Python Polyglottany Is Not A Sin Eric Lubow @elubow
  • 55. Ruby, Node.js, Python • Polyglottany doesn’t only apply to data stores Polyglottany Is Not A Sin Eric Lubow @elubow
  • 56. Ruby, Node.js, Python • Polyglottany doesn’t only apply to data stores • Each language has its own benefit to each data storage layer Polyglottany Is Not A Sin Eric Lubow @elubow
  • 57. Ruby, Node.js, Python • Polyglottany doesn’t only apply to data stores • Each language has its own benefit to each data storage layer • Each language has its own individual benefits Polyglottany Is Not A Sin Eric Lubow @elubow
  • 58. Ruby, Node.js, Python • Polyglottany doesn’t only apply to data stores • Each language has its own benefit to each data storage layer • Each language has its own individual benefits • JSON, APIs, Performance Polyglottany Is Not A Sin Eric Lubow @elubow
  • 59. Choice Polyglottany Is Not A Sin Eric Lubow @elubow
  • 60. Cons Polyglottany Is Not A Sin Eric Lubow @elubow
  • 61. Cons • Redis - Can only utilize a single core. SerDe price. Polyglottany Is Not A Sin Eric Lubow @elubow
  • 62. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive Polyglottany Is Not A Sin Eric Lubow @elubow
  • 63. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive • Cassandra - No btree indexes Polyglottany Is Not A Sin Eric Lubow @elubow
  • 64. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive • Cassandra - No btree indexes • Mongo - Indexes must fit in memory. Forced Replica ping times Polyglottany Is Not A Sin Eric Lubow @elubow
  • 65. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive • Cassandra - No btree indexes • Mongo - Indexes must fit in memory. Forced Replica ping times • Python - Whitespace. Community Polyglottany Is Not A Sin Eric Lubow @elubow
  • 66. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive • Cassandra - No btree indexes • Mongo - Indexes must fit in memory. Forced Replica ping times • Python - Whitespace. Community • Ruby - Not high performance enough for our standards Polyglottany Is Not A Sin Eric Lubow @elubow
  • 67. Cons • Redis - Can only utilize a single core. SerDe price. • MySQL Column Store - DELETE/UPDATEs are VERY expensive • Cassandra - No btree indexes • Mongo - Indexes must fit in memory. Forced Replica ping times • Python - Whitespace. Community • Ruby - Not high performance enough for our standards • Javascript (Node.js) - Bad for CPU or IO intensive workloads Polyglottany Is Not A Sin Eric Lubow @elubow
  • 68. Tying It Together Even with the right tools, 80% of the work of building a big data system is acquiring and refining the raw data into usable data. Polyglottany Is Not A Sin Eric Lubow @elubow
  • 69. Tying It Together Polyglottany Is Not A Sin Eric Lubow @elubow
  • 70. Tying It Together Polyglottany Is Not A Sin Eric Lubow @elubow
  • 71. Tying It Together • Service Oriented Architecture (Internal API) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 72. Tying It Together • Service Oriented Architecture (Internal API) • Data accuracy checks: visual and programmatic Polyglottany Is Not A Sin Eric Lubow @elubow
  • 73. Tying It Together • Service Oriented Architecture (Internal API) • Data accuracy checks: visual and programmatic • Built framework for testing out storage engines Polyglottany Is Not A Sin Eric Lubow @elubow
  • 74. Tying It Together • Service Oriented Architecture (Internal API) • Data accuracy checks: visual and programmatic • Built framework for testing out storage engines • Access to many toolsets (for all languages and DBs) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 75. Service Architecture Analytics C* Real-time C* Internal API Polyglottany Is Not A Sin Eric Lubow @elubow
  • 76. Distributed Architecture US-EAST-1a US-EAST-1b US-EAST-1e CASSANDRA-0001 CASSANDRA-0002 CASSANDRA-0003 CASSANDRA-0010 CASSANDRA-0011 CASSANDRA-0012 REDIS-0001A REDIS-0001B MYSQL-0001 MYSQL-0002 MONGO-SHARD-0000-A MONGO-SHARD-0000-B MONGO-SHARD-0001-B MONGO-SHARD-0001-A MONGO-SHARD-0002-B MONGO-SHARD-0002-A iAPI-0001 iAPI-0002 iAPI-0003 Polyglottany Is Not A Sin Eric Lubow @elubow
  • 77. Points To Consider Polyglottany Is Not A Sin Eric Lubow @elubow
  • 78. Points To Consider • Data consistency - Same in all data stores Polyglottany Is Not A Sin Eric Lubow @elubow
  • 79. Points To Consider • Data consistency - Same in all data stores • How important is data durability? Polyglottany Is Not A Sin Eric Lubow @elubow
  • 80. Points To Consider • Data consistency - Same in all data stores • How important is data durability? • Managing many servers (Chef, AWS, CSSH) Polyglottany Is Not A Sin Eric Lubow @elubow
  • 81. Points To Consider • Data consistency - Same in all data stores • How important is data durability? • Managing many servers (Chef, AWS, CSSH) • Managing and learning many different applications and tuning for them Polyglottany Is Not A Sin Eric Lubow @elubow
  • 82. Points To Consider • Data consistency - Same in all data stores • How important is data durability? • Managing many servers (Chef, AWS, CSSH) • Managing and learning many different applications and tuning for them • Expertise Polyglottany Is Not A Sin Eric Lubow @elubow
  • 83. Expertise Polyglottany Is Not A Sin Eric Lubow @elubow
  • 84. Expertise • What happens when you need help? Polyglottany Is Not A Sin Eric Lubow @elubow
  • 85. Expertise • What happens when you need help? • How do you become experts? Polyglottany Is Not A Sin Eric Lubow @elubow
  • 86. Expertise • What happens when you need help? • How do you become experts? • What happens when you need more experts? Polyglottany Is Not A Sin Eric Lubow @elubow
  • 87. Summary Polyglottany Is Not A Sin Eric Lubow @elubow
  • 88. Summary • Polyglottany is not a sin Polyglottany Is Not A Sin Eric Lubow @elubow
  • 89. Summary • Polyglottany is not a sin • Know your data read/write patterns Polyglottany Is Not A Sin Eric Lubow @elubow
  • 90. Summary • Polyglottany is not a sin • Know your data read/write patterns • Know the tools available to you Polyglottany Is Not A Sin Eric Lubow @elubow
  • 91. Summary • Polyglottany is not a sin • Know your data read/write patterns • Know the tools available to you • Know your compromises Polyglottany Is Not A Sin Eric Lubow @elubow
  • 92. Summary • Polyglottany is not a sin • Know your data read/write patterns • Know the tools available to you • Know your compromises • Expertise Polyglottany Is Not A Sin Eric Lubow @elubow
  • 93. We’re Hiring Polyglottany Is Not A Sin Eric Lubow @elubow
  • 94. Questions are guaranteed in life. Answers aren’t. Eric Lubow @elubow elubow@simplereach.com #MongoBoston Thank you.

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. SimpleReach is a social intelligence tool for content creators. We track everything social action, on every major network, across the entire web in real-time. That means every like, tweet, pin, stumble and many more.\n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n