O Cassandra é um banco de dados NOSQL orientado à família de coluna que nasceu para resolver problemas com aplicações que precisam operar com gigantescas cargas de dados além de poder escalar com grande facilidade. Ele nasceu no facebook e hoje vem sendo usado intensamente por empresas dos mais variados portes, tais como Netflix, Twitter, Instagram, HP, IBM, dentre muitas outras. Um fator importante que vale ser citado é a sua adoção crescente inclusive em mercados mais conversadores tais como, instituições financeiras e agências governamentais como a NASA.
Assuntos abordados
- Conceito Data Science
- Conceito BigData
- NOSQL
- Histórico
- Tipos de Bancos
- Comparação com o Modelo relacional
- Cassandra
- Arquitetura Cassandra
- Configurações Básica do Cassandra
- Configuração de multi-nodes no Cassandra
- Conhecendo o DevOpsCenter
- Instalando os Agentes
Apresentação sobre Apache Cassandra, arquitetura, fluxo de operações, cluster, ferramentas para desenvolvimento, overview sobre o CQL. Apresentação do caso de uso da Movile.
Promovido por: Movile, Datastax e Planet Cassandra.
O Cassandra é um banco de dados NOSQL orientado à família de coluna que nasceu para resolver problemas com aplicações que precisam operar com gigantescas cargas de dados além de poder escalar com grande facilidade. Ele nasceu no facebook e hoje vem sendo usado intensamente por empresas dos mais variados portes, tais como Netflix, Twitter, Instagram, HP, IBM, dentre muitas outras. Um fator importante que vale ser citado é a sua adoção crescente inclusive em mercados mais conversadores tais como, instituições financeiras e agências governamentais como a NASA.
Assuntos abordados
- Conceito Data Science
- Conceito BigData
- NOSQL
- Histórico
- Tipos de Bancos
- Comparação com o Modelo relacional
- Cassandra
- Arquitetura Cassandra
- Configurações Básica do Cassandra
- Configuração de multi-nodes no Cassandra
- Conhecendo o DevOpsCenter
- Instalando os Agentes
Apresentação sobre Apache Cassandra, arquitetura, fluxo de operações, cluster, ferramentas para desenvolvimento, overview sobre o CQL. Apresentação do caso de uso da Movile.
Promovido por: Movile, Datastax e Planet Cassandra.
Apresentação com abordagem sobre NoSQL apresentada para avaliação da matéria de Banco de Dados II da Universidade de Vila Velha.
Material: https://www.slideshare.net/lorran33/material-seminrio-nosql/
Alunos: Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta
Universidade de VIia Velha.
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
Introdução ao Movimento NoSQL; Suas principais características; Técnicas para implementação; Principais tipos; Teorema CAP; Principais produtos no mercado e seus principais utilizadores.
Material para seminário com abordagem sobre NoSQL apresentada para avaliação da matéria de Banco de Dados II da Universidade de Vila Velha.
Apresentação: https://www.slideshare.net/lorran33/seminrio-nosql
Alunos: Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta
Universidade de VIia Velha.
Seminário apresentado no IME-USP, 07/06/2010
----------------------------------------------------------------------
Com a Web 2.0, o volume de dados gerados e armazenados cresce exponencialmente a cada ano. A medida em que aplicações precisam lidar com esse grande volume, seus requisitos são revistos - por exemplo, às vezes pode ser necessário abrir mão da consistência dos dados para se atingir uma maior escalabilidade da aplicação.
Esse novo cenário propiciou o surgimento de novas tecnologias e o ressurgimento de outras. Os sistemas de gerenciamento de bancos de dados não-relacionais (também chamados informalmente de NoSQL), como os bancos orientados a documentos, bancos chave-valor e bancos de grafos, são uma dessas tecnologias. Inicialmente, essa movimentação começou em algumas das grandes empresas da Web 2.0, como Google e Amazon, mas rapidamente opções de software livre começaram a aparecer e se estabelecer.
Esse seminário tratará dos princípios por trás do uso de sistemas de gerenciamento de banco de dados não-relacionais, suas vantagens e desvantagens e seus principais tipos e aplicações.
Algumas das principais características do NoSQLEric Silva
Este trabalho tem como objetivo apresentar
algumas das principais características do NoSQL,
um banco de dados que possui como diferencial um
grande poder de escalabilidade, proporcionando
uma maior capacidade de armazenamento e
velocidade.
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLOrlando Vitali
Uma analise teórica e pratica sobre as diferenças entre bancos de dados Relacionais, NoSQL e NewSQL desenvolvida como TCC para o curso de Ciências da Computação da UNESC
Os bancos de dados não relacionais (NoSql) a cada dia tem se tornado mais real no cotidiano dos desenvolvedores web, o crescente numero de projetos que adotaram essa tecnologia não nos deixa fugir da realidade que se você ainda não usuou, provavelmente em um futuro bem próxima mas bem próximo mesmo vai usar. Os diferentes tipos de nosql (Orientado a documentos, Chave Valor, Orientado a Colunas) torna indispensável o conhecimento dos tipos e suas principais vantagens, para que se possa escolher de forma correta a tecnogolia NoSql que mais se adapta ao seu projeto. O brasil tem se mostrado bastante interessado nos bancos de dados não relacionais, mais uma pesquisa minha mesmo, própria e que não tem dados específicos, mas vamos chutar ai ! que a grande maioria se fala bastante de nosql?s orientados colunas tipo mongo couch, e uma pequena porcentagem de chave valor, outra quase nula de ?orientados a coluna?, porrisso pra tentar mostrar que os bancos orientados a colunas também funcionam,a palestra propoem conhecer e entender os bancos de dados orientados a colunas, e se estudando um dos mais conhecidos da rede o famoso Cassandra, banco de dados conhecido por ser utilizado pelos maiores aplicativos web desta geração (Twitter, Faceboock). Aprincipal idéia é tentar mostrar como os bancos orientados a colunas trabalham como eles organizam os dados, dentro do cassandra mostrar as ferramentas que pode ser utilizada para gerenciar um grande volume de dados, (clusters, replication). tentando mostrar também de como o cassandra trabalha.
Apresentação de Alex Martins e Laercio de Souza. Estudantes de Sistemas para Internet. Agradecimento as pessoas que apoiaram no desenvolvimento da apresentação. Faltou algumas referências. Mas para ficar a disposição para vocês.
Com a necessidade de analisar muita informação em tempo real em conjunto com a grande complexidade das aplicações, é muito comum utilizar mais de um tipo de persistência para obter o resultado esperado. Existe uma grande variedade de tipos de persistência, seja relacional (SQL) ou Não Relacional (NoSQL). Compreender os principais recursos de cada um e implementar uma arquitetura com múltiplos tipos diferentes de persistência pode trazer inúmeros benefícios e escala para aplicações. Essa palestra foi apresentada no dia 10 de Maio de 2014 no 15 Fórum Inernacional de Software Livre em Porto Alegre
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseEdureka!
NoSQL includes a wide range of different database technologies and were developed as a result of surging volume of data stored. Relational databases are not capable of coping with this huge volume and faces agility challenges. This is where NoSQL databases have come in to play and are popular because of their features. The session covers the following topics to help you choose the right NoSQL databases:
Traditional databases
Challenges with traditional databases
CAP Theorem
NoSQL to the rescue
A BASE system
Choose the right NoSQL database
Seminário feito para a disciplina de Sistemas Distribuídos da Universidade Federal de São Paulo, ministrada pelo Prof. Dr. Arlindo Flávio da Conceição.
Apresentação com abordagem sobre NoSQL apresentada para avaliação da matéria de Banco de Dados II da Universidade de Vila Velha.
Material: https://www.slideshare.net/lorran33/material-seminrio-nosql/
Alunos: Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta
Universidade de VIia Velha.
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
Introdução ao Movimento NoSQL; Suas principais características; Técnicas para implementação; Principais tipos; Teorema CAP; Principais produtos no mercado e seus principais utilizadores.
Material para seminário com abordagem sobre NoSQL apresentada para avaliação da matéria de Banco de Dados II da Universidade de Vila Velha.
Apresentação: https://www.slideshare.net/lorran33/seminrio-nosql
Alunos: Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta
Universidade de VIia Velha.
Seminário apresentado no IME-USP, 07/06/2010
----------------------------------------------------------------------
Com a Web 2.0, o volume de dados gerados e armazenados cresce exponencialmente a cada ano. A medida em que aplicações precisam lidar com esse grande volume, seus requisitos são revistos - por exemplo, às vezes pode ser necessário abrir mão da consistência dos dados para se atingir uma maior escalabilidade da aplicação.
Esse novo cenário propiciou o surgimento de novas tecnologias e o ressurgimento de outras. Os sistemas de gerenciamento de bancos de dados não-relacionais (também chamados informalmente de NoSQL), como os bancos orientados a documentos, bancos chave-valor e bancos de grafos, são uma dessas tecnologias. Inicialmente, essa movimentação começou em algumas das grandes empresas da Web 2.0, como Google e Amazon, mas rapidamente opções de software livre começaram a aparecer e se estabelecer.
Esse seminário tratará dos princípios por trás do uso de sistemas de gerenciamento de banco de dados não-relacionais, suas vantagens e desvantagens e seus principais tipos e aplicações.
Algumas das principais características do NoSQLEric Silva
Este trabalho tem como objetivo apresentar
algumas das principais características do NoSQL,
um banco de dados que possui como diferencial um
grande poder de escalabilidade, proporcionando
uma maior capacidade de armazenamento e
velocidade.
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLOrlando Vitali
Uma analise teórica e pratica sobre as diferenças entre bancos de dados Relacionais, NoSQL e NewSQL desenvolvida como TCC para o curso de Ciências da Computação da UNESC
Os bancos de dados não relacionais (NoSql) a cada dia tem se tornado mais real no cotidiano dos desenvolvedores web, o crescente numero de projetos que adotaram essa tecnologia não nos deixa fugir da realidade que se você ainda não usuou, provavelmente em um futuro bem próxima mas bem próximo mesmo vai usar. Os diferentes tipos de nosql (Orientado a documentos, Chave Valor, Orientado a Colunas) torna indispensável o conhecimento dos tipos e suas principais vantagens, para que se possa escolher de forma correta a tecnogolia NoSql que mais se adapta ao seu projeto. O brasil tem se mostrado bastante interessado nos bancos de dados não relacionais, mais uma pesquisa minha mesmo, própria e que não tem dados específicos, mas vamos chutar ai ! que a grande maioria se fala bastante de nosql?s orientados colunas tipo mongo couch, e uma pequena porcentagem de chave valor, outra quase nula de ?orientados a coluna?, porrisso pra tentar mostrar que os bancos orientados a colunas também funcionam,a palestra propoem conhecer e entender os bancos de dados orientados a colunas, e se estudando um dos mais conhecidos da rede o famoso Cassandra, banco de dados conhecido por ser utilizado pelos maiores aplicativos web desta geração (Twitter, Faceboock). Aprincipal idéia é tentar mostrar como os bancos orientados a colunas trabalham como eles organizam os dados, dentro do cassandra mostrar as ferramentas que pode ser utilizada para gerenciar um grande volume de dados, (clusters, replication). tentando mostrar também de como o cassandra trabalha.
Apresentação de Alex Martins e Laercio de Souza. Estudantes de Sistemas para Internet. Agradecimento as pessoas que apoiaram no desenvolvimento da apresentação. Faltou algumas referências. Mas para ficar a disposição para vocês.
Com a necessidade de analisar muita informação em tempo real em conjunto com a grande complexidade das aplicações, é muito comum utilizar mais de um tipo de persistência para obter o resultado esperado. Existe uma grande variedade de tipos de persistência, seja relacional (SQL) ou Não Relacional (NoSQL). Compreender os principais recursos de cada um e implementar uma arquitetura com múltiplos tipos diferentes de persistência pode trazer inúmeros benefícios e escala para aplicações. Essa palestra foi apresentada no dia 10 de Maio de 2014 no 15 Fórum Inernacional de Software Livre em Porto Alegre
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseEdureka!
NoSQL includes a wide range of different database technologies and were developed as a result of surging volume of data stored. Relational databases are not capable of coping with this huge volume and faces agility challenges. This is where NoSQL databases have come in to play and are popular because of their features. The session covers the following topics to help you choose the right NoSQL databases:
Traditional databases
Challenges with traditional databases
CAP Theorem
NoSQL to the rescue
A BASE system
Choose the right NoSQL database
Seminário feito para a disciplina de Sistemas Distribuídos da Universidade Federal de São Paulo, ministrada pelo Prof. Dr. Arlindo Flávio da Conceição.
Real-Time Analytics with Apache Cassandra and Apache SparkGuido Schmutz
Time series data is everywhere: IoT, sensor data, financial transactions. The industry has moved to databases like Cassandra to handle the high velocity and high volume of data that is now common place. However data is pointless without being able to process it in near real time. That's where Spark combined with Cassandra comes in! What was one just your storage system (Cassandra) can be transformed into an analytics system and it's really surprising how easy it is!
Computação em Nuvem
Persistência de Dados
Bancos de Dados Relacionais
Movimento NoSQL
Modelo de dados do Bigtable da Google
Arquitetura do Dynamo da Amazon
Detalhes técnicos do Apache Cassandra
CQL performance with Apache Cassandra 3.0 (Aaron Morton, The Last Pickle) | C...DataStax
The 3.0 storage engine re-write is the biggest and most exciting change to ever happen in Apache Cassandra. The new storage engine can efficiently store and read data from disk using the same concepts present in the CQL 3 language. This has delivered large space savings, and creates new performance characteristics.
In this talk Aaron Morton, Co Founder at The Last Pickle and Apache Cassandra Committer, will discuss the 3.0 storage engine, it's layout and performance characteristics.
About the Speaker
Aaron Morton CEO, The Last Pickle
Aaron Morton is the Co Founder & CEO at The Last Pickle (thelastpickle.com). A professional services company that works with clients to deliver and improve Apache Cassandra based solutions. He's based in New Zealand, is an Apache Cassandra Committer and a DataStax MVP for Apache Cassandra.
Entenda o contexto da modelagem de software e sistemas, descubra a importância e as principais características da orientação a objetos, incluindo discussão de um case.
Apresentação do Projeto Final de Alberto Scremin e Bianca Caruso. Orientados pela professora Vanessa Braganholo.
Curso: Bacharelado de Ciência da Computação - UFF
Apresentado no DevCamp 2014 (dia 16 de Maio de 2014).
Que o PostgreSQL é um banco de dados relacional poderoso e robusto, todo mundo sabe. Nessa palestra veja as funcionalidades, extensões e técnicas usadas para colocar o PostgreSQL na competição com muitos bancos de dados NoSQL. Veja o que quer dizer NewSQL e onde o PostgreSQL se encontra nesse grupo de bancos de dados que não somente possuem as características relacionais e a linguagem SQL, mas também funcionalidades extras (json, chave/valor, In-Memory Columnar Store, entre outros) e poder de escalabilidade horizontal (replicação, balanceamento de carga e até sharding).
Oficina apresentada na Escola Reginal de Banco de Dados em 2018. Essa oficina apresentou como combinar Spark, VoltDB e Elasticsearch, três tecnologias que materializam os conceitos de Big Data para alcançar velocidade de processamento para um grande volume de dados. Usando um exemplo em informação geográficas, o participante aprenderá como processar dados em tempo real usando Apache Spark, criar visualizações através do Elasticsearch e disponibilizar esses dados de forma escalável em uma ferramenta NewSQL usando o VoltDB.
Por que e como montamos um meio de pagamentos inteiramente em Node.js? Nessa palestra, falarei sobre o que aprendemos construindo um projeto relativamente grande em Node. Primeiro, os motivos que nos levaram a usá-lo no Pagar.me e porque Node foi a ferramenta certa para nós. Depois, sobre como montamos uma infraestrutura que une Node.js com tecnologias diferentes (MongoDB, MySQL e ElasticSearch) para usar a melhor parte de cada uma delas e ganhar versatilidade e escalabilidade.
Também abordarei os cuidados com código (patterns, code style, modules, etc), testes, integração contínua e segurança na stack que precisamos ter para criar algo grande com Node. Além disso, contarei um pouco sobre ele em produção, incluindo as ferramentas que usamos para rodar e monitorar nossa aplicação e a infraestrutura por trás dela. O objetivo é mostrar quando, como e porque utilizar o Node, e provar até onde ele pode chegar.
Análise comparativa entre SGBDs NoSQL no contexto de IoTAllexandre Sampaio
Apresentação do trabalho de conclusão de curso para obtenção do grau de Bacharel em Sistemas de Informação. O trabalho apresenta o desenvolvimento de um experimento visando verificar o desempenho de alguns Bancos de Dados do tipo NoSQL quando estes são utilizados no contexto de Internet das Coisas.
10. BASE otimista, aceitando que a consistência esteja em um “estado de fluxo” http://queue.acm.org/detail.cfm?id=1394128 Possibilita a escalabilidade horizontal...
11. NoSQL = Not Only SQL http://nosql-database.org/ distribuídos não relacionais horizontalmente escaláveis esquemas flexíveis replicáveis APIs simples
12. Zoologia dos bancos NoSQL Wide Column Store / Column Families Key-Value Store Document Store NoSQL Database
23. Exemplo: modelagem do Twitter Users Following Followers @paul segue @brigitte desde 22/08/2010 john name: John Doe pass: swordfish joined: 20091115 paul name: Paul Lane pass: thepass joined: 20091129 john paul: 20091204 brigitte: 20100815 paul john: 20091205 debora: 20100729 brigitte: 20100822 john tom: 20091128 paul: 20091205 brigitte john: 20100815 paul: 20100822
24. Exemplo: modelagem do Twitter Statuses (Tweets) Timeline Userline Tweets do @john Tweets dos usuários que o @paul segue data/hora tweet 12345 user: john body: Nuvem privada do @serpro! retweets: 123 12346 user: brigitte john 20100116083155: 12346 paul 20100116083002: 12345 20100116083155: 12346 john 20100116083002: 12345 20100118235914: 23457 brigitte 20100116083155: 12346 tweet body: Acabei de #acordar. tags acordar: 1
25. CQL (Query Language) CREATE COLUMNFAMILY users ( KEY varchar PRIMARY KEY, name varchar, pass varchar, joined bigint); INSERT INTO users (KEY, name, pass) VALUES ('jsmith', 'John Smith', 'changeme') USING CONSISTENCY QUORUM; SELECT * FROM users WHERE KEY = 'jsmith'; u'jsmith' | u'pass',u'changeme' SELECT name..pass FROM users WHERE KEY >= 'h' LIMIT 10; CREATE INDEX users_joined_idx ON users (joined); DELETE joined FROM users where KEY = 'jsmith';
26. “ It took two weeks to perform ALTER TABLE on the statuses [tweets] table.” – Twitter
43. { _id : ObjectId("5ebf5e0fec5fab7db2b9b40e"), title : "Introdução ao MongoDB", slug : "introducao-ao-mongodb", body : "Este é o texto do post...", published : true, created : "Jun 28 2011 13:48:22 AMT", updated : "Jun 28 2011 17:01:15 AMT", comments : [ { author : "john", email : "john@doe.com", body : "Caramba!", created : "Jun 28 2011 15:01:30 BRST" } ] , tags : [ "databases", "MongoDB", "nosql" ] } Um documento JSON Array Object ID Embedded Document
44. Linguagem de Consulta SELECT * FROM usuarios > db.usuarios.find() SELECT nome FROM usuarios > db.usuarios.find({}, {“nome”: 1}) SELECT * FROM usuarios WHERE idade = 29 > db.usuarios.find({“idade”: 29}) SELECT * FROM usuarios WHERE idade = 29 AND ativo = true > db.usuarios.find({“idade”: 29, “ativo”: true}) SELECT * FROM usuarios WHERE idade >= 18 AND idade <= 30 > db.usuarios.find({“idade”: {“$gte”: 18, “$lte”: 30}}) SELECT * FROM usuarios WHERE nome LIKE “%admin%” > db.usuarios.find({“nome”: /admin/i})
45. Linguagem de Consulta SELECT * FROM usuarios ORDER BY nome > db.usuarios.find().sort({“nome”: 1}) SELECT * FROM usuarios ORDER BY idade DESC, nome > db.usuarios.find().sort({“idade”: -1, “nome”: 1}) SELECT * FROM usuarios LIMIT 3 > db.usuarios.find().limit(3) SELECT * FROM usuarios OFFSET 5 > db.usuarios.find().skip(5) SELECT * FROM usuarios LIMIT 3 OFFSET 5 > db.usuarios.find().limit(3).skip(5) SELECT * FROM usuarios ORDER BY nome LIMIT 3 > db.usuarios.find().sort({“nome”: 1}).limit(3)
46. Map Reduce índices capped collections Server-Side Scripting GridFS ad hoc queries
51. “ NoSQL adoption is inevitable because, just as in every other walk of life, there are different tools for different jobs” – Stephen O'Graddy (RedMonk) Rodrigo Hjort [email_address] http://www.hjort.co
Notas do Editor
...
A grande maioria das aplicações necessita de algum tipo de persistência de dados.
Por que precisamos de SQL? Modelo relacional está bem consolidado Linguagem com décadas de evolução Integridade referencial e transações (ACID) Conjunto rico de ferramentas É o que aprendemos É o que o mercado usa
Onde usamos SQL (i.e. ACID)? Aplicações empresariais Agências de viagem Internet banking Compras online Cartões de crédito Transações em geral
...
Informação digital criada, capturada e replicada pelo mundo Fonte: IDC White Paper, &quot;The Diverse and Exploding Digital Universe&quot;, 2008.
Aplicações web modernas Grandes volumes de dados (escala da Internet) Altas taxas de leitura e escrita Necessidade de alta disponibilidade Frequentes mudanças nos esquemas Aplicações “sociais” não exigem os mesmos níveis de consistência que aplicações “bancárias”
• Scaling existing Relational Databases is hard • Sharding is one solution, but makes your RDBMS unusable • Operational Nightmare
Os modelos transacionais ACID Atomicity, Consistency, Isolation, Durability: a set of properties that guarantee database transactions are processed reliably BASE Basically Available, Soft state, Eventual consistency : as opposed to the database concept of ACID http://queue.acm.org/detail.cfm?id=1394128 Eventually Consistent http://queue.acm.org/detail.cfm?id=1466448
O Movimento NoSQL NoSQL = Not Only SQL http://nosql-database.org/ bancos que diferem do modelo clássico relacional não relacionais distribuídos horizontalmente escaláveis com esquemas flexíveis replicáveis APIs simples BASE (e não ACID)
Eric Brewer (UCB) in 2000 presented the CAP theorem , which states that of 3 properties of shared-data systems: C: data consistency A: system availability P: tolerance to network partition Only 2 can be achieved at any given time! A more formal confirmation can be found in a 2002 paper by Seth Gilbert and Nancy Lynch.
CA – Corruption possible if live nodes can’t communicate (network partition)
CP – Completely inaccessible if any nodes are dead
AP – Always available, but may not always read most recent NoSQL chooses AP, but makes consistency configurable
Cassandra highlights ● High availability ● Incremental scalability ● Eventually consistent ● Super fast writes ● Tunable tradeoffs between consistency and latency ● Minimal administration ● No SPF
Developed at Facebook (problem of inbox search) Follows the BigTable ( Google ) Data Model - column oriented http://labs.google.com/papers/bigtable.html Follows the Dynamo ( Amazon ) Eventual Consistency model http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html Opensourced at Apache as an incubator project (2008) and then was top-leveled (2010) Implemented in Java
Keyspace Agrupamento de famílias de colunas (~banco de dados) Column Family Agrupamento de colunas com ordenação fixada (~tabela) Row Key Chave que representa uma linha de colunas (~chave primária) Column Representação de um valor, com: - Nome (Name) - Valor (Value) - Timestamp
...
...
Similar à linguagem SQL, mas com particularidades do Cassandra: consistency levels, TTL, slices
Importância de esquemas flexíveis
Every node is equal! Always at least one copy in each datacenter Alternate datacenters on the ring DHT (Distributed Hash Table) Ring
Eventual consistency ● Synch to Washington, asynch to Hong Kong Client API Tunables ● Confirm R replicas match at read time ● Synchronously write to W replicas of N total replicas Allows for almost-strong consistency ● When W + R > N
Gossip protocol (~P2P) is used for cluster membership and failure detection on nodes. Enables seamless nodes addition Rebalancing of keys Fast detection of nodes that goes down Every node knows about all others - no master State disseminated in O(log N) rounds
* Dados das primeiras versões do Cassandra (v0.6) Versão 1.0 trouxe melhoras de: - 40% na escrita - 400% na leitura! http://www.datastax.com/dev/blog/whats-new-in-cassandra-1-0-performance
MongoDB is a powerful, flexible, and scalable data store. It combines the ability to scale out with many of the most useful features of relational databases, such as secondary indexes, range queries, and sorting. MongoDB is also incredibly featureful: it has tons of useful features such as built-in support for MapReduce-style aggregation and geospatial indexes. 1. (Slang.) humongous extraordinarily large.
MongoDB basic concepts: • A document is the basic unit of data, roughly equivalent to a row in a RDBMS • Similarly, a collection can be thought of as the schema-free equivalent of a table • A single instance of MongoDB can host multiple independent databases , each of which can have its own collections and permissions Document : an ordered set of keys with associated values (i.e., map, hash, or dictionary)
With Mongo, you do less &quot;normalization&quot; than you would perform designing a relational schema because there are no server-side joins . Generally, you will want one database collection for each of your top level objects.
JSON-style documents with dynamic schemas offer simplicity and power.
Rich, document-based queries.
Index on any attribute, just like you're used to. Allows it to do queries orders of magnitude faster. Geospatial index is also provided. Map Reduce : a method of aggregation that can be easily parallelized across multiple servers. A capped collection is created fixed in size, behaving like circular queues . GridFS is a mechanism for storing large binary files in MongoDB. No need for a separate file storage architecture. JavaScript can be executed on the server.
Sharding is the process of splitting data up and storing different portions of the data on different machines. Sharding is MongoDB’s approach to scaling out . Sharding allows you to add more machines to handle increasing load and data size without affecting your application. Scale horizontally without compromising functionality.
From the application’s point of view, a sharded setup looks just like a nonsharded setup. There is no need to change application code when you need to scale. To set up sharding with no points of failure , you’ll need the following: • Multiple config servers • Multiple mongos servers • Replica sets for each shard • w set correctly
Grande ruptura – IMS x RDBMS (invenção do modelo relacional)
A segunda ruptura: RDBMS x NoSQL
Conclusão NoSQL can’t do everything Right tool for the right job