2. ¿Qué es no SQL?
NoSQL es especialmente útil cuando
una empresa necesita acceder y
analizar grandes cantidades de datos no
estructurados o datos que se
almacenan de forma remota en varios
servidores virtuales en la nube.
3. ¿Por qué aparecen los
sistemas NoSQL?
Las bases de datos relacionales no tienen nada de malo:
Precisamente gracias al transcurso de los años, hemos logrado
aprender técnicas bastante comunes para normalizarlas en la
medida de lo posible, escalarlas según crece la demanda, y
utilizarlas como sistema de persistencia para almacenar
información desde nuestro lenguaje procedural u orientado a
objetos favorito (entre otros). La cuota de uso de software como
SQLite, MySQL, PostgreSQL u Oracle, por poner cuatro
ejemplos conocidos, es muy alta, encontrándose en la mayor
parte de los desarrollos modernos.
Los sistemas NoSQL intentan atacar este problema
proponiendo una estructura de almacenamientomás versátil,
aunque sea a costa de perder ciertas funcionalidades como las
transacciones que engloban operaciones en más de una
colección de datos, o la incapacidad de ejecutar el producto
cartesiano de dos tablas (también llamado JOIN) teniendo que
recurrir a la desnormalización de datos.
4. Inicios de NoSQL
Carlo Strozzi usó el término NoSQL en 1998 para
referirse a su base de datos. Era una base de datos
open-source, ligera, que no ofrecía un interface SQL,
pero sí seguía el modelo relacional, Strozzi sugiere que,
ya que el actual movimiento NoSQL "Se sale
completamente del modelo relacional, debería, por tanto,
haberse llamado 'NoREL', o algo así."
Eric Evans, un empleado de Rackspace, reintrodujo el
término NoSQL cuando Johan Oskarsson de Last.fm
quiso organizar un evento para discutir bases de datos
distribuidas de código abierto. El nombre intentaba
recoger el número creciente de bases de datos no
relacionales y distribuidas que no garantizaban ACID,
atributo clave en las RDBMS clásicas.
5. VENTAJAS
Estos sistemas responden a las
necesidades de escalabilidad horizontal
que tienen cada vez más empresas.
Pueden manejar enormes cantidades de
datos.
No generan cuellos de botella.
Escalamiento sencillo.
Diferentes DBs NoSQL para diferentes
proyectos.
Se ejecutan en clusters de máquinas
baratas.
6. DESVENTAJAS
El código abierto puede significar una "mancha" en el soporte
para las empresas.- Mientras que los principales proveedores
de RMBMS tales como Oracle, IBM y Sybase ofrecen buenos
soportes a pequeñas, medianas y grandes empresas y
típicamente start-ups, los vendedores de código abierto
esperan ofrecer un soporte comparable -con excepción de un
puñado de clientes blue-chip. Generalmente un vendedor de
código abierto no tiene el alcance global, servicios de soporte,
y la credibilidad de Oracle o IBM.
No están lo suficientemente maduros para algunas empresas.-
A pesar de sus puestas en práctica en algunas grandes
empresas, las bases de datos NoSQL aún se enfrentan a un
problema de credibilidad importante con muchas empresas.
Los críticos señalan la falta de madurez de NoSQL y los
posibles problemas de inestabilidad, mientras que citan la
madurez, y una gran funcionalidad y estabilidad de los
RDBMSes.
7.
8. ¿Qué es apache
cassandra?
Apache Cassandra es una base de
datos NoSQL distribuida y basada en un modelo
de almacenamiento de «clave-valor», de código
abierto que está escrita en Java. Permite grandes
volúmenes de datos en forma distribuida. Por
ejemplo, lo usa Twittre para su plataforma. Su
objetivo principal es la escalabilidad lineal y la
disponibilidad. La arquitectura distribuida de
Cassandra está basada en una serie de nodos
iguales que se comunican con un protocolo P2P
con lo que la redundancia es máxima. Está
desarrollada por Apache.
9. HISTORIA
Apache Cassandra fue inicialmente
desarollada en Facebook para impulsar las
búsqueda en la bandeja de entrada por
Avinash Lakshman uno de los autores
deAmazon's Dynamo y Prashant Malik.
Fue lanzada como un proyecto open
source de Google code en julio de
2008. En marzo de 2009, se transformó en
un proyecto de Apache Incubator. El 17 de
febrero de 2010 se graduó como un
proyecto de alto nivel.
10. CARACTERISTICAS
DescentralizadoTodos los nodos del clúster tiene el
mismo rol. No hay un único punto de fallo. Los datos se
distribuyen a través del clúster (por lo que cada nodo
contiene datos diferentes). No existe un nodo maestro por
lo que cada nodo puede dar servicio a cualquier
solicitud.Soporta replicación y replicación de multiples
data centerLas estrategias de replicación son
configurables . Cassandra está diseñado como un
sistema distribuido, para el despliegue de un gran número
de nodos a través de múltiples centros de datos. La
arquitectura distribuida de Cassandra esta diseñado para
desplegarse sobre multiples data center, tener
redundancia y recuperarse ante desastres.EscalabilidadEl
rendimiento de leer y escribir aumenta linealmente a
medida que se añaden nuevos nodos.
11. Se pueden agregar nuevos nodos sin necesidad de
interrumpir la ejecución de la aplicación.Tolerancia a
fallosLos datos se replican automáticamente a
múltiples nodos para recuperarse frente a fallos.
Cassandra soporta replicación a través de multiples
datacenter. Se puede reemplazar nodos que
presenten fallos sin tiempo de inactividad o
interrupción de la aplicación.ConsistenciaSe ofrece
la elección de el nivel de consistencia para las
lecturas y escrituras.Soporte MapReduceCassandra
esta integrado con Apache Hadoop para
soportar MapReduce. Tambien existe soporte
para Apache Pig y Apache Hive. Lenguaje de
consultaCassandra introduce CQL (Cassandra
Query Language), una alternativa similar a SQL para
la interfaz RPC tradicional. Existen drivers
disponibles para Java (JDBC), Python (DBAPI2),
Node.JS (Helenus), Go (gocql) and C++.
12. ARQUITECTURA
Esta es una visión general de la arquitectura orientada a los usuarios
de Cassandra Cassandra .
La información se basa principalmente en J Ellis OSCON 09
presentación ¿Por Cassandra MySQL impulsa demasiados E / S
aleatorias Soluciones basados en archivos requieren demasiados
bloqueos La nueva cara de los datos Escala hacia fuera, no hacia
arriba Balanceo de carga en línea , el crecimiento del clúster esquema
flexible Consultas orientado a Key -CAP cuenta CAP teorema El
teorema CAP ( Brewer ) establece que usted tiene que escoger dos de
consistencia , disponibilidad, tolerancia de reparto No se puede tener a
los tres al mismo tiempo y obtener una latencia aceptable. Cassandra
valora disponibilidad y tolerancia Partición ( AP ) . Soluciones de
compromiso entre la coherencia y la latencia son sintonizables en
Cassandra . Usted puede obtener una fuerte coherencia con
Cassandra (con un aumento de la latencia ) . Pero , no se puede
obtener el bloqueo de filas : es una victoria definitiva para HBase .
Nota : Hbase valora Consistencia y creación de particiones de
tolerancia ( CP )
13. La base de datos Apache Cassandra NoSQL código
abierto se ha convertido rápidamente en la plataforma de
gestión de datos preferido para Web, aplicaciones
móviles , y la IO que necesitan para escalar y realizar en
entornos distribuidos que consisten en múltiples centros
de datos y / o nubes . Sin señor de Cassandra ,
arquitectura nada compartida proporciona a las empresas
con el tiempo de actividad constante para sus
transaccionales / aplicaciones de bases de datos
operacionales , así como un modelo de datos flexible,
capaz de almacenar de hoy los tipos de datos modernos
y simplicidad operativa para facilitar la gestión de bases
de datos . La Producción- Certificado Cassandra en
Datastax Empresa se basa en código abierto Cassandra
para ofrecer una plataforma de base de datos lista para la
empresa.