SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
remodel
your persistence layer
ORM
object redis mapper
“People that are wrapping
ORM’s around redis are missing
the point.”
— Nate Wiger
OMG
why replace mysql
with remodel + redis ?
“Memory is the new Disk.
Disk is the new Tape.”
— Jim Gray
speed!
  flickr.com/photos/atzu/2645776918
mysql
• read scaling
 • vertical: more memory
 • horizontal: master-slave replication
• write scaling
 • vertical: more / faster disks (raid, ssd ...)
 • horizontal: sharding
“You are not Facebook.” — me
redis
• ~ 100K ops / second (read or write)
• read scaling?
 • probably not necessary
• write scaling
 • probably not necessary
 • (but sharding is possible)
remodel
• “minimal” object mapper
• mapping strategy:
 • unique key prefix per entity class
 • serialize properties to json
 • store associations as separate keys
• less than 300 lines of ruby
features

• supports all basic ruby / json types
 • plus custom mappers (date, time ...)
• associations
 • one-to-many / many-to-one
 • one-to-one, many-to-many
demo time!




    flickr.com/photos/78918694@N00/3519713609
limitations
• only very basic validations
 • use ActiveModel::Validations
• no complex finders
 • not supported by redis
 • maybe somebody wants to build
   redis-lucene ?
roadmap
• current status — alpha (0.1.0)
• next month:
 • “eat your own dogfood”
 • bugfixing
 • documentation
 • beta release
ideas

 • find_by(with ohm-like indexes)
 • optimistic locking
 • re-implement in node.js

 • .... what else ?
??
fork me:
github.com/tlossen
 /remodel

Mais conteúdo relacionado

Mais procurados

jsdom @ nodeconf 2011
jsdom @ nodeconf 2011jsdom @ nodeconf 2011
jsdom @ nodeconf 2011
tmpvar
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compass
Chris Lee
 
Rubyonrails 120409061835-phpapp02
Rubyonrails 120409061835-phpapp02Rubyonrails 120409061835-phpapp02
Rubyonrails 120409061835-phpapp02
sagaroceanic11
 

Mais procurados (19)

Sequelize js
Sequelize jsSequelize js
Sequelize js
 
MongoDB Hadoop DC
MongoDB Hadoop DCMongoDB Hadoop DC
MongoDB Hadoop DC
 
Adding and modifying LESS in your web site templates
Adding and modifying LESS in your web site templatesAdding and modifying LESS in your web site templates
Adding and modifying LESS in your web site templates
 
Grails
GrailsGrails
Grails
 
MongoDB London PHP
MongoDB London PHPMongoDB London PHP
MongoDB London PHP
 
Tampering with JavaScript
Tampering with JavaScriptTampering with JavaScript
Tampering with JavaScript
 
Databases which, why and usage tips
Databases which, why and usage tipsDatabases which, why and usage tips
Databases which, why and usage tips
 
nodecalgary1
nodecalgary1nodecalgary1
nodecalgary1
 
jsdom @ nodeconf 2011
jsdom @ nodeconf 2011jsdom @ nodeconf 2011
jsdom @ nodeconf 2011
 
JavaScript State of the Union - Jan 2013
JavaScript State of the Union - Jan 2013JavaScript State of the Union - Jan 2013
JavaScript State of the Union - Jan 2013
 
Ruby on Rails & PostgreSQL - v2
Ruby on Rails & PostgreSQL - v2Ruby on Rails & PostgreSQL - v2
Ruby on Rails & PostgreSQL - v2
 
Create a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBCreate a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDB
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compass
 
Couchdb Nosql
Couchdb NosqlCouchdb Nosql
Couchdb Nosql
 
Intro Couchdb
Intro CouchdbIntro Couchdb
Intro Couchdb
 
Rubyonrails 120409061835-phpapp02
Rubyonrails 120409061835-phpapp02Rubyonrails 120409061835-phpapp02
Rubyonrails 120409061835-phpapp02
 
MongoDB + Node.JS + EPAM ROAD
MongoDB + Node.JS + EPAM ROADMongoDB + Node.JS + EPAM ROAD
MongoDB + Node.JS + EPAM ROAD
 
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
 
Voxxed Days Thesaloniki 2016 - Scaling react.js applications
Voxxed Days Thesaloniki 2016 - Scaling react.js applicationsVoxxed Days Thesaloniki 2016 - Scaling react.js applications
Voxxed Days Thesaloniki 2016 - Scaling react.js applications
 

Destaque

Prezentacja PFP
Prezentacja PFPPrezentacja PFP
Prezentacja PFP
3camp
 
интернет реклама в беларуси - цифры, особенности,
интернет реклама в беларуси - цифры, особенности,интернет реклама в беларуси - цифры, особенности,
интернет реклама в беларуси - цифры, особенности,
Транслируем.бел
 
Подводные камни мобильного маркетинга
Подводные камни мобильного маркетингаПодводные камни мобильного маркетинга
Подводные камни мобильного маркетинга
Транслируем.бел
 
Обучение с помощью мобильных технологий
Обучение с помощью мобильных технологийОбучение с помощью мобильных технологий
Обучение с помощью мобильных технологий
Транслируем.бел
 
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
Транслируем.бел
 
Biznes W 140 znakach
Biznes W 140 znakachBiznes W 140 znakach
Biznes W 140 znakach
3camp
 
NewMediaBrains Social Media Rollercoaster
NewMediaBrains Social Media RollercoasterNewMediaBrains Social Media Rollercoaster
NewMediaBrains Social Media Rollercoaster
Remco Bron
 

Destaque (20)

Ruby off Rails
Ruby off RailsRuby off Rails
Ruby off Rails
 
Perl6 pod as new documentation format
Perl6 pod as new documentation formatPerl6 pod as new documentation format
Perl6 pod as new documentation format
 
Prezentacja PFP
Prezentacja PFPPrezentacja PFP
Prezentacja PFP
 
ROC Da Vinci College, Leerpark Dordrecht
ROC Da Vinci College, Leerpark DordrechtROC Da Vinci College, Leerpark Dordrecht
ROC Da Vinci College, Leerpark Dordrecht
 
интернет реклама в беларуси - цифры, особенности,
интернет реклама в беларуси - цифры, особенности,интернет реклама в беларуси - цифры, особенности,
интернет реклама в беларуси - цифры, особенности,
 
Подводные камни мобильного маркетинга
Подводные камни мобильного маркетингаПодводные камни мобильного маркетинга
Подводные камни мобильного маркетинга
 
Обучение с помощью мобильных технологий
Обучение с помощью мобильных технологийОбучение с помощью мобильных технологий
Обучение с помощью мобильных технологий
 
HostingCon 2011 - Why Your Business May Be Worth More (or Less) To You Than A...
HostingCon 2011 - Why Your Business May Be Worth More (or Less) To You Than A...HostingCon 2011 - Why Your Business May Be Worth More (or Less) To You Than A...
HostingCon 2011 - Why Your Business May Be Worth More (or Less) To You Than A...
 
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
Aleksandra Moorast, «Urok Noveishei istorii: vernite Tallinu turistov!»
 
Embracing Failure
Embracing FailureEmbracing Failure
Embracing Failure
 
on Digital Monies
on Digital Monieson Digital Monies
on Digital Monies
 
Dlaczego Commerce staje się coraz bardziej „Smarter”?
 Dlaczego Commerce staje się coraz bardziej „Smarter”?  Dlaczego Commerce staje się coraz bardziej „Smarter”?
Dlaczego Commerce staje się coraz bardziej „Smarter”?
 
Analytics for decision making in Learning Environments
Analytics for decision making in Learning EnvironmentsAnalytics for decision making in Learning Environments
Analytics for decision making in Learning Environments
 
Gumbo Deck
Gumbo DeckGumbo Deck
Gumbo Deck
 
Biznes W 140 znakach
Biznes W 140 znakachBiznes W 140 znakach
Biznes W 140 znakach
 
NewMediaBrains Social Media Rollercoaster
NewMediaBrains Social Media RollercoasterNewMediaBrains Social Media Rollercoaster
NewMediaBrains Social Media Rollercoaster
 
Community Partnerships
Community PartnershipsCommunity Partnerships
Community Partnerships
 
TNS !Web index report 201111
TNS !Web index report 201111TNS !Web index report 201111
TNS !Web index report 201111
 
New Media Rollercoaster
New Media RollercoasterNew Media Rollercoaster
New Media Rollercoaster
 
NCOSM: New Media Rollercoaster
NCOSM: New Media RollercoasterNCOSM: New Media Rollercoaster
NCOSM: New Media Rollercoaster
 

Semelhante a remodel your persistence layer

Key-Value-Stores -- The Key to Scaling?
Key-Value-Stores -- The Key to Scaling?Key-Value-Stores -- The Key to Scaling?
Key-Value-Stores -- The Key to Scaling?
Tim Lossen
 
What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010
jbellis
 
My Sql And Search At Craigslist
My Sql And Search At CraigslistMy Sql And Search At Craigslist
My Sql And Search At Craigslist
MySQLConference
 
Cassandra vs. Redis
Cassandra vs. RedisCassandra vs. Redis
Cassandra vs. Redis
Tim Lossen
 

Semelhante a remodel your persistence layer (20)

Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)Using Spring with NoSQL databases (SpringOne China 2012)
Using Spring with NoSQL databases (SpringOne China 2012)
 
Key-Value-Stores -- The Key to Scaling?
Key-Value-Stores -- The Key to Scaling?Key-Value-Stores -- The Key to Scaling?
Key-Value-Stores -- The Key to Scaling?
 
Drop acid
Drop acidDrop acid
Drop acid
 
KeyValue Stores
KeyValue StoresKeyValue Stores
KeyValue Stores
 
What Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database ScalabilityWhat Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database Scalability
 
What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010
 
Mongodb my
Mongodb myMongodb my
Mongodb my
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Redis acc 2015_eng
Redis acc 2015_engRedis acc 2015_eng
Redis acc 2015_eng
 
My Sql And Search At Craigslist
My Sql And Search At CraigslistMy Sql And Search At Craigslist
My Sql And Search At Craigslist
 
Cassandra vs. Redis
Cassandra vs. RedisCassandra vs. Redis
Cassandra vs. Redis
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Intro to Cassandra
Intro to CassandraIntro to Cassandra
Intro to Cassandra
 
High-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and JavaHigh-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and Java
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014
 
Wmware NoSQL
Wmware NoSQLWmware NoSQL
Wmware NoSQL
 
Redis
RedisRedis
Redis
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014
 
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
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
 

Mais de Tim Lossen

Redis to the Rescue?
Redis to the Rescue?Redis to the Rescue?
Redis to the Rescue?
Tim Lossen
 
Announcing Euruko 2011
Announcing Euruko 2011Announcing Euruko 2011
Announcing Euruko 2011
Tim Lossen
 
Memory: The New Disk
Memory: The New DiskMemory: The New Disk
Memory: The New Disk
Tim Lossen
 
An Introduction to Membase
An Introduction to MembaseAn Introduction to Membase
An Introduction to Membase
Tim Lossen
 

Mais de Tim Lossen (20)

Apocalypse Later
Apocalypse LaterApocalypse Later
Apocalypse Later
 
Embracing Failure
Embracing FailureEmbracing Failure
Embracing Failure
 
Enemy of the State?
Enemy of the State?Enemy of the State?
Enemy of the State?
 
Beyond Devops
Beyond DevopsBeyond Devops
Beyond Devops
 
All Your Core Are Belong To Us
All Your Core Are Belong To UsAll Your Core Are Belong To Us
All Your Core Are Belong To Us
 
Podularity FTW!
Podularity FTW!Podularity FTW!
Podularity FTW!
 
Cubic Foot Gardening
Cubic Foot GardeningCubic Foot Gardening
Cubic Foot Gardening
 
Dashboard Mania
Dashboard ManiaDashboard Mania
Dashboard Mania
 
Event-Stream Processing with Kafka
Event-Stream Processing with KafkaEvent-Stream Processing with Kafka
Event-Stream Processing with Kafka
 
Into the Void
Into the VoidInto the Void
Into the Void
 
Treasure Island -- Concurrency in JRuby
Treasure Island -- Concurrency in JRubyTreasure Island -- Concurrency in JRuby
Treasure Island -- Concurrency in JRuby
 
Dashboard Mania
Dashboard ManiaDashboard Mania
Dashboard Mania
 
JRuby vs. Rubinius
JRuby vs. RubiniusJRuby vs. Rubinius
JRuby vs. Rubinius
 
Redis to the Rescue?
Redis to the Rescue?Redis to the Rescue?
Redis to the Rescue?
 
Redis to the Rescue?
Redis to the Rescue?Redis to the Rescue?
Redis to the Rescue?
 
The Smallest Cluster in the World
The Smallest Cluster in the WorldThe Smallest Cluster in the World
The Smallest Cluster in the World
 
Announcing Euruko 2011
Announcing Euruko 2011Announcing Euruko 2011
Announcing Euruko 2011
 
Memory: The New Disk
Memory: The New DiskMemory: The New Disk
Memory: The New Disk
 
An Introduction to Membase
An Introduction to MembaseAn Introduction to Membase
An Introduction to Membase
 
Petascale Storage -- Do It Yourself!
Petascale Storage -- Do It Yourself!Petascale Storage -- Do It Yourself!
Petascale Storage -- Do It Yourself!
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

remodel your persistence layer