SlideShare a Scribd company logo
1 of 17
Introducing liveDB 
Build faster systems faster 
Robert Friberg, robert@devrex.se 
Twitter: @robertfriberg, @livedomain, #livedb 
http://livedb.devrex.se/ 
liveDB
Prevalent System Architecture 
Clients 
Client 
liveDB 
.NET Process Memory Disk 
Engine 
In-memory 
Object 
Model 
Transaction Log 
Synchronized execution Snapshot.0 
Pass queries and 
commands 
Command 
serialization 
Client 
Snapshot.1 
Snapshot.N
The prevalent hypothesis 
 Your data will fit in available RAM 
 99% of all OLTP database are 1TB or less 
--Stonebraker, VoltDB 
liveDB
Eric Schmidt, Google CEO 
At Google we found it costs less money and it is more 
efficient to use DRAM as storage as opposed to hard 
disks. 
Three minutes with Google's Eric Schmidt , CNN.COM 
liveDB
What is liveDB? 
 A native .NET in-memory database engine 
 Full ACID support 
 Embedded engine free to use for any purpose 
 Supports any data representation 
liveDB
The NoSQL revolution 
 RDBMS paradigm is shaking 
 Alternative data representation, document, graph, key/value, etc 
 Support large scale databases 
 LiveDB focuses on 
 Memory vs. Disk 
 Freedom of representation 
 Facebook is not the common case 
liveDB
Relational Database Prison 
 Relational model formulated 1969 
 Designed to address limitations non-existent today – disk access 
 A relational model is just one of many possible datarepresentations 
 Primitive stored procedure language 
 O/R Mapping adds to the pain 
liveDB
O/R mapping vs Command/Query pattern 
 O/R mapping is based on CRUD pattern 
 CRUD is a specialization of Request/response 
 Command/Query is more general (superset) 
 You can do CRUD with Command/Query but not the other way around 
liveDB
Business arguments 
 Reduced time to market 
 Lower TCO for software systems 
 Reduced development time up to 40% 
 Operations (no rdbms) 
 Licensing (no rdbms) 
 Faster systems 
liveDB
Developer benefits 
 Model is pure .NET types and collections 
 representational freedom 
 DAL and downwards is eliminated 
 No object/relational mapping 
 No relational modeling 
 No T-SQL programming 
 Debugging 
 Version control 
 Supports DDD, TDD 
liveDB
Simple API 
liveDB
Start your engines! 
var db = Engine.Load<MyModel>(path); 
db.Execute(command); 
var c = db.Execute(m => m.Customers.GetById(42)); 
... 
var cmd = SetPasswordCommand(c.Id, newPassword); 
db.Execute(cmd); 
db.Close(); 
liveDB
Demo! 
 http://roxsux.devrex.se/ 
 Coding a simple model 
 Commands and queries 
 Hosting the engine 
 See blog for more info: http://livedb.devrex.se/ 
liveDB
Drawbacks 
 Model must fit in RAM 
 Load time (start up and rollback) 
 Versioning issues 
 .NET Only (Json possible) 
 No magical indexing (yet) 
liveDB
Gotchas 
 No external dependencies from commands 
 Don’t modify the model with query 
 Rollback is expensive 
 Don’t manipulate model out of context 
 Dont rely on reference equality 
 Results are not direct references 
liveDB
References 
 Prevalent System Architecture 
 prevayler.org, java project from 2003, alive and kicking 
 Bamboo.Prevalence .NET 1.1, dead project? 
 VoltDB 
liveDB
Thank you! 
Robert Friberg, Devrex 
Twitter: @robertfriberg, @livedomain, #livedb 
http://livedb.devrex.se/ 
liveDB

More Related Content

Viewers also liked

Assignment 5 nation report 2 - peru
Assignment 5   nation report 2 - peruAssignment 5   nation report 2 - peru
Assignment 5 nation report 2 - perutmannino33
 
Rencana pelaksanaan pembelajaran
Rencana pelaksanaan pembelajaranRencana pelaksanaan pembelajaran
Rencana pelaksanaan pembelajaranIstiqomah Addiin
 
Assignment 7 - Modern Latin America
Assignment 7 - Modern Latin AmericaAssignment 7 - Modern Latin America
Assignment 7 - Modern Latin Americatmannino33
 
OrigoDB - Your data fits in RAM
OrigoDB - Your data fits in RAMOrigoDB - Your data fits in RAM
OrigoDB - Your data fits in RAMRobert Friberg
 
分享創用Cc音樂使用的撇步
分享創用Cc音樂使用的撇步分享創用Cc音樂使用的撇步
分享創用Cc音樂使用的撇步shanshanchen1002
 
OrigoDB - take the red pill
OrigoDB - take the red pillOrigoDB - take the red pill
OrigoDB - take the red pillRobert Friberg
 
Assignment 8 - Final Essay
Assignment 8 - Final EssayAssignment 8 - Final Essay
Assignment 8 - Final Essaytmannino33
 
Protocolos terapéuticos 2016
Protocolos terapéuticos 2016Protocolos terapéuticos 2016
Protocolos terapéuticos 2016fionabamba
 

Viewers also liked (16)

Presentation4
Presentation4Presentation4
Presentation4
 
Aa
AaAa
Aa
 
Assignment 5 nation report 2 - peru
Assignment 5   nation report 2 - peruAssignment 5   nation report 2 - peru
Assignment 5 nation report 2 - peru
 
AR Study Case
AR Study CaseAR Study Case
AR Study Case
 
Rencana pelaksanaan pembelajaran
Rencana pelaksanaan pembelajaranRencana pelaksanaan pembelajaran
Rencana pelaksanaan pembelajaran
 
Assignment 7 - Modern Latin America
Assignment 7 - Modern Latin AmericaAssignment 7 - Modern Latin America
Assignment 7 - Modern Latin America
 
Web cast
Web castWeb cast
Web cast
 
Aa
AaAa
Aa
 
Annexe 4 di120
Annexe 4 di120Annexe 4 di120
Annexe 4 di120
 
Web cast
Web castWeb cast
Web cast
 
OrigoDB - Your data fits in RAM
OrigoDB - Your data fits in RAMOrigoDB - Your data fits in RAM
OrigoDB - Your data fits in RAM
 
分享創用Cc音樂使用的撇步
分享創用Cc音樂使用的撇步分享創用Cc音樂使用的撇步
分享創用Cc音樂使用的撇步
 
OrigoDB - take the red pill
OrigoDB - take the red pillOrigoDB - take the red pill
OrigoDB - take the red pill
 
Assignment 8 - Final Essay
Assignment 8 - Final EssayAssignment 8 - Final Essay
Assignment 8 - Final Essay
 
In-memory Databases
In-memory DatabasesIn-memory Databases
In-memory Databases
 
Protocolos terapéuticos 2016
Protocolos terapéuticos 2016Protocolos terapéuticos 2016
Protocolos terapéuticos 2016
 

Similar to LiveDB Introduction at devsum 2011

xTech2006_DB2onRails
xTech2006_DB2onRailsxTech2006_DB2onRails
xTech2006_DB2onRailswebuploader
 
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?Daniel Fisher
 
What's new with enterprise Redis - Leena Joshi, Redis Labs
What's new with enterprise Redis - Leena Joshi, Redis LabsWhat's new with enterprise Redis - Leena Joshi, Redis Labs
What's new with enterprise Redis - Leena Joshi, Redis LabsRedis Labs
 
黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)Fong Liou
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 editionBob Ward
 
IBMHadoopofferingTechline-Systems2015
IBMHadoopofferingTechline-Systems2015IBMHadoopofferingTechline-Systems2015
IBMHadoopofferingTechline-Systems2015Daniela Zuppini
 
Challenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on HadoopChallenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on HadoopDataWorks Summit
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareJustin Basilico
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARMAntonio Mondragon
 
Super Sizing Youtube with Python
Super Sizing Youtube with PythonSuper Sizing Youtube with Python
Super Sizing Youtube with Pythondidip
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notesWE-IT TUTORIALS
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB
 
dba_lounge_Iasi: Everybody likes redis
dba_lounge_Iasi: Everybody likes redisdba_lounge_Iasi: Everybody likes redis
dba_lounge_Iasi: Everybody likes redisLiviu Costea
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...MLconf
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsDeepak Shankar
 

Similar to LiveDB Introduction at devsum 2011 (20)

Introducing #liveDB
Introducing #liveDBIntroducing #liveDB
Introducing #liveDB
 
xTech2006_DB2onRails
xTech2006_DB2onRailsxTech2006_DB2onRails
xTech2006_DB2onRails
 
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?2006 DDD4: Data access layers - Convenience vs. Control and Performance?
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
 
What's new with enterprise Redis - Leena Joshi, Redis Labs
What's new with enterprise Redis - Leena Joshi, Redis LabsWhat's new with enterprise Redis - Leena Joshi, Redis Labs
What's new with enterprise Redis - Leena Joshi, Redis Labs
 
黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)
 
Sql server 2016 it just runs faster sql bits 2017 edition
Sql server 2016 it just runs faster   sql bits 2017 editionSql server 2016 it just runs faster   sql bits 2017 edition
Sql server 2016 it just runs faster sql bits 2017 edition
 
M/DB and M/DB:X
M/DB and M/DB:XM/DB and M/DB:X
M/DB and M/DB:X
 
IBMHadoopofferingTechline-Systems2015
IBMHadoopofferingTechline-Systems2015IBMHadoopofferingTechline-Systems2015
IBMHadoopofferingTechline-Systems2015
 
ScimoreDB - Enterprise level database
ScimoreDB - Enterprise level databaseScimoreDB - Enterprise level database
ScimoreDB - Enterprise level database
 
Challenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on HadoopChallenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on Hadoop
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning Software
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM
 
Os Solomon
Os SolomonOs Solomon
Os Solomon
 
Super Sizing Youtube with Python
Super Sizing Youtube with PythonSuper Sizing Youtube with Python
Super Sizing Youtube with Python
 
Ibm db2 big sql
Ibm db2 big sqlIbm db2 big sql
Ibm db2 big sql
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
dba_lounge_Iasi: Everybody likes redis
dba_lounge_Iasi: Everybody likes redisdba_lounge_Iasi: Everybody likes redis
dba_lounge_Iasi: Everybody likes redis
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systems
 

Recently uploaded

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 

Recently uploaded (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 

LiveDB Introduction at devsum 2011

  • 1. Introducing liveDB Build faster systems faster Robert Friberg, robert@devrex.se Twitter: @robertfriberg, @livedomain, #livedb http://livedb.devrex.se/ liveDB
  • 2. Prevalent System Architecture Clients Client liveDB .NET Process Memory Disk Engine In-memory Object Model Transaction Log Synchronized execution Snapshot.0 Pass queries and commands Command serialization Client Snapshot.1 Snapshot.N
  • 3. The prevalent hypothesis  Your data will fit in available RAM  99% of all OLTP database are 1TB or less --Stonebraker, VoltDB liveDB
  • 4. Eric Schmidt, Google CEO At Google we found it costs less money and it is more efficient to use DRAM as storage as opposed to hard disks. Three minutes with Google's Eric Schmidt , CNN.COM liveDB
  • 5. What is liveDB?  A native .NET in-memory database engine  Full ACID support  Embedded engine free to use for any purpose  Supports any data representation liveDB
  • 6. The NoSQL revolution  RDBMS paradigm is shaking  Alternative data representation, document, graph, key/value, etc  Support large scale databases  LiveDB focuses on  Memory vs. Disk  Freedom of representation  Facebook is not the common case liveDB
  • 7. Relational Database Prison  Relational model formulated 1969  Designed to address limitations non-existent today – disk access  A relational model is just one of many possible datarepresentations  Primitive stored procedure language  O/R Mapping adds to the pain liveDB
  • 8. O/R mapping vs Command/Query pattern  O/R mapping is based on CRUD pattern  CRUD is a specialization of Request/response  Command/Query is more general (superset)  You can do CRUD with Command/Query but not the other way around liveDB
  • 9. Business arguments  Reduced time to market  Lower TCO for software systems  Reduced development time up to 40%  Operations (no rdbms)  Licensing (no rdbms)  Faster systems liveDB
  • 10. Developer benefits  Model is pure .NET types and collections  representational freedom  DAL and downwards is eliminated  No object/relational mapping  No relational modeling  No T-SQL programming  Debugging  Version control  Supports DDD, TDD liveDB
  • 12. Start your engines! var db = Engine.Load<MyModel>(path); db.Execute(command); var c = db.Execute(m => m.Customers.GetById(42)); ... var cmd = SetPasswordCommand(c.Id, newPassword); db.Execute(cmd); db.Close(); liveDB
  • 13. Demo!  http://roxsux.devrex.se/  Coding a simple model  Commands and queries  Hosting the engine  See blog for more info: http://livedb.devrex.se/ liveDB
  • 14. Drawbacks  Model must fit in RAM  Load time (start up and rollback)  Versioning issues  .NET Only (Json possible)  No magical indexing (yet) liveDB
  • 15. Gotchas  No external dependencies from commands  Don’t modify the model with query  Rollback is expensive  Don’t manipulate model out of context  Dont rely on reference equality  Results are not direct references liveDB
  • 16. References  Prevalent System Architecture  prevayler.org, java project from 2003, alive and kicking  Bamboo.Prevalence .NET 1.1, dead project?  VoltDB liveDB
  • 17. Thank you! Robert Friberg, Devrex Twitter: @robertfriberg, @livedomain, #livedb http://livedb.devrex.se/ liveDB