stud/I/2019-11-08-NoSQL/README.md
2020-04-08 22:51:23 +03:00

240 lines
2.3 KiB
Markdown

Welcome
-------
NoSQL for cartographers.
Motiejus Jakštys
2019-11-08
Why me?
-------
- 2008: first full-time software job.
- 2009-2012: graduated Computing Science in Glasgow.
- 2014-2016: job: Amazon Web Services.
- 2016-now: job: Uber.
SQL and NoSQL are part of the job.
What is a server?
-----------------
Demonstration.
- pi
- pi-at-home.jpg
SQL
---
- Invented > 50 years ago.
- Technologies change, concepts remain.
Power and limitation of SQL
---------------------------
Let's model a house on a piece of land.
- There will be always a piece of land under a house.
- SQL says you can enforce this.
**They must be on the same server to enforce this constraint.**
What do we do?
Get a big database
------------------
$30 to about a $1M.
Alternatives
============
Split data across many servers!
Topology is not always needed:
- Pictures/videos.
- Stock prices.
- Sensor measurements.
Hey, No SQL!
Sort-of-SQL
-----------
Leave the syntax, cut out constraints.
- familiar syntax.
- more storage.
- less features.
Hive:
```
SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';
```
Key-Value: fast & small
-----------------------
- Different syntax
- Different features
DynamoDB:
```
table = dynamodb.create_table(
TableName='users',
KeySchema=[
{ 'AttributeName': 'username', 'KeyType': 'HASH' },
{ 'AttributeName': 'last_name', 'KeyType': 'RANGE' }
],
)
```
Key-Value: slow & very big
---------------------
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
What next?
----------
- Create an account in S3.
- Upload a file there.
- Share it with everyone under your domain.
- It's free!
Want to know more?
------------------
- Stanford Computer Science 101: https://online.stanford.edu/courses/soe-ycscs101-sp-computer-science-101
- Python programming introduction for everyone: https://tutorial.djangogirls.org/en/
- Cloud services: https://aws.amazon.com/