SlideShare a Scribd company logo
1 of 13
Happiness isMongoDBMonday, October 3rd, 2011 Daniel Doubrovkine (dB.)db@art.sy@dblockdotorghttp://code.dblock.org 902 Broadway, 4th Fl.New York, NY
Claude Monet  Mark Grotjahn Demo
Art Genome Project - vs. - Kasimir Malevich – “Self Portrait” William Beckman – “Self Portrait”
Euclidean Distance 𝑑=(100−100)2+(100−50)2+…+(75−20)2 = 42  
Fast Search in Ruby defsimilar(a1) artworks.each { |a2|    [a2, euclidean(a1, a2)]   }.sort_by { |a, d|    d    }.take(10) end
MySQL Prototype Schema
MySQL Prototype Schema Need a sorted sparse vector on boot. [ 100, 0, 20, … 60 ] 10K artworks: 5 minutes to startup 5 minutes to accomplish … nothing.
Genome.genes – it’s a hash! { “Portrait” => 100, …, “Conceptual” => 20 } Genome, Embedded in Artwork MonoDB “Schema”
Something new? Got (far too) many years of experience with *SQL / DW @harryh uses it @ 4sq @eliothorowitzlooks pretty smart db.startups.find({ location : { $near : GA },   category : ‘nosqldb vendor' } ).first = 10gen install … ? … profit available on Heroku from MongoHQ continuous deployment friendly Choosing MongoDB
Using MongoDB MongoDB retrieval by ID is fast, maybe faster, than Ruby Hash Using Rails + Rake and Mongo is safer than mongo shell db.collection.update({x: y}) Shared Hosting is not Rubber, You Can’t Stretch It Map/reduce for live queries really doesn’t work, no reallymongoid_fulltext Read-secondary + Map/Reduce can be fun read_secondary: <%= $rails_rake_task.nil? or !$rails_rake_task %> Collection names are limited in length if you use mongodumphttps://jira.mongodb.org/browse/SERVER-2973, fixed in 2.0.0 copyDatabaserequires administrative privilegeshttps://jira.mongodb.org/browse/SERVER-2846
Mongo cursors aren’t snapshotted by defaultProcessing 5183 of 4012 …http://www.mongodb.org/display/DOCS/How+to+do+Snapshotted+Queries+in+the+Mongo+Database Mongo Interest is growing, RoR + MongoId = GTDhttp://code.dblock.org/ror-win-getting-things-done-with-mongodb-mongoid Mongoid Keeps Things Entertaining, Living on the Edge Using MongoDB(continued …)
MongoHQ Extensions via Heroku Production Directly w/MongoHQ A Few Hundred Bucks / mo. Mongo 1.8.1 w/ replica sets, 2 DBs and 1 arbiter Different Availability Zones Dedicated RAM, separate EBS, shared CPU Early Issues, Now Very Stable Jason McCay + other folks @ MongoHQ= Awesome Mongoid2.0.2 mongoid_slug, mongoid_fulltext, mongoid_history, delayed_job_mongoid Deploying MongoDB
      name: Daniel Doubrovkine(aka. dB.) company: http://art.sy ^work heretwitter: @dblockdotorg         blog: http://code.dblock.org ^link to slides here       email: dblock@dblock.org Thank you.

More Related Content

Viewers also liked

Rani's Latest Resume
Rani's  Latest ResumeRani's  Latest Resume
Rani's Latest ResumeRani Ghadge
 
¿Qué son las ICCA o los TICCA?
¿Qué son las ICCA o los TICCA?¿Qué son las ICCA o los TICCA?
¿Qué son las ICCA o los TICCA?FAO
 
LISA ASIA Forum - Localizing Interactive Media & Game
LISA ASIA Forum - Localizing Interactive Media & GameLISA ASIA Forum - Localizing Interactive Media & Game
LISA ASIA Forum - Localizing Interactive Media & GameVictor Alonso Lion
 
Presentation slides
Presentation slidesPresentation slides
Presentation slidesPranav Rao
 
Viva el café cantante. Concierto didáctico. Dossier
Viva el café cantante. Concierto didáctico. DossierViva el café cantante. Concierto didáctico. Dossier
Viva el café cantante. Concierto didáctico. DossierUniversidad de Sevilla
 
Guía animais (aves)
Guía animais (aves)Guía animais (aves)
Guía animais (aves)monadela
 
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...Maeztro Alberto
 
Magia de las hierbas
Magia de las hierbasMagia de las hierbas
Magia de las hierbasClaudio Wild
 
Clase 6 creación de sitio web en wix parte i
Clase 6  creación de sitio web en wix parte iClase 6  creación de sitio web en wix parte i
Clase 6 creación de sitio web en wix parte iViviana Mercedes Ponce
 
O plano de contas e sua utilidade em moçambique
O plano de contas e sua utilidade em moçambiqueO plano de contas e sua utilidade em moçambique
O plano de contas e sua utilidade em moçambiqueUniversidade Pedagogica
 
Cours #1 Histoire de la télécommunication et des médias
Cours #1 Histoire de la télécommunication et des médiasCours #1 Histoire de la télécommunication et des médias
Cours #1 Histoire de la télécommunication et des médiasAlexandre Moussier
 

Viewers also liked (18)

Rani's Latest Resume
Rani's  Latest ResumeRani's  Latest Resume
Rani's Latest Resume
 
Gestione dei rifiuti in valdisieve
Gestione dei rifiuti in valdisieve Gestione dei rifiuti in valdisieve
Gestione dei rifiuti in valdisieve
 
Trabajo de fin de máster
Trabajo de fin de másterTrabajo de fin de máster
Trabajo de fin de máster
 
¿Qué son las ICCA o los TICCA?
¿Qué son las ICCA o los TICCA?¿Qué son las ICCA o los TICCA?
¿Qué son las ICCA o los TICCA?
 
LISA ASIA Forum - Localizing Interactive Media & Game
LISA ASIA Forum - Localizing Interactive Media & GameLISA ASIA Forum - Localizing Interactive Media & Game
LISA ASIA Forum - Localizing Interactive Media & Game
 
Presentation slides
Presentation slidesPresentation slides
Presentation slides
 
Viva el café cantante. Concierto didáctico. Dossier
Viva el café cantante. Concierto didáctico. DossierViva el café cantante. Concierto didáctico. Dossier
Viva el café cantante. Concierto didáctico. Dossier
 
Guía animais (aves)
Guía animais (aves)Guía animais (aves)
Guía animais (aves)
 
TEST AMOR VS CAPRICHO
TEST AMOR VS CAPRICHOTEST AMOR VS CAPRICHO
TEST AMOR VS CAPRICHO
 
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...
Análisis de las posibilidades educativas del modelo de enseñanza "Educación D...
 
Magia de las hierbas
Magia de las hierbasMagia de las hierbas
Magia de las hierbas
 
Clase 6 creación de sitio web en wix parte i
Clase 6  creación de sitio web en wix parte iClase 6  creación de sitio web en wix parte i
Clase 6 creación de sitio web en wix parte i
 
Albayzin informa-2014
Albayzin informa-2014Albayzin informa-2014
Albayzin informa-2014
 
Bradshaw - Sensory Information Systems - Spring Review 2013
Bradshaw - Sensory Information Systems - Spring Review 2013Bradshaw - Sensory Information Systems - Spring Review 2013
Bradshaw - Sensory Information Systems - Spring Review 2013
 
4 p´s de mercadotecnia
4 p´s de mercadotecnia4 p´s de mercadotecnia
4 p´s de mercadotecnia
 
O plano de contas e sua utilidade em moçambique
O plano de contas e sua utilidade em moçambiqueO plano de contas e sua utilidade em moçambique
O plano de contas e sua utilidade em moçambique
 
Cómo se hace un plan de medios
Cómo se hace un plan de mediosCómo se hace un plan de medios
Cómo se hace un plan de medios
 
Cours #1 Histoire de la télécommunication et des médias
Cours #1 Histoire de la télécommunication et des médiasCours #1 Histoire de la télécommunication et des médias
Cours #1 Histoire de la télécommunication et des médias
 

More from Daniel Doubrovkine

The Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoThe Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoDaniel Doubrovkine
 
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosNasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosDaniel Doubrovkine
 
Open-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campOpen-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campDaniel Doubrovkine
 
Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Daniel Doubrovkine
 
Tiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoTiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoDaniel Doubrovkine
 
The Other Side of Your Interview
The Other Side of Your InterviewThe Other Side of Your Interview
The Other Side of Your InterviewDaniel Doubrovkine
 
Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Daniel Doubrovkine
 
Building and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureBuilding and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureDaniel Doubrovkine
 
Introducing Remote Install Framework
Introducing Remote Install FrameworkIntroducing Remote Install Framework
Introducing Remote Install FrameworkDaniel Doubrovkine
 
Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Daniel Doubrovkine
 
GeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpGeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpDaniel Doubrovkine
 
Making Agile Choices in Software Technology
Making Agile Choices in Software TechnologyMaking Agile Choices in Software Technology
Making Agile Choices in Software TechnologyDaniel Doubrovkine
 

More from Daniel Doubrovkine (20)

The Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoThe Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair Nano
 
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosNasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
 
Product Development 101
Product Development 101Product Development 101
Product Development 101
 
Open-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campOpen-Source by Default, UN Community.camp
Open-Source by Default, UN Community.camp
 
Your First Slack Ruby Bot
Your First Slack Ruby BotYour First Slack Ruby Bot
Your First Slack Ruby Bot
 
Single Sign-On with Waffle
Single Sign-On with WaffleSingle Sign-On with Waffle
Single Sign-On with Waffle
 
How it All Goes Down
How it All Goes DownHow it All Goes Down
How it All Goes Down
 
Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014
 
Mentoring Engineers & Humans
Mentoring Engineers & HumansMentoring Engineers & Humans
Mentoring Engineers & Humans
 
Tiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoTiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSoho
 
Artsy ♥ ASCII ART
Artsy ♥ ASCII ARTArtsy ♥ ASCII ART
Artsy ♥ ASCII ART
 
The Other Side of Your Interview
The Other Side of Your InterviewThe Other Side of Your Interview
The Other Side of Your Interview
 
Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)
 
Mentoring 101 - the Artsy way
Mentoring 101 - the Artsy wayMentoring 101 - the Artsy way
Mentoring 101 - the Artsy way
 
Building and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureBuilding and Scaling a Test Driven Culture
Building and Scaling a Test Driven Culture
 
Introducing Remote Install Framework
Introducing Remote Install FrameworkIntroducing Remote Install Framework
Introducing Remote Install Framework
 
HackYale 0-60 in Startup Tech
HackYale 0-60 in Startup TechHackYale 0-60 in Startup Tech
HackYale 0-60 in Startup Tech
 
Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012
 
GeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground UpGeneralAssemb.ly Summer Program: Tech from the Ground Up
GeneralAssemb.ly Summer Program: Tech from the Ground Up
 
Making Agile Choices in Software Technology
Making Agile Choices in Software TechnologyMaking Agile Choices in Software Technology
Making Agile Choices in Software Technology
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Using MongoDB for the Art Genome Project (Mongo Boston 2011)

  • 1. Happiness isMongoDBMonday, October 3rd, 2011 Daniel Doubrovkine (dB.)db@art.sy@dblockdotorghttp://code.dblock.org 902 Broadway, 4th Fl.New York, NY
  • 3. Art Genome Project - vs. - Kasimir Malevich – “Self Portrait” William Beckman – “Self Portrait”
  • 5. Fast Search in Ruby defsimilar(a1) artworks.each { |a2| [a2, euclidean(a1, a2)] }.sort_by { |a, d| d }.take(10) end
  • 7. MySQL Prototype Schema Need a sorted sparse vector on boot. [ 100, 0, 20, … 60 ] 10K artworks: 5 minutes to startup 5 minutes to accomplish … nothing.
  • 8. Genome.genes – it’s a hash! { “Portrait” => 100, …, “Conceptual” => 20 } Genome, Embedded in Artwork MonoDB “Schema”
  • 9. Something new? Got (far too) many years of experience with *SQL / DW @harryh uses it @ 4sq @eliothorowitzlooks pretty smart db.startups.find({ location : { $near : GA }, category : ‘nosqldb vendor' } ).first = 10gen install … ? … profit available on Heroku from MongoHQ continuous deployment friendly Choosing MongoDB
  • 10. Using MongoDB MongoDB retrieval by ID is fast, maybe faster, than Ruby Hash Using Rails + Rake and Mongo is safer than mongo shell db.collection.update({x: y}) Shared Hosting is not Rubber, You Can’t Stretch It Map/reduce for live queries really doesn’t work, no reallymongoid_fulltext Read-secondary + Map/Reduce can be fun read_secondary: <%= $rails_rake_task.nil? or !$rails_rake_task %> Collection names are limited in length if you use mongodumphttps://jira.mongodb.org/browse/SERVER-2973, fixed in 2.0.0 copyDatabaserequires administrative privilegeshttps://jira.mongodb.org/browse/SERVER-2846
  • 11. Mongo cursors aren’t snapshotted by defaultProcessing 5183 of 4012 …http://www.mongodb.org/display/DOCS/How+to+do+Snapshotted+Queries+in+the+Mongo+Database Mongo Interest is growing, RoR + MongoId = GTDhttp://code.dblock.org/ror-win-getting-things-done-with-mongodb-mongoid Mongoid Keeps Things Entertaining, Living on the Edge Using MongoDB(continued …)
  • 12. MongoHQ Extensions via Heroku Production Directly w/MongoHQ A Few Hundred Bucks / mo. Mongo 1.8.1 w/ replica sets, 2 DBs and 1 arbiter Different Availability Zones Dedicated RAM, separate EBS, shared CPU Early Issues, Now Very Stable Jason McCay + other folks @ MongoHQ= Awesome Mongoid2.0.2 mongoid_slug, mongoid_fulltext, mongoid_history, delayed_job_mongoid Deploying MongoDB
  • 13. name: Daniel Doubrovkine(aka. dB.) company: http://art.sy ^work heretwitter: @dblockdotorg blog: http://code.dblock.org ^link to slides here email: dblock@dblock.org Thank you.