From MySQL to MongoDB at Wordnik (Tony Tam)

M
MongoSFMongoSF
MongoSF 4/30/2010From MySQL to MongoDB,[object Object],Migrating a Live Application,[object Object],Tony Tam,[object Object]
What is Wordnik,[object Object],Project to track language ,[object Object],like GPS for English,[object Object],Dictionary is a road block to the language,[object Object],Roughly 200 new words created daily,[object Object],Language is not static,[object Object],Capture information about all words,[object Object],Meaning is often undefined in traditional sense,[object Object],Machines can determine meaning through analysis,[object Object],Needs LOTS of data,[object Object]
Why should You care,[object Object],Every Developer can use a Robust Language API!,[object Object],Wordnik migrated to MongoDB,[object Object],> 5 Billion documents,[object Object],> 1.2 TB,[object Object],Zero application downtime,[object Object],Learn from our Experience,[object Object]
Wordnik,[object Object],Not just a website!,[object Object],But we have one,[object Object],Launched Wordnik entirely on MySQL,[object Object],Hit road bumps with insert speed ~4B rows on MyISAMtables,[object Object],Tables locked for 10’s of seconds during inserts,[object Object],But we need more data!,[object Object],Created elaborate update schemes to work around it,[object Object],Lost lots of sleep babysitting servers while researching LT solution,[object Object]
Wordnik + MongoDB,[object Object],What are our storage needs?,[object Object],Database vs. Application Logic,[object Object],No PK/FK constraints,[object Object],No Stored Procedures,[object Object],Consistency?,[object Object],Lots of R&D,[object Object],Tried most all noSQL solutions,[object Object]
Migrating Storage Engines,[object Object],Many parts to this effort,[object Object],Setup & Administration,[object Object],Software Design,[object Object],Optimization,[object Object],Many types of data at Wordnik,[object Object],Corpus,[object Object],Structured HierarchicalData,[object Object],User Data,[object Object],Migrated #1 & #2,[object Object]
Server Infrastructure,[object Object],Wordnik is Heavily Read-only,[object Object],Master / Slave deployment,[object Object],Looking at replica pairs,[object Object],MongoDB loves system resources,[object Object],Wordnik runs dedicated boxes to avoid other apps being sent to disk (aka time-out),[object Object],Memory + Disk = Happy Mongo,[object Object],Many X the disk space of MySQL,[object Object],Easy pill to swallow until…,[object Object]
Server Infrastructure,[object Object],Physical Hardware,[object Object],2 x 4 core CPU, 32gb RAM, FC SAN,[object Object],Had bad luck on VMs,[object Object],(you might not),[object Object],Disk speed => performance,[object Object]
Software Design,[object Object],Two distinct use cases for MongoDB,[object Object],Identical structure, different storage engine,[object Object],Same underlying objects, same storage fidelity (largelykey/value),[object Object],Hierarchical data structure,[object Object],Same underlying objects, document-oriented storage,[object Object]
Software Design,[object Object],Create BasicDBObjects from POJOs and used collection methods,[object Object],BasicDBObjectdbo =,[object Object], new BasicDBObject("sentence",s.getSentence()),[object Object], .append("rating",s.getRating()).append(...);,[object Object],ID Generation to manage unique _ID values,[object Object],Analogous to MySQL AutoIncrement behavior,[object Object],Compatible with MySQL Ids (more later),[object Object],dbo.append("_ID", getId());,[object Object],collection.save(dbo);,[object Object],Implemented all CRUD methods in DAO,[object Object],Swappable between MongoDB and MySQL at runtime ,[object Object]
Software Design,[object Object],Key-Value storage use case,[object Object],Easy as implementing new DAOs,[object Object],SentenceHandlerh = new MongoDBSentenceHandler();,[object Object],Save methods construct BasicDBObject and call save() on collection,[object Object],Implement same interface,[object Object],Same methods against DAO between MySQL and MongoDB versions,[object Object],Data Abstraction 101,[object Object]
Software Design,[object Object],What about bulk inserts?,[object Object],FAF Queued approach,[object Object],Add objects to queue, return to caller,[object Object],Every X seconds, process queue,[object Object],All objects from same collection are appended to a single List<DBObject>,[object Object],Call collection.insert(…) before 2M characters,[object Object],Reduces network overhead,[object Object],Very fast inserts,[object Object]
Software Design,[object Object],Hierarchical Data done more elegantly,[object Object],Wordnik Dictionary Model,[object Object],Java POJOs already had JAXB annotations,[object Object],Part of public REST api,[object Object],Used Mysql,[object Object],12+ tables,[object Object],13 DAOs,[object Object],2500 lines of code,[object Object],50 requests/second uncached,[object Object],Memcache needed to maintain reasonable speed,[object Object]
Software Design,[object Object],TMGO,[object Object]
Software Design,[object Object],MongoDB’s Document Storage let us…,[object Object],Turn the Objects into JSON via Jackson Mapper (fasterxml.com),[object Object],Call save,[object Object],Support all fetch types, enhanced filters,[object Object],1000 requests / second,[object Object],No explicit caching,[object Object],No less scary code,[object Object]
Software Design,[object Object],Saving a complex object,[object Object],String rawJSON = getMapper().writeValueAsString(veryComplexObject);,[object Object],collection.save(newBasicDBOBject(getId(),JSON.parse(rawJSON));,[object Object],Fetching complex object,[object Object],BasicDBObjectdbo = cursor.next();,[object Object],ComplexObjectobj = getMapper().readValue(dbo.toString(), ComplexObject.class);,[object Object],No joins, 20x faster,[object Object]
Migrating Data,[object Object],Migrating => existing data logic,[object Object],Use logic to select DAOs appropriately,[object Object],Read from old, write with new,[object Object],Great system test for MongoDB,[object Object],SentenceHandlermysqlSh = new MySQLSentenceHandler();,[object Object],SentenceHandlermongoSh = new MongoDbSentenceHandler();,[object Object],while(hasMoreData){,[object Object],mongoSh.asyncWrite(mysqlSh.next());,[object Object],    ...,[object Object],},[object Object]
Migrating Data,[object Object],Wordnik moved 5 billion rows from MySQL,[object Object],Sustained 100,000 inserts/second,[object Object],Migration tool was CPU bound,[object Object],ID generation logic, among other,[object Object],Wordnik reads MongoDB fast,[object Object],Read + create java objects @ 250k/second (!),[object Object]
Going live to Production,[object Object],Choose your use case carefully if migrating incrementally,[object Object],Scary no matter what,[object Object],Test your perf monitoring system first!,[object Object],Use your DAOs from migration,[object Object],Turn on MongoDB on one server, monitor, tune (rollback, repeat),[object Object],Full switch over when comfortable,[object Object]
Going live to Production,[object Object],Really?,[object Object],SentenceHandlerh = null;,[object Object],if(useMongoDb){,[object Object],h = new MongoDbSentenceHandler();,[object Object],},[object Object],else{,[object Object],h = new MySQLDbSentenceHandler();,[object Object],},[object Object],return h.find(...);,[object Object]
Optimizing Performance,[object Object],Home-grown connection pooling,[object Object],Master only,[object Object],ConnectionManager.getReadWriteConnection(),[object Object],Slave only,[object Object],ConnectionManager.getReadOnlyConnection(),[object Object],Round-robin all servers, bias on slaves,[object Object],ConnectionManager.getConnection(),[object Object]
Optimizing Performance,[object Object],Caching,[object Object],Had complex logic to handle cache invalidation,[object Object],Out-of-process caches are not free,[object Object],MongoDB loves your RAM,[object Object],Let it do your LRU cache (it will anyway),[object Object],Hardware,[object Object],Do not skimp on your disk or RAM,[object Object],Indexes,[object Object],Schema-less design,[object Object],Even if no values in any document, needs to read document schema to check,[object Object]
Optimizing Performance,[object Object],Disk space,[object Object],Schemaless => schema per document (row),[object Object],Choose your mappings wisely,[object Object],({veryLongAttributeName:true}) => more disk space than ({vlan:true}),[object Object]
Optimizing Performance,[object Object],A Typical Day at the Office for MongoDB,[object Object],API call rate: 47.7 calls/sec,[object Object]
Other Tips,[object Object],Data Types,[object Object],Use caution when changing,[object Object],DBObjectobj = cur.next();,[object Object],long id = (Long) obj.get(“IWasAnIntOnce”),[object Object],Attribute names,[object Object],Don’t change w/o migrating existing data!,[object Object],WTFDMDG????,[object Object]
What’s next?,[object Object],GridFS,[object Object],Store audio files on disk,[object Object],Requires clustered file system for shared access,[object Object],Capped Collections (rolling out this week),[object Object],UGC from MySQL => MongoDB,[object Object],Beg/Bribe 10gen for some Features,[object Object]
Questions?,[object Object]
1 of 27

Recommended

Migrating from MySQL to MongoDB at Wordnik by
Migrating from MySQL to MongoDB at WordnikMigrating from MySQL to MongoDB at Wordnik
Migrating from MySQL to MongoDB at WordnikTony Tam
4.9K views27 slides
Keeping the Lights On with MongoDB by
Keeping the Lights On with MongoDBKeeping the Lights On with MongoDB
Keeping the Lights On with MongoDBTony Tam
1.9K views18 slides
Managing a MongoDB Deployment by
Managing a MongoDB DeploymentManaging a MongoDB Deployment
Managing a MongoDB DeploymentTony Tam
2.4K views19 slides
Mongo db3.0 wired_tiger_storage_engine by
Mongo db3.0 wired_tiger_storage_engineMongo db3.0 wired_tiger_storage_engine
Mongo db3.0 wired_tiger_storage_engineKenny Gorman
3.1K views21 slides
Understanding and tuning WiredTiger, the new high performance database engine... by
Understanding and tuning WiredTiger, the new high performance database engine...Understanding and tuning WiredTiger, the new high performance database engine...
Understanding and tuning WiredTiger, the new high performance database engine...Ontico
7.1K views31 slides
Why Wordnik went non-relational by
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relationalTony Tam
2.7K views35 slides

More Related Content

What's hot

Running MongoDB in the Cloud by
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the CloudTony Tam
3.4K views27 slides
ElasticSearch for data mining by
ElasticSearch for data mining ElasticSearch for data mining
ElasticSearch for data mining William Simms
6.7K views13 slides
Living with SQL and NoSQL at craigslist, a Pragmatic Approach by
Living with SQL and NoSQL at craigslist, a Pragmatic ApproachLiving with SQL and NoSQL at craigslist, a Pragmatic Approach
Living with SQL and NoSQL at craigslist, a Pragmatic ApproachJeremy Zawodny
28.6K views24 slides
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DB by
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DBHow to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DB
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DBMicrosoft Tech Community
827 views24 slides
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья Свиридов by
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья СвиридовManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья Свиридов
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья СвиридовGeeksLab Odessa
10.4K views29 slides
Sphinx at Craigslist in 2012 by
Sphinx at Craigslist in 2012Sphinx at Craigslist in 2012
Sphinx at Craigslist in 2012Jeremy Zawodny
5.3K views31 slides

What's hot(20)

Running MongoDB in the Cloud by Tony Tam
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the Cloud
Tony Tam3.4K views
ElasticSearch for data mining by William Simms
ElasticSearch for data mining ElasticSearch for data mining
ElasticSearch for data mining
William Simms6.7K views
Living with SQL and NoSQL at craigslist, a Pragmatic Approach by Jeremy Zawodny
Living with SQL and NoSQL at craigslist, a Pragmatic ApproachLiving with SQL and NoSQL at craigslist, a Pragmatic Approach
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
Jeremy Zawodny28.6K views
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DB by Microsoft Tech Community
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DBHow to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DB
How to migrate your existing MongoDB and Cassandra Apps to Azure Cosmos DB
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья Свиридов by GeeksLab Odessa
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья СвиридовManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья Свиридов
ManetoDB: Key/Value storage, BigData in Open Stack_Сергей Ковалев, Илья Свиридов
GeeksLab Odessa10.4K views
Sphinx at Craigslist in 2012 by Jeremy Zawodny
Sphinx at Craigslist in 2012Sphinx at Craigslist in 2012
Sphinx at Craigslist in 2012
Jeremy Zawodny5.3K views
Realtime Search Infrastructure at Craigslist (OpenWest 2014) by Jeremy Zawodny
Realtime Search Infrastructure at Craigslist (OpenWest 2014)Realtime Search Infrastructure at Craigslist (OpenWest 2014)
Realtime Search Infrastructure at Craigslist (OpenWest 2014)
Jeremy Zawodny14.5K views
Tweaking perfomance on high-load projects_Думанский Дмитрий by GeeksLab Odessa
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
GeeksLab Odessa10.6K views
Dev Jumpstart: Build Your First App with MongoDB by MongoDB
Dev Jumpstart: Build Your First App with MongoDBDev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
MongoDB1.7K views
MySQL And Search At Craigslist by Jeremy Zawodny
MySQL And Search At CraigslistMySQL And Search At Craigslist
MySQL And Search At Craigslist
Jeremy Zawodny14.8K views
Lightning talk: elasticsearch at Cogenta by Yann Cluchey
Lightning talk: elasticsearch at CogentaLightning talk: elasticsearch at Cogenta
Lightning talk: elasticsearch at Cogenta
Yann Cluchey1.6K views
An Introduction to MongoDB Compass by MongoDB
An Introduction to MongoDB CompassAn Introduction to MongoDB Compass
An Introduction to MongoDB Compass
MongoDB14.6K views
Concurrency Patterns with MongoDB by Yann Cluchey
Concurrency Patterns with MongoDBConcurrency Patterns with MongoDB
Concurrency Patterns with MongoDB
Yann Cluchey15.8K views
Fusion-io and MySQL at Craigslist by Jeremy Zawodny
Fusion-io and MySQL at CraigslistFusion-io and MySQL at Craigslist
Fusion-io and MySQL at Craigslist
Jeremy Zawodny3.9K views
Intergalactic data speak_highload++_20131028 by David Fetter
Intergalactic data speak_highload++_20131028Intergalactic data speak_highload++_20131028
Intergalactic data speak_highload++_20131028
David Fetter777 views

Similar to From MySQL to MongoDB at Wordnik (Tony Tam)

Open source Technology by
Open source TechnologyOpen source Technology
Open source TechnologyAmardeep Vishwakarma
1.1K views88 slides
Mongo DB at Community Engine by
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community EngineCommunity Engine
682 views40 slides
MongoDB at community engine by
MongoDB at community engineMongoDB at community engine
MongoDB at community enginemathraq
1.1K views40 slides
Hybrid MongoDB and RDBMS Applications by
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsSteven Francia
27.4K views68 slides
Beginning MEAN Stack by
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN StackRob Davarnia
1.5K views141 slides
MongoDB presentation by
MongoDB presentationMongoDB presentation
MongoDB presentationHyphen Call
9K views20 slides

Similar to From MySQL to MongoDB at Wordnik (Tony Tam)(20)

MongoDB at community engine by mathraq
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
mathraq1.1K views
Hybrid MongoDB and RDBMS Applications by Steven Francia
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
Steven Francia27.4K views
Beginning MEAN Stack by Rob Davarnia
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
Rob Davarnia1.5K views
MongoDB presentation by Hyphen Call
MongoDB presentationMongoDB presentation
MongoDB presentation
Hyphen Call9K views
MongoATL: How Sourceforge is Using MongoDB by Rick Copeland
MongoATL: How Sourceforge is Using MongoDBMongoATL: How Sourceforge is Using MongoDB
MongoATL: How Sourceforge is Using MongoDB
Rick Copeland2.5K views
Node Js, AngularJs and Express Js Tutorial by PHP Support
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js Tutorial
PHP Support1.3K views
MongoDB vs Mysql. A devops point of view by Pierre Baillet
MongoDB vs Mysql. A devops point of viewMongoDB vs Mysql. A devops point of view
MongoDB vs Mysql. A devops point of view
Pierre Baillet26.8K views
Experiences using CouchDB inside Microsoft's Azure team by Brian Benz
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz5.6K views
MongoDB Introduction and Data Modelling by Sachin Bhosale
MongoDB Introduction and Data Modelling MongoDB Introduction and Data Modelling
MongoDB Introduction and Data Modelling
Sachin Bhosale279 views
SQL vs NoSQL, an experiment with MongoDB by Marco Segato
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDB
Marco Segato1.7K views
MongoDB.pptx by Sigit52
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
Sigit5254 views
Building your first app with MongoDB by Norberto Leite
Building your first app with MongoDBBuilding your first app with MongoDB
Building your first app with MongoDB
Norberto Leite974 views
GWT is Smarter Than You by Robert Cooper
GWT is Smarter Than YouGWT is Smarter Than You
GWT is Smarter Than You
Robert Cooper4.4K views
How it's made - MyGet (CloudBurst) by Maarten Balliauw
How it's made - MyGet (CloudBurst)How it's made - MyGet (CloudBurst)
How it's made - MyGet (CloudBurst)
Maarten Balliauw2.2K views
Introduction to meteor by NodeXperts
Introduction to meteorIntroduction to meteor
Introduction to meteor
NodeXperts117 views
DynamoDB Gluecon 2012 by Appirio
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
Appirio738 views

More from MongoSF

Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases)  by
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) MongoSF
2.2K views17 slides
Schema design with MongoDB (Dwight Merriman) by
Schema design with MongoDB (Dwight Merriman)Schema design with MongoDB (Dwight Merriman)
Schema design with MongoDB (Dwight Merriman)MongoSF
3.5K views28 slides
C# Development (Sam Corder) by
C# Development (Sam Corder)C# Development (Sam Corder)
C# Development (Sam Corder)MongoSF
1.3K views14 slides
Flexible Event Tracking (Paul Gebheim) by
Flexible Event Tracking (Paul Gebheim)Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)MongoSF
1K views25 slides
Administration (Eliot Horowitz) by
Administration (Eliot Horowitz)Administration (Eliot Horowitz)
Administration (Eliot Horowitz)MongoSF
912 views18 slides
Ruby Development and MongoMapper (John Nunemaker) by
Ruby Development and MongoMapper (John Nunemaker)Ruby Development and MongoMapper (John Nunemaker)
Ruby Development and MongoMapper (John Nunemaker)MongoSF
1.7K views69 slides

More from MongoSF(20)

Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases)  by MongoSF
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 
Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 
MongoSF2.2K views
Schema design with MongoDB (Dwight Merriman) by MongoSF
Schema design with MongoDB (Dwight Merriman)Schema design with MongoDB (Dwight Merriman)
Schema design with MongoDB (Dwight Merriman)
MongoSF3.5K views
C# Development (Sam Corder) by MongoSF
C# Development (Sam Corder)C# Development (Sam Corder)
C# Development (Sam Corder)
MongoSF1.3K views
Flexible Event Tracking (Paul Gebheim) by MongoSF
Flexible Event Tracking (Paul Gebheim)Flexible Event Tracking (Paul Gebheim)
Flexible Event Tracking (Paul Gebheim)
MongoSF1K views
Administration (Eliot Horowitz) by MongoSF
Administration (Eliot Horowitz)Administration (Eliot Horowitz)
Administration (Eliot Horowitz)
MongoSF912 views
Ruby Development and MongoMapper (John Nunemaker) by MongoSF
Ruby Development and MongoMapper (John Nunemaker)Ruby Development and MongoMapper (John Nunemaker)
Ruby Development and MongoMapper (John Nunemaker)
MongoSF1.7K views
MongoHQ (Jason McCay & Ben Wyrosdick) by MongoSF
MongoHQ (Jason McCay & Ben Wyrosdick)MongoHQ (Jason McCay & Ben Wyrosdick)
MongoHQ (Jason McCay & Ben Wyrosdick)
MongoSF857 views
Administration by MongoSF
AdministrationAdministration
Administration
MongoSF710 views
Sharding with MongoDB (Eliot Horowitz) by MongoSF
Sharding with MongoDB (Eliot Horowitz)Sharding with MongoDB (Eliot Horowitz)
Sharding with MongoDB (Eliot Horowitz)
MongoSF9.4K views
Practical Ruby Projects (Alex Sharp) by MongoSF
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
MongoSF1.6K views
Implementing MongoDB at Shutterfly (Kenny Gorman) by MongoSF
Implementing MongoDB at Shutterfly (Kenny Gorman)Implementing MongoDB at Shutterfly (Kenny Gorman)
Implementing MongoDB at Shutterfly (Kenny Gorman)
MongoSF3.1K views
Debugging Ruby (Aman Gupta) by MongoSF
Debugging Ruby (Aman Gupta)Debugging Ruby (Aman Gupta)
Debugging Ruby (Aman Gupta)
MongoSF2.2K views
Indexing and Query Optimizer (Aaron Staple) by MongoSF
Indexing and Query Optimizer (Aaron Staple)Indexing and Query Optimizer (Aaron Staple)
Indexing and Query Optimizer (Aaron Staple)
MongoSF3.7K views
MongoDB Replication (Dwight Merriman) by MongoSF
MongoDB Replication (Dwight Merriman)MongoDB Replication (Dwight Merriman)
MongoDB Replication (Dwight Merriman)
MongoSF2.3K views
Zero to Mongo in 60 Hours by MongoSF
Zero to Mongo in 60 HoursZero to Mongo in 60 Hours
Zero to Mongo in 60 Hours
MongoSF2.1K views
Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg) by MongoSF
Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg)Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg)
Building a Mongo DSL in Scala at Hot Potato (Lincoln Hochberg)
MongoSF1K views
PHP Development with MongoDB (Fitz Agard) by MongoSF
PHP Development with MongoDB (Fitz Agard)PHP Development with MongoDB (Fitz Agard)
PHP Development with MongoDB (Fitz Agard)
MongoSF2.7K views
Java Development with MongoDB (James Williams) by MongoSF
Java Development with MongoDB (James Williams)Java Development with MongoDB (James Williams)
Java Development with MongoDB (James Williams)
MongoSF2.6K views
Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M... by MongoSF
Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M...Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M...
Real time ecommerce analytics with MongoDB at Gilt Groupe (Michael Bryzek & M...
MongoSF6.5K views
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow) by MongoSF
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
Map/reduce, geospatial indexing, and other cool features (Kristina Chodorow)
MongoSF2.9K views

Recently uploaded

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
147 views23 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
54 views69 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
170 views29 slides
The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
79 views20 slides
Cencora Executive Symposium by
Cencora Executive SymposiumCencora Executive Symposium
Cencora Executive Symposiummarketingcommunicati21
159 views14 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
180 views18 slides

Recently uploaded(20)

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue147 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE79 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue132 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue135 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue173 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue198 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue184 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li85 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue206 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 views

From MySQL to MongoDB at Wordnik (Tony Tam)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.