Post on 22-Jan-2018
by WLADIMIR CABARCAS
Solutions Architect, INFOBASE
wcabarcas@Infobase.com.co
Twitter: @wladmircabarcas
https://www.linkedin.com/in/wladimircabarcas
http://www.meetup.com/es-ES/Apache-
Cassandra-Bogota/
www.infobase.com.co
Agenda
• Retos
• Arquitecturas RDBMS y NoSQL
• SQL vs NoSQL
• Porque hoy es cuestión de elección?
• Preguntas y Respuestas
www.infobase.com.co
Evolución de NoSQL
www.infobase.com.co
El Reto: Personalización
• En un mundo globalizado y conectado
como el de hoy, nuevas necesidades
requieren de nuevos servicios.
• La personalización es (será en
Colombia) una condición mínima para
considerar un servicio en línea de
calidad aceptable.
• En el pasado considerar tratar a cada
cliente individualmente era impensable
por el volumen de datos en
plataformas tecnológicamente
limitadas y costosas.
www.infobase.com.co
El Reto: Internet de las Cosas
• Información que
actualmente no se
almacena, debe ser
guardada adecuadamente
para ser procesada y
cubrir cualquier tipo de
necesidades a través de
nuevos productos y
servicios.
www.infobase.com.co
El Reto: Ser Predictivos
Los negocios deberán ajustar
sus estrategias para conocer
mas a sus clientes basado en
sus hábitos de consumo y así
brindarle los productos y
servicios que mas se acomoden
a sus necesidades y preferencias,
si realmente quieren sobrevivir
en un mercado cada vez mas
exigente.
Eliana Juan Camilo
MaríaDaniela
Wladimir
www.infobase.com.co
La Frase
“If the only tool you have is a
hammer, everything looks like a
nail”…“Si la única herramienta que tienes es un martillo,
todo se ve como un clavo”
Abraham Maslow’s - The Psychology of science
www.infobase.com.co
Cambio de Chip
NoSQLCreado por: Comunidad
Tiempo de uso: 8 AñosImplementado como: NoSQL
Modelo: Open Source
Orientación: Internet
Alcance: Servicios PersonalizadosResuelve problemas específicos
Crecimiento: Sin Limites
REAPRENDER
RDBMSCreado por: E.F. Codd
Tiempo de uso: 44 años
Implementado como: RDBMS
Modelo: Licenciado
Orientación: Mundo Empresarial
Alcance: Servicios Impersonales
Dice resolver todos los problemas
Crecimiento: Limitado
www.infobase.com.co
Alcance RDBMS : Sistemas
Empresariales
www.infobase.com.co
Data Evolution
www.infobase.com.co
Arquitecturas RDBMS
www.infobase.com.co
Arquitecturas RDBMS
AM
BIE
NTE
AC
TIV
O
AM
BIE
NTE
PASI
VO
www.infobase.com.co
Arquitecturas RDBMS
AM
BIE
NTE
AC
TIV
O
AM
BIE
NTE
PASI
VO
www.infobase.com.co
El reto: SmartApps e
Internet de las Cosas con RDBMS
www.infobase.com.co
Empezando el proyecto…
“Si la única herramienta que tienes es un motor de bases de datos relacional (martillo), todo se resuelve con tablas y llaves foráneas (clavos)”
Jefe
Desarrolladores
www.infobase.com.co
Asumir el reto:
Proyecto SmartApp con RDBMS
www.infobase.com.co
Asumir el reto:
Proyecto SmartApp con RDBMS
www.infobase.com.co
Desarrollando el proyecto…
DesarrolladorProducto
Herramienta
“Si la única herramienta que tienes es un motor de bases de datos relacional (destornillador), todo se resuelve con tablas y llaves foráneas (clavos)”
www.infobase.com.co
Funcionara?
www.infobase.com.co
Empezando a crecer pasan cosas…
www.infobase.com.co
Y con crisis de éxito: Que hacer?
Tu Producto
Tu Empresa
Tu opción
www.infobase.com.co
Precisamente esto le paso a los
grandes…
Twitter inició con una base de datos monolítica
accedida por una aplicación Rails centralizada.
Facebook began as a monolithic relational
database accessed by a monolithic PHP
application.
Amazon began as a monolithic relational
database accessed by a monolithic C++
application.
https://gigaom.com/2010/11/05/nosql-is-for-the-birds/
http://techblog.netflix.com/2011/01/nosql-at-netflix.html
Netflix began as a monolithic relational
constrained database in his own
datacenter.
www.infobase.com.co
Que hizo por ejemplo: Facebook
http://www.nosql.es/blog/wp-content/uploads/2010/04/bigtable-osdi06.pdf
http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
www.infobase.com.co
Para nosotros que opciones hay?
1. Open Source
www.infobase.com.co
Pague lo que
pide
su fabricante
Para nosotros que opciones hay?
2. Pagar +HW y +SW
www.infobase.com.co
El aprendizaje:
www.infobase.com.co
Pensar Grande: SmartApps e
Internet de las Cosas con NoSQL
www.infobase.com.co
NoSQL: Características
Principales
Con Soporte
Particionamiento y Replicación incluidos
www.infobase.com.co
Arquitecturas NoSQL
Clusters Multiregion
ACTIVO/ACTIVO
Clusters MultiDatacenter
ACTIVO/ACTIVOMasterless
Architecture
www.infobase.com.co
Arquitectura Multipropósito
Cada nodo (Memoria, CPU y Disco) de un clúster Cassandra puede destinarse para distintos propósitos sin afectar o degradar el servicio principal para el cual fue creado.
Al no haber datos compartidos, cada nodo consume recursos de forma aislada de los otros siendo innecesario controlar el uso de recursos como en los RDBMS eliminando la necesidad de implementar ETL’s.
O
O
O
A
A
A
S
S
Analytics
Search
OLTP:
www.infobase.com.co
Casos de Uso NoSQL
Mensajería
Internet de las Cosas (IOT)
Detección de FraudesPlaylists
Personalización
www.infobase.com.co
Alcance NoSQL: Sistemas
Masivos
www.infobase.com.co
Alcance NoSQL: Sistemas
MasivosCassandra on
www.infobase.com.co
SmartApps e Internet de las
Cosas
www.infobase.com.co
Bases de Datos
Centralizadas vs. Distribuidas
Archivos monolíticos ubicados enun solo sitio en la red
Consiste en 2 o mas archivos ubicados En diferentes sitios en la red.
SQL Databases NoSQL Databases
www.infobase.com.co
Bases de Datos
Centralizadas vs. Distribuidas
Monolítico Distribuido
Archivos monolíticos ubicados enun solo sitio en la red
Consiste en 2 o mas archivos ubicados En diferentes sitios en la red.
www.infobase.com.co
Escalable vs. No Escalable
Escalabilidad linear provee un crecimiento constante y
rendimiento acorde al incremento de la cantidad de procesadores.
www.infobase.com.co
noSQL: “Not Only SQL”
SQL Databases NoSQL Databases
Relational
Analytical (OLAP)
Key-Value Column-Family
Graph Document
www.infobase.com.co
noSQL: “Not Only SQL”
SQL Databases NoSQL Databases
Relational
Analytical (OLAP)
Key-Value Column-Family
Graph Document
www.infobase.com.co
Modelado: Cambio de Chip
• No pensar de forma relacional
(pensar en anidamientos)
• Al modelar datos pensar
primero en cumplir las
consultas del servicio (no en
agregaciones o reportes)
• Repetir algunos datos esta
bien! (es BigData)
• No hay constraints de llave
foránea (hay colecciones)
• No Joins en CQL (si con
Spark)
2D: Filas x Columnas
3D+:
Anidamientos
www.infobase.com.co
Relaciones vs. Colecciones
SQL Databases NoSQL Databases
Las llaves foráneas obligan a crear
entidades externas con las que se
debe establecer una relación
permanente para mantener
integridad y para acceder a la
información.
Los datos están dispersos.
Las colecciones eliminan la
dependencia de entidades externas,
es posible acceder a los datos sin
establecer relación alguna con otra
entidad ya que, Todo esta dentro
en la misma fila.
www.infobase.com.co
Control vs. Caos
SQL Databases NoSQL Databases
Para los sistemas monolíticos el
caos equivale a sistema fuera de
línea, no se planifica ni se puede
controlar.
El sistema se cae.
Para los sistemas distribuidos el
caos además de tener probabilidad
de ocurrencia, es posible
desarrollar, planear, ejecutar y
controlarlo.
El sistema no se cae.
www.infobase.com.co
Netflix Chaos Monkey
Disponible codigo fuente: https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey
• Toda la infraestructura corre
sobre AWS
• +2700 nodos Cassandra en
producción
• 218 reiniciados (8%)
• 22 tuvieron fallo de hardware y
nunca subieron
• Los nodos que se perdieron
fueron reemplazados de forma
automatizada
• 0 downtime ese fin de semana
https://vimeopro.com/user35188327/cassandra-summit-2015/video/140949186
http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html
www.infobase.com.co
Mutable vs. Immutable
SQL Databases NoSQL Databases
Los datos son sobrescritos
considerando guardar una copia
del dato en otra estructura
para recuperación y
consistencia de lectura.
El dato anterior se preserva y
siempre se sabe cual es la
ultima versión del mismo a
través de timestamps utilizados
para dar consistencia de lectura
www.infobase.com.co
Strong vs. Eventual Consistency
SQL Databases NoSQL Databases
Se garantiza consistencia mediante
mecanismos de bloqueo,
encolamiento, copiado y sobre-
escritura del dato original para
lecturas y escrituras. Es la misma
regla para todos los casos de
uso.
La consistencia es configurable por
caso de uso, definir el nivel de
consistencia fuerte o relajada
permite tratar cada caso acorde a
su importancia. Reglas diferentes
para cada caso de uso.
www.infobase.com.co
Joins & Summaries
Los sistemas transaccionales son para
prestar servicios transaccionales no
para hacer cálculos o agregaciones
mientras se presta el servicio.
No se suministra en primera instancia
esta capacidad, sin embargo al ser Big-
Data puede desplegarse reporting y
análisis sin afectar servicio. ¿Cómo?
Joins &Aggregates
DBA/Dev
SQL Database NoSQL Database
YourOLTP
System
www.infobase.com.co
Quien es el optimizador?
SQL Database NoSQL Database
Query Optimizer
Es el secreto mejor guardado de
los RDBMS, ‘mejora’ con cada nueva
versión y cada vez menos el
desarrollador tiene el control de
acceso a los datos.
Somos la Capa 8!!
No hay ningún secreto, es el
desarrollador quien decide el acceso
a los datos. De acuerdo a las
consultas se construyen las tablas sin
tener en cuenta duplicación de datos
www.infobase.com.co
Layers en SQL y NoSQL
RDBMS Database NoSQL Database
Application
Database
Database
Application
Data Access, Consistency
Replication, Storage Mgmt
Lightweigth Transactions
Servicios Provistos
Stored Procedures
Transactions
Constraints
Query Optimization
Joins, Summaries
www.infobase.com.co
Propietario vs. Commodity
PropietarioEl fabricante es dueño del chip y
Soporta el hardware y SO, promueve
su software optimizando sobre estos.
Commodity
Intel es el dueño del chip, cualquier
fabricante soporta el hardware,
el SO y el software corre en cualquier
servidor x86, RAID 1 y almacenamiento SSD
x8664
DependienteIndependiente
www.infobase.com.co
Scale-Up (Vertical:RDBMS)
Crecimiento?
www.infobase.com.co
Scale-Up (Vertical:RDBMS)
Verti
calS
cale Es adicionar mas
cpu, memoria,
discos, bajar
latencia de
LAN/storage y
sumar nuevas
licencias y soporte.
www.infobase.com.co
Scale-Up (Vertical:RDBMS)
Verti
calS
cale
Una versión
modificada de
crecimiento vertical
adiciona nuevas
maquinas o racks en
un entorno
monolítico. También
se suman nuevas
licencias y soporte.
www.infobase.com.co
Scale-Out (Horizontal:NoSQL)
Crecimiento?
www.infobase.com.co
Scale-Out (Horizontal:NoSQL)
Horizontal Scale
Es adicionar
nuevos
commodity
servers y
sumar el
soporte del
software.
www.infobase.com.co
Scale-Out (Horizontal-NoSQL)
Horizontal Scale
Es adicionar
nuevos
commodity
servers y
sumar el
soporte del
software.
www.infobase.com.co
Scale-Up vs. Scale-Out
Necesita Crecer?
Adicionar mas CPU, memoria,
discos, bajar latencia LAN, storage,
licencias y Soporte.Necesita Crecer?
Solo adicione nuevas maquinas y soporte.
Verti
calS
cale
Horizontal Scale
www.infobase.com.co
Share Disks vs. Share Nothing
Single Point Of Failure No SPOF
www.infobase.com.co
Share Disks vs. Share Nothing
Single Point Of Failure No SPOF
www.infobase.com.co
Share Disks vs. Share Nothing
Single Point Of Failure No SPOF
www.infobase.com.co
Master-Slave vs. Peer to Peer
Master Dependiente Masterless
www.infobase.com.co
Recovery vs. Resiliency
SQL DatabasesImplica downtime y los sistemas
deben sufrir una caída antes de
continuar operaciones.
NoSQL Databases
Se refiere a la habilidad de un
sistema para asumir el impacto de
cualquier evento sin sufrir indisponibilidad.
Reactive Proactivehttp://www.odbms.org/blog/2015/03/interview-seth-proctor/
www.infobase.com.co
Transacción vs. Evento
SQL DatabasesConjunto de operaciones vistas
como una sola y usados como
mecanismo de recuperación.
NoSQL Databases
Es una situación que ocurre en
el tiempo, tiene unas características
propias y se registra como tal.
Pocos CasosMuchos Casos
www.infobase.com.co
Undo vs. Consistency Level
UndoCopia del dato original en otra
estructura con sobreescritura
del dato en el datafile.
Se utiliza la copia para consistencia
de lectura
Consistency Level
Se valida consistencia de lectura ante las
replicas. Se adicionan nuevos datos
con timestamp. Se marcan los borrados
sin sobreescritura
Mutable(Overwrite) Immutable (Append)
www.infobase.com.co
3NF vs. Big-Data
SQL DatabasesSe modela siempre con el objetivo
de ahorrar espacio y luego para
consultar hay que desnormalizar
haciendo joins y mas joins.
Big-Data
No esta mal que algunos datos
se repitan en el modelo, el espacio en disco
no es hoy el problema que era en el pasado.
No se hacen joins en entornos operativos.
www.infobase.com.co
Pesimista vs. Realista
RDBMS DatabasesTodas las operaciones
se tratan de la misma forma y siempre
teniendo en cuenta siempre lo que
pocas veces ocurre.
NoSQL DatabasesSe trata cada caso como
realmente se necesita o
Se es optimista y se trata los casos de
uso especiales.
www.infobase.com.co
Porque es Cuestión de
Elección?
www.infobase.com.co
Datos como Clave para el
crecimiento
Comprobado
El cambio ha estado en
proceso por mas de una
década. Los medios
sociales lideran el camino
y todos nos hemos visto
involucrados
Supuesto
Para la mayoría de
empresas los datos siguen
siendo su activo pero no
es un factor influyente
para el mejoramiento de
sus productos y servicios
www.infobase.com.co
Realidad del Big Data
No hay empresa que no
pueda implementarlo.
Información que proviene de
fuentes no convencionales
tales como texto, social,
sensores es un insumo
fundamental del proceso de
cambio de las empresas.
Ha transformado solo a
algunas empresas de
Internet.
No es algo que sea
cuantificable actualmente en
beneficios.
Todo el mundo habla del
tema y no hay una solución
tangible basada en esta.
www.infobase.com.co
Mercado de los DBMS
Han crecido pero nadie los
conoce.
Son de código abierto,
soportan compatibilidad a
futuro y tienen soporte
especializado.
CSV es aún el estándar!
Asumieron el reto y
mercadean que ellos ya son
Big Data
Tarde o temprano toda
innovación será absorbida
por los jugadores RDBMS
del mercado como antes ha
sucedido.
www.infobase.com.co
Consultas, Reportes y Tableros
Muchas herramientas
nuevas.
Hacen real time,
almacenan pero no
visualizan grandes
volúmenes, no soportan
descubrimiento y
exploración.
Herramientas maduras y
estables
Hay dos generaciones de
analistas entrenados y
con la suficiente
experiencia para seguir
utilizando estas
herramientas
www.infobase.com.co
Commodity Hardware y Scale-Out
Es una topología nueva y
probada.
Son equipos distribuidos
marca irrelevante, poco
inteligentes, con discos
locales que brindan
escalabilidad y alta
disponibilidad
La tecnología actual sigue
vigente y ha demostrado
que funciona.
El procesamiento vertical y
almacenamiento monolítico
es el camino.
Ante fallos se tiene una
copia de solo lectura.
www.infobase.com.co
Structured Query Language
Es diferente, difícil o no
existe.
Muy complejo, hay que
codificar mucho y es difícil
de depurar.
Es la clave para asegurar la
dependencia de los RDBMS.
Probado y Verdadero
Lenguaje expresivo y
poderoso para resolver
problemas analíticos.
Por este, los fabricantes
NoSQL se reinventan todo
el tiempo.
www.infobase.com.co
Modelos de programación
Nuevos por conocer.
Nuevos problemas analíticos
(decisión, descubrimiento y
exploración) requieren de
nuevos lenguajes,
herramientas y modelos de
programación
Es mejor lo conocido.
Código abierto no
significa que sea gratis y
mucho menos fácil,
incompatible entre
versiones del mismo
lenguaje.
www.infobase.com.co
Procesamiento en Línea - OLTP
Nuevas necesidades,
crearon nuevas soluciones.
Nuevos modelos como CAP
garantizan la solución de
casos de uso específicos
cumpliendo expectativas
funcionales y de crecimiento.
Es preferible pagar lo
conocido y seguir
confiando.
La consistencia de los datos
bajo el modelo ACID es lo
mas seguro que existe y
cubre todos los casos de
uso.
www.infobase.com.co
La Nube
Es mejor no llegar hasta allá
o ir con el fabricante.
Seguridad a este nivel es
una contradicción.
Costos bajos a cambio de
dependencia.
Bajos Costos
Seguridad Comprobada
Herramientas no
dependientes del fabricante
Crecimiento viable
financieramente
www.infobase.com.co
Cual escoges?
www.infobase.com.co
Comunidad Cassandra
http://www.planetcassandra.org
Cursos de Cassandra
GRATIS
https://academy.datastax.com/
www.infobase.com.co
Gracias por su atención
Contacto:
Wladimir Cabarcas G
Arquitecto de Soluciones
wcabarcas@infobase.com.co
Twitter:
@wladmircabarcas
INFOBASE, SAS
www.infobase.com.co
Colombia