MILLIONS OF TRANSACTIONS PER SECOND ON A SINGLE MACHINE CASE FOR A VIRTUALIZED DATABASE AND SCALE-IN
ROGER JOHANSSON
MILLIONS OF TRANSACTIONS PER SECOND ON A SINGLE MACHINE CASE FOR A - - PowerPoint PPT Presentation
MILLIONS OF TRANSACTIONS PER SECOND ON A SINGLE MACHINE CASE FOR A VIRTUALIZED DATABASE AND SCALE-IN ROGER JOHANSSON Who am I? Roger Johansson Actor Model, Scalability, Distributed Systems, C#, Senior Solution Architect Starcounter Go,
MILLIONS OF TRANSACTIONS PER SECOND ON A SINGLE MACHINE CASE FOR A VIRTUALIZED DATABASE AND SCALE-IN
ROGER JOHANSSON
Senior Solution Architect – Starcounter http://StarCounter.io Proto.Actor Founder – Ultra Fast Distributed Actors (Go, .NET, JVM) http://Proto.Actor https://github.com/AsynkronIT Twitter: @rogeralsing Github: rogeralsing Mail: roger@starcounter.com http://Github.com/rogeralsing/presentations
Actor Model, Scalability, Distributed Systems, C#, Go, Kotlin
Starcounter Communication Palindrom - REST, Web Sockets Front-end Framework React, Polymer Application View Models, Entities, App Logic In Memory App Platform Mapping, Persistence, Queries
Starcounter Front-end Framework Application In Memory App Platform Traditional Stack Services + Contracts Client Side Code Application Code Database Front-end Framework O/R Mapper Network Network View Models Network
Starcounter Model A Model C Model B App A App C App B UI A UI C UI B
Starcounter Model A Model C Model B App A App C App B UI A UI C UI B Client Side Blending UI A UI B UI C
ObjectId User LastName FirstName 123 Edqvist Stefan ObjectId Profile LastName FirstName 789 Edqvist Stefan
Starcounter Model C App A App C App B UI A UI C UI B Client Side Blending UI A UI B UI C Model A Model B Mapper ACID, Snapshot Isolation
Starcounter Model C App A App C App B UI A UI C UI B Model A Model B Mapper
Database Process Disk Data is stored on disk, optimized for spinning disks and moving arms Application Process ObjectId Object LastName FirstName Age 123 Turing Alan 41 Offline copy of database data Network / IPC Transfer Data over network Object Mapper Map to and from Object / Storage model 123 Alan Turing 41 Ada Lovelace 36 Grace Hopper 86 FirstName LastName Age ObjectId 124 125
Database Process Memory Application Process ObjectId Object LastName FirstName Age 123 Turing Alan 41 Offline copy of database data Network / IPC Transfer Data over network Object Mapper Map to and from Object / Relational model Data is mainly kept in memory, enabling faster reads and writes 123 Alan Turing 41 Ada Lovelace 36 Grace Hopper 86 FirstName LastName Age ObjectId 124 125
Database Process Application Process Shared Memory ObjectId Object 123 123 Alan Turing 41 Ada Lovelace 36 Grace Hopper 86 FirstName LastName Age ObjectId 124 125 Stateless Entity maps directly to shared memory Data is kept in memory and shared across processes
Database Process Node.JS C# Shared Memory 123 Alan Turing 41 Ada Lovelace 36 Grace Hopper 86 FirstName LastName Age ObjectId 124 125 ObjectId Object 123 ObjectId Object 123 Multiple processes can read the same data
Order OrderDetail Product Customer
Ripple load, Hundreds/Thousands
Hard to maintain, inefficient joined queries
Order OrderDetail Product Customer
0,00001 0,00010 0,00100 0,01000 0,10000 1,00000 10,00000 100,00000 1000,00000 1980 1985 1990 1995 2000 2005 2010 2015 2020 USD Year Price of 1MB in USD over time
Current Main Memory Cache Solid State Disk Registers Magnetic Disk Future Main Memory Cache Non Volatile Memory Registers Solid State Disk Magnetic Disk
Volatile DRAM Non Volatile DRAM Main Store (batch update) Delta Store (incremental updates)
Read Write Merge