Step Away From That Database Andrew Godwin DjangoCon 2010 O HAI - - PowerPoint PPT Presentation

step away from that database
SMART_READER_LITE
LIVE PREVIEW

Step Away From That Database Andrew Godwin DjangoCon 2010 O HAI - - PowerPoint PPT Presentation

Step Away From That Database Andrew Godwin DjangoCon 2010 O HAI ""Andrew speaks English like a machine gun speaks bullets."" Reinout van Rees Databases Relational Databases PostgreSQL MySQL SQLite Document Databases


slide-1
SLIDE 1

Step Away From That Database

Andrew Godwin

DjangoCon 2010

slide-2
SLIDE 2

O HAI

slide-3
SLIDE 3

""Andrew speaks English like a machine gun speaks bullets.""

Reinout van Rees

slide-4
SLIDE 4

Databases

slide-5
SLIDE 5

Relational Databases

PostgreSQL MySQL SQLite

slide-6
SLIDE 6

Document Databases

MongoDB CouchDB

slide-7
SLIDE 7

Key-Value Stores

Redis Cassandra

slide-8
SLIDE 8

Message Queues

AMQP Celery

slide-9
SLIDE 9

Various Others

Graph databases Filesystems VCSs

slide-10
SLIDE 10

Just add Django

For best results,

slide-11
SLIDE 11

Key/Value

import redis rdb = redis.Redis(host="localhost") rdb.set("somekey", "somevalue") print rdb.get("somekey")

slide-12
SLIDE 12

Document Databases

Django itself (soon) Raw MongoEngine / django-nonrel

slide-13
SLIDE 13

MongoEngine example

class Comment(EmbeddedDocument): content = StringField() class Page(Document): comments = ListField( EmbeddedDocumentField(Comment) )

slide-14
SLIDE 14

Message Queues

Raw Celery

slide-15
SLIDE 15

VCSs

Dulwich (git) Mercurial

slide-16
SLIDE 16

NoSQL

slide-17
SLIDE 17

NoSQL

“Not Only SQL” “Non-rel”

slide-18
SLIDE 18

Schemaless Databases

The dark side of

slide-19
SLIDE 19

Honey, I Changed The Schema

Database/Branch discord Conditional madness Data migrations

slide-20
SLIDE 20

Relational Integrity

slide-21
SLIDE 21

Relational Databases

The changing face of

slide-22
SLIDE 22

Schemas ain't so rigid

slide-23
SLIDE 23

JSON column types

slide-24
SLIDE 24

LISTEN / NOTIFY

slide-25
SLIDE 25

There's no single good solution.

slide-26
SLIDE 26

There's no single good solution.

(and friends don't let friends use MySQL)

slide-27
SLIDE 27

Thanks.

Andrew Godwin

@andrewgodwin http://aeracode.org