1378efe0ba | ||
---|---|---|
.. | ||
README.md | ||
datacenter.jpg | ||
pi-at-home.jpg | ||
pi-datacenter.jpg | ||
snowball-edge.jpg |
README.md
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/