More Related Content Similar to How Do I Know I Need a Ledger Database? An Introduction to Amazon QLDB (20) More from Amazon Web Services (20) How Do I Know I Need a Ledger Database? An Introduction to Amazon QLDB1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
Introduction to Amazon Quantum Ledger Database (QLDB)
Karan Desai Samir Karande
Solutions Architect Sr. Manager, Solutions Architecture
2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
A history of record keeping
3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Ancient
Mesopotamia
3500 BC
4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Record keeping today
Banking & Finance
Keeping track of transactions,
trades and accounts
Manufacturing
Recording components
used in manufacturing
Transport & Logistics
Tracking transportation
of goods
E-Commerce
Where’s my stuff?
HR & Payroll
Tracking changes to an
individual’s profile
Government
Tracking vehicle title
history
$
10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Challenges customers face
Difficult to
manage & scale
Impossible
to verify
Traditional database approaches
Error prone and
incomplete
Resource
intensive
11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Challenges customers face
Hard
to scale
Difficult to
maintain
Designed for a
different purpose
Adds unnecessary
complexity
Blockchain & distributed ledgers
12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Amazon Quantum Ledger Database (QLDB) (Preview)
• Fully managed ledger database
• Track and verify history of all changes made to your application’s data
Immutable
Maintains a sequenced record of
all changes to your data, which
cannot be deleted or modified;
you have the ability to query and
analyze the full history
Cryptographically
verifiable
Uses cryptography to
generate a secure output
file of your data’s history
Easy to use
Easy to use, letting you
use familiar database
capabilities like SQL APIs
for querying the data
Highly scalable
Executes 2–3X as many
transactions as ledgers
in common blockchain
frameworks
13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Ledger database concepts
C | H
J Journal
C |
H
Current | History
J
L
Ledger databaseL
14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
J
history.cars
H
current.cars
C
16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
J
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>current.cars
C
17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
J
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
ID Version Start Manufacturer Model Year VIN Owner
J
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
DELETE FROM cars WHERE VIN = '123456789'
28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H (T3)
DELETE FROM cars WHERE VIN = '123456789'
29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H (T3)
DELETE FROM cars WHERE VIN = '123456789'
30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H (T3)
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 09/02/2016 Deleted
DELETE FROM cars WHERE VIN = '123456789'
31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
current.cars
C
history.cars
H
33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
current.cars
C
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
ID Version Start Manufacturer Model Year VIN Owner
current.cars
C
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Ronnie Nash
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
DELETE FROM cars WHERE VIN = '123456789'
42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
DELETE FROM cars WHERE VIN = '123456789'
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 09/02/2016 NULL NULL NULL NULL NULL
ID Manufacturer Model Year VIN Owner
43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional database
current.cars
C
history.cars
H
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 09/02/2016 NULL NULL NULL NULL NULL
ID Manufacturer Model Year VIN Owner
2012-07-16 – New entry: {
'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012', …
2013-08-03 – Owner
updated to Ronnie Nash
2016-09-02 – Removed
from system
44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What does verifiability really mean?
45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What does verifiability really mean?
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What does verifiability really mean?
47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What does verifiability really mean?
48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What does verifiability really mean?
49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How it works
J
history.cars
H
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
current.cars
C
H (T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
ID Manufacturer Model Year VIN Owner
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H (T3)
ID Version Start Manufacturer Model Year VIN Owner
1 1 07/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 08/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 09/02/2016 Deleted
50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1)
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
SHA-256 H(T1) =
2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2)
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
SHA-256T1
H(T1) =
2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
T1 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
H(T3) =
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
T1 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Verifiability in Amazon QLDB
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/01/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/01/2013
}
SHA-256 43108b5499717ed1bba3f5c5e0ddaa4836f57c5658a74dbd0c581c02e513583cT1
56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Computing SHA-256
https://doi.org/10.6028/NIST.FIPS.180-4
57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Computing SHA-256
O=> sha256sum
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7 -
58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Computing SHA-256
https://www.movable-type.co.uk/scripts/sha256.html
SHA-256 Cryptographic Hash Algorithm © 2005-2017 Chris Veness
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Computing SHA-256
http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html
“Mining Bitcoin with
pencil and paper”
Ken Shirriff
60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
More on digests
H(T3) =
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
T1 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
More on digests
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Tracy Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
H(T3) =
H(T3) =
T1 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
T1 25d0b44e6e8878151646ffc1fea4eb85c3e4bf4baec212a9fcf67b6d5a81e01a
62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Early database data models
63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Relational data model
Customers
ID Name Email Address ID Phone
Orders
ID Customer ID Date Total Shipping
Address ID
Status
Order Items
ID Order ID Item Quantity Price
Addresses
ID Street City State ZIP
64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Modern programming languages
order = {
'Id': "694262fb-9d43-4f94-8c3b-12ae66ce74f9”,
'Customer': <Customer object at 0x0x7f7e057243a8>,
'Date': 2018-11-23 11:25:36.00,
'Total': 137.53,
'ShippingAddr': {
'Street': "100 Elm St",
'City': "Seattle",
'State': "WA",
'Zip': "98101",
},
'Status': "Processing",
'Items': [ {
'SKU': “70ffb504-af12-4612-8b74-0dac4f8fd534”,
'Quantity': 2,
'Price': 15.21
}
. . .
65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Document data model
66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Querying Amazon QLDB
Traditional SQL
QLDB
67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Querying Amazon QLDB
Traditional SQL
QLDB
68. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Where should I use Amazon QLDB?
Healthcare
Maintain accurate records
of services, equipment and
inventory
Manufacturers
Track distribution of a
recalled product
HR & Payroll
Track changes to an
individual’s profile
Government
Track vehicle title
history
Ledgers with centralized control
69. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Sign up for our preview today!
https://aws.amazon.com/qldb
70. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
aws.amazon.com/activate
Everything and Anything Startups
Need to Get Started on AWS