finalize presentation
This commit is contained in:
parent
3da1439f80
commit
def8fb9b05
@ -1,25 +1,69 @@
|
|||||||
Welcome
|
Welcome
|
||||||
-------
|
-------
|
||||||
|
|
||||||
This is a presentation about NoSQL for cartographers.
|
NoSQL for cartographers.
|
||||||
|
|
||||||
|
|
||||||
|
Motiejus Jakštys
|
||||||
|
|
||||||
|
2019-11-08
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Why me?
|
Why me?
|
||||||
-------
|
-------
|
||||||
|
|
||||||
- 2008: first paid software job.
|
- 2008: first paid software job.
|
||||||
- 2012: graduated Computing Science.
|
- 2009-2012: graduated Computing Science in Glasgow.
|
||||||
- 2014-2016: Amazon Web Services.
|
- 2014-2016: job: Amazon Web Services.
|
||||||
- 2016+: Uber.
|
- 2016-now: job: Uber.
|
||||||
- Using SQL and NoSQL at dayjob.
|
|
||||||
|
SQL and NoSQL are part of the job.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
What is a server?
|
What is a server?
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
Demonstration.
|
||||||
|
|
||||||
|
- pi
|
||||||
|
- pi-at-home.jpg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SQL
|
SQL
|
||||||
---
|
---
|
||||||
|
|
||||||
- Invented > 50 years ago.
|
- Invented > 50 years ago.
|
||||||
- Technologies differ, concepts are the same.
|
- Technologies change, concepts remain.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Power and limitation of SQL
|
Power and limitation of SQL
|
||||||
---------------------------
|
---------------------------
|
||||||
@ -31,26 +75,54 @@ Let's model a house on a piece of land.
|
|||||||
|
|
||||||
**They must be on the same server to enforce this constraint.**
|
**They must be on the same server to enforce this constraint.**
|
||||||
|
|
||||||
If constraint cannot be created, it's not SQL.
|
|
||||||
If it's SQL, all houses and all areas must be on the same server.
|
What do we do?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Get a big database
|
Get a big database
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
$30 to about a $1M. Show graphics.
|
$30 to about a $1M.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Alternatives
|
Alternatives
|
||||||
============
|
============
|
||||||
|
|
||||||
Cat videos do not require topology. But we still need storage -- No SQL!
|
Split data across many servers!
|
||||||
|
|
||||||
Like-SQL
|
Topology is not always needed:
|
||||||
--------
|
- Pictures/videos.
|
||||||
|
- Stock prices.
|
||||||
|
- Sensor measurements.
|
||||||
|
|
||||||
Forego some SQL constraints, but use the same (/similar) language:
|
|
||||||
- No uniqueness constraints.
|
Hey, No SQL!
|
||||||
- No foreign keys.
|
|
||||||
- ... many more restrictions.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Sort-of-SQL
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Leave the syntax, cut out constraints.
|
||||||
|
- familiar syntax.
|
||||||
|
- more storage.
|
||||||
|
- less features.
|
||||||
|
|
||||||
Hive:
|
Hive:
|
||||||
```
|
```
|
||||||
@ -58,10 +130,15 @@ SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Key-Value: fast & small
|
Key-Value: fast & small
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
DynamoDB, Cassandra. Some have their language, some don't.
|
- Different syntax
|
||||||
|
- Different features
|
||||||
|
|
||||||
DynamoDB:
|
DynamoDB:
|
||||||
```
|
```
|
||||||
@ -74,15 +151,50 @@ table = dynamodb.create_table(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
Cassandra:
|
|
||||||
```
|
|
||||||
INSERT INTO monkeys (type, family, common_name, conservation_status)
|
|
||||||
VALUES ('New World Monkey', 'Cebidae', 'white-headed capuchin', 'Least concern');
|
|
||||||
```
|
|
||||||
|
|
||||||
Key-Value: slow & big
|
|
||||||
|
|
||||||
|
|
||||||
|
Key-Value: slow & very big
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
S3.
|
Videos or just large files? S3 is most popular.
|
||||||
|
|
||||||
|
Imaginge an infinite disk.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Cloud
|
||||||
|
-----
|
||||||
|
|
||||||
|
"The Cloud" is just someone's servers with software.
|
||||||
|
|
||||||
|
- pi-datacenter.jpg
|
||||||
|
- datacenter.jpg
|
||||||
|
- snowball-edge.jpg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Storage
|
||||||
|
-------
|
||||||
|
|
||||||
|
Storage in "the cloud" is quite cheap. People start moving.
|
||||||
|
|
||||||
https://www.youtube.com/watch?v=8vQmTZTq7nw
|
https://www.youtube.com/watch?v=8vQmTZTq7nw
|
||||||
|
BIN
misc/2019-11-08-NoSQL/datacenter.jpg
Normal file
BIN
misc/2019-11-08-NoSQL/datacenter.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 323 KiB |
BIN
misc/2019-11-08-NoSQL/pi-at-home.jpg
Normal file
BIN
misc/2019-11-08-NoSQL/pi-at-home.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 242 KiB |
BIN
misc/2019-11-08-NoSQL/pi-datacenter.jpg
Normal file
BIN
misc/2019-11-08-NoSQL/pi-datacenter.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
BIN
misc/2019-11-08-NoSQL/snowball-edge.jpg
Normal file
BIN
misc/2019-11-08-NoSQL/snowball-edge.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 220 KiB |
Loading…
Reference in New Issue
Block a user