Understanding databases for
distributed Docker applications
NoSQL Matters, Dublin 4th June
About Me
• London, Melbourne, Berlin
• Developer, Designer, Writer,
Musician
• Developer Advocate
chris@crate.io
@chrischi...
THE FUTURE OF DATABASES IS
distributed
MICROSERVICES &
DOCKER
Datacenter Snowflakes
• Deploy in months
• Live for years
Virtualized and Cloud
• Deploy in minutes
...
Now: Zoo of Technologies
Relational
Database
Document
Database
+ +
+
Blob Store
GridFS
HDFS
Powerful
Search
sync sharding
...
TRADITIONAL DBs
on DOCKER
CRATE
Crate is...
• built on a NoSQL architecture
• a distributed SQL Database
(supporting semi-structured records)
• extremely ...
> docker pull crate:latest
> docker run -d -P crate
> docker run -d -P crate
> docker run -d -p 4200:4200 -p 4300:4300 cra...
> docker run -d -p 4200:4200 -p 4300:4300
--volume /data:/data
--env CRATE_HEAP_SIZE=8g
crate crate
-Des.path.data="/data/...
FOR EVERY
DEVELOPER
• data is as easy to scale as the
application
• Familiar, standard SQL Syntax.
• Automatic Configuratio...
Client DEMO
Compose
Example
crate:
image: crate
ports:
- "4200:4200"
- "4300:4300"
volumes:
- /mnt/data/crate:/data
environment:
CRATE_HEAP_SI...
Machine & Swarm
> docker-machine create
--driver virtualbox
staging
> eval "$(docker-machine env staging)"
> docker run -d -p 4200:4200 -p...
> docker-machine create
-d virtualbox
env-crate
> $(docker-machine env env-crate)
> docker run swarm create
> echo "export...
> docker-machine create
--driver virtualbox
--swarm
--swarm-master
--swarm-discovery 
token://${TOKEN}
crate-swarm
> docker-machine create
--driver virtualbox
--swarm
--swarm-discovery 
token://yy
crate-swarm-node1
> docker-machine ls
> $(docker-machine env --swarm crate-swarm)
> docker info
docker -H tcp://HOST:2376
run -d -p 4200:4200 -p 4300:4300
crate:latest crate
-Des.cluster.name=crate-swarm
-Des.multicast...
crate.io/blog/crate-
with-docker-and-weave
Use Cases
Well Suited
• High volume, semistructured/
dynamic data
• Operational datastore for web
applications that requir...
https://github.com/crate
http://stackoverflow.com/tags/crate/
IRC #crate on freenode
https://twitter.com/CrateIO
https://fb...
Chris Ward - Understanding databases for distributed docker applications - NoSQL matters Dublin 2015
Chris Ward - Understanding databases for distributed docker applications - NoSQL matters Dublin 2015
Nächste SlideShare
Wird geladen in …5
×

Chris Ward - Understanding databases for distributed docker applications - NoSQL matters Dublin 2015

1.280 Aufrufe

Veröffentlicht am

In this talk we'll focus on the use of Crate alongside Weave in Docker containers, the technical challenges, best practices learned, and getting a big data application running alongside it. You'll learn about the reasons why Crate.IO is building "yet another NoSQL database" and why it's unique and important when running web scale containerized applications. We'll show why the shared-nothing architecture is so important when deploying large clusters in containers and how it addresses the issues and fears of a Docker-based persistence layer. You will learn how to deploy a Crate cluster in the cloud within minutes using Docker, some of the challenges you'll encounter, and how to overcome them in order to scale your backends efficiently. We focused on super simple integration with any cloud provider, striving it to be as turnkey as possible with minimal up-front configuration required to establish a cluster. Once established, we'll show how to scale the cluster horizontally by simply adding more nodes. The session will also give you examples when you should use Crate compared to other similar technologies such as MongoDB, Hadoop, Cassandra or FoundationDB. We'll talk about this approach's strengths and what types of applications are well-suited for this type of data store, as well what is not. Finally we'll outline how to architect an application that is easy to scale using Crate and Docker.

Veröffentlicht in: Daten & Analysen
0 Kommentare
3 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.280
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
44
Aktionen
Geteilt
0
Downloads
10
Kommentare
0
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Chris Ward - Understanding databases for distributed docker applications - NoSQL matters Dublin 2015

  1. 1. Understanding databases for distributed Docker applications NoSQL Matters, Dublin 4th June
  2. 2. About Me • London, Melbourne, Berlin • Developer, Designer, Writer, Musician • Developer Advocate chris@crate.io @chrischinch @crateio
  3. 3. THE FUTURE OF DATABASES IS distributed
  4. 4. MICROSERVICES & DOCKER Datacenter Snowflakes • Deploy in months • Live for years Virtualized and Cloud • Deploy in minutes • Live for weeks Docker Containers • Deploy in seconds • Live for minutes/hours Compute Service • Deploy in milliseconds • Live for seconds Speed enables and encourages new micro service architectures
  5. 5. Now: Zoo of Technologies Relational Database Document Database + + + Blob Store GridFS HDFS Powerful Search sync sharding scaling replication 1 2 4 3
  6. 6. TRADITIONAL DBs on DOCKER
  7. 7. CRATE
  8. 8. Crate is... • built on a NoSQL architecture • a distributed SQL Database (supporting semi-structured records) • extremely simple to install/operate • superfast, powerful search • horizontally scaling, elastic, resilient • eventual-consistent, high concurrency
  9. 9. > docker pull crate:latest > docker run -d -P crate > docker run -d -P crate > docker run -d -p 4200:4200 -p 4300:4300 crate
  10. 10. > docker run -d -p 4200:4200 -p 4300:4300 --volume /data:/data --env CRATE_HEAP_SIZE=8g crate crate -Des.path.data="/data/data1,/data/data2" -Des.multicast.enabled=false -Des.network.publish_host=$PRIVATE_IP -Des.discovery.zen.ping.unicast.hosts=$HOSTS
  11. 11. FOR EVERY DEVELOPER • data is as easy to scale as the application • Familiar, standard SQL Syntax. • Automatic Configuration, Sharding and Replication • Support for tables, semi-structured records and binary data and search. Ruby
  12. 12. Client DEMO
  13. 13. Compose
  14. 14. Example crate: image: crate ports: - "4200:4200" - "4300:4300" volumes: - /mnt/data/crate:/data environment: CRATE_HEAP_SIZE: 16g command: crate -Des.cluster.name=my-crate -Des.node.name=crate-1 - Des.network.publish_host=cratedemo.dev node: build: . ports: - "8000:8000" links: - crate
  15. 15. Machine & Swarm
  16. 16. > docker-machine create --driver virtualbox staging > eval "$(docker-machine env staging)" > docker run -d -p 4200:4200 -p 4300:4300 crate
  17. 17. > docker-machine create -d virtualbox env-crate > $(docker-machine env env-crate) > docker run swarm create > echo "export TOKEN=xx" >> .bash_profile > source .bash_profile
  18. 18. > docker-machine create --driver virtualbox --swarm --swarm-master --swarm-discovery  token://${TOKEN} crate-swarm
  19. 19. > docker-machine create --driver virtualbox --swarm --swarm-discovery  token://yy crate-swarm-node1
  20. 20. > docker-machine ls > $(docker-machine env --swarm crate-swarm) > docker info
  21. 21. docker -H tcp://HOST:2376 run -d -p 4200:4200 -p 4300:4300 crate:latest crate -Des.cluster.name=crate-swarm -Des.multicast.enabled=false -Des.transport.publish_host=HOST -Des.discovery.zen.ping.unicast.hosts="HOSTS" -Des.discovery.zen.minimum_master_nodes=x
  22. 22. crate.io/blog/crate- with-docker-and-weave
  23. 23. Use Cases Well Suited • High volume, semistructured/ dynamic data • Operational datastore for web applications that require powerful fulltext search • Elastic datastore for dynamic startups • Real time analytics and business intelligence Not Well Suited • Systems that require strong consistency • Systems that require transactions • Strong relational data
  24. 24. https://github.com/crate http://stackoverflow.com/tags/crate/ IRC #crate on freenode https://twitter.com/CrateIO https://fb.me/cratedata support@crate.io https://crate.io

×