SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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!
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

remodel your persistence layer