Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NOSQLBA 2018 - ArangoDB com python

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

NOSQLBA 2018 - ArangoDB com python

Nesta apresentação do minicurso de ArangoDB do NOSQLBA - 2018 apresento os principais comandos AQL e demonstro como criar microserviços que manipulam Documentos e Grafos no Arango. Este trabalho está em construção, então volte posteriormente para ver as novidades.

Avatar for felipe bastos

felipe bastos

March 10, 2018
Tweet

More Decks by felipe bastos

Other Decks in Programming

Transcript

  1. Quem Sou • Graduado em Análise de Sistemas • Pós-Graduado

    em Gerenciamento de Projetos • Participa das Comunidades PHPBA, GruPy- BA, DockerBR, ArangoDB Brasil, MongoDB Brasil, etc
  2. Onde me Achar Basicamente o @felipebastosweb • https://github.com/felipebastosweb • https://medium.com/@felipebastosweb

    • https://bitbucket.org/felipebastosweb • https://www.facebook.com/felipebastosweb • https://www.slideshare.com/felipebastosweb • https://www.linkedin.com/in/felipebastosweb • https://www.twitter.com/felipebastosweb • https://www.dropbox.com/sh/6j8haujms7pgz2w/AABRm6StOqL amL3bGw5mTQAba?dl=0
  3. Banco de Dados Relacional • Bancos Relacionais – MySQL –

    MS SQL – Oracle – PostgreSQL • Modelo – Tabelas – Colunas – Registros – Chaves • Linguagem Comum – SQL (Strutured Query) • Propriedades – Atomicidade (tudo ou nada) – Consistência (estado válido) – Isolamento (concorrência) – Durabilidade
  4. NoSQL - Not Only SQL • Principais bancos – Redis

    – MongoDB – Neo4j – DynamoDB – Cassandra – CouchDB – ArangoDB – OrientDB • Principais Modelos: – Documentos – Grafos – Chave-Valor
  5. NoSQL - Características • Sem Schema ou Schema Flexível •

    Escalabilidade Horizontal • Suporte Nativo a Replicação • Estado Leve e Consistência Eventual • Principais tipos de Schema: – Chave-Valor – Documentos – Graphos
  6. ArangoDB - Download • Link de Referência – https://www.arangodb.com •

    Versão Comunidade: – https://www.arangodb.com/download-major/
  7. Python - Download • Link de Referência – https://www.python.org •

    Windows – https://www.python.org/downloads/release/python- 364/ • Linux – Já vem com Python 2.7 – Mas use o Python 3 com Docker
  8. Instalação do Driver ArangoDB • Instalação do pacote padrão –

    pip install python-arango • Instalação via código-fonte – pip install -e [email protected]:joowani/python- arango.git@master#egg=python-arango
  9. Docker-Download • Docker Engine (o Docker) – https://www.docker.com/community-edition • Docker-Compose

    (Maestro da Orquestra) – https://docs.docker.com/compose/install/#install- compose • Docker Machine (o Dono do Show) – https://docs.docker.com/machine/overview/#where-to- go-next
  10. Gerando um MicroServiço com Docker • Criaremos os seguintes serviços:

    – DB: provisionar o ArangoDB – Web: Provisionar app Python3 – Nginx: Provisionar server/proxy HTTP • Dicas: – Nos serviços de banco e app evite dar o mesmo nome do banco ou linguagem – Serviço nginx x app nginx não dá conflito de nomes
  11. … - Dockerfile FROM python:3 ENV PYTHONUNBUFFERED=1 RUN apt-get install

    libmysqlclient-dev RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt
  12. … - Docker-compose.yml • version: '3' • • services: •

    db: • image: arangodb:latest • volumes: • - ./db:/var/lib/arangodb • - ./db-apps:/var/lib/arangodb-apps • ports: • - "8529:8529" • restart: always • environment: • ARANGO_ROOT_PASSWORD: 'nosqlba2018' •
  13. … - Docker-compose.yml version: '3' services: ………..... web: build: .

    command: uwsgi --ini uwsgi.ini working_dir: /code/web volumes: - .:/code ports: - "8000:8000" depends_on: - db
  14. … - Docker-compose.yml nginx: image: nginx:alpine volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf -

    ./nginx/conf:/etc/nginx/conf.d - .:/code ports: - "80:80" depends_on: - web volumes: - .:/code
  15. Continuará em breve • Esta apresentação faz parte do conteúdo

    do evento NOSQLBA 2018, e está incompleta. • Volte posteriormente para ver as novidades.
  16. Espero que tenham gostado … Você pode nos acompanhar nas

    principais redes sociais… @felipebastosweb FIM