El exponencial crecimiento de aplicaciones web, móviles y la entrada permanente de dispositivos conectados a internet trajo consigo un cambio en la administración de los datos y una transformación sin precedentes con respecto a como se hacía décadas atrás y de la forma como se diseñaba y operaba a nivel plataformas tecnológicas. Requerimientos provenientes de la nueva economía de Internet presionaron a las empresas emprendedoras de nuevos proyectos y soluciones, más allá de los límites de las bases de datos relacionales (RDBMS) e introdujeron un nuevo tipo de base de datos al dominio de los entornos tecnológicos: Las Arquitecturas de Tipo NoSQL.
Hay un largo camino por recorrer antes de contemplar la posibilidad de implementar una solución en una plataforma que para nuestro entorno local es totalmente nueva y está relacionado con el hecho del poco o ningún conocimiento o referencia de implementaciones que se tiene sobre las mismas.
Es por eso que se habla de un cambio de paradigma, dado que es un nuevo planteamiento para construir, implementar y soportar arquitecturas de TI de alcance masivo. Hoy estamos acostumbrados que muchos temas sean hechos a veces incuestionables, es el resultado de campañas de mercadeo y ventas de la oferta, que unido a la resignación de la demanda que ha creído y crecido pensando que no hay nada mejor disponible.
4. 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.
5. 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.
6. 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ía
Daniela
Wladimir
7. 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
8. www.infobase.com.co
Cambio de Chip
NoSQL
Creado por: Comunidad
Tiempo de uso: 8 Años
Implementado como: NoSQL
Modelo: Open Source
Orientación: Internet
Alcance: Servicios Personalizados
Resuelve problemas específicos
Crecimiento: Sin Limites
REAPRENDER
RDBMS
Creado 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
15. 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
22. 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.
23. 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
30. 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:
35. www.infobase.com.co
Bases de Datos
Centralizadas vs. Distribuidas
Archivos monolíticos ubicados en
un solo sitio en la red
Consiste en 2 o mas archivos ubicados
En diferentes sitios en la red.
SQL Databases NoSQL Databases
36. www.infobase.com.co
Bases de Datos
Centralizadas vs. Distribuidas
Monolítico Distribuido
Archivos monolíticos ubicados en
un solo sitio en la red
Consiste en 2 o mas archivos ubicados
En diferentes sitios en la red.
37. www.infobase.com.co
Escalable vs. No Escalable
Escalabilidad linear provee un crecimiento constante y
rendimiento acorde al incremento de la cantidad de procesadores.
40. 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
41. 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.
42. 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.
43. www.infobase.com.co
Netflix Chaos Monkey
Disponible codigo fuente:
https://github.com/Netflix/SimianArmy/wi
ki/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
44. 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
45. 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.
46. 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
Your
OLTP
System
47. 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
49. www.infobase.com.co
Propietario vs. Commodity
Propietario
El 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
x86
64
Dependiente
Independiente
56. 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.
VerticalScale
Horizontal Scale
61. www.infobase.com.co
Recovery vs. Resiliency
SQL Databases
Implica 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 Proactive
http://www.odbms.org/blog/2015/03/interview-seth-proctor/
62. www.infobase.com.co
Transacción vs. Evento
SQL Databases
Conjunto 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 Casos
Muchos Casos
63. www.infobase.com.co
Undo vs. Consistency Level
Undo
Copia 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)
64. www.infobase.com.co
3NF vs. Big-Data
SQL Databases
Se 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.
65. www.infobase.com.co
Pesimista vs. Realista
RDBMS Databases
Todas las operaciones
se tratan de la misma forma y siempre
teniendo en cuenta siempre lo que
pocas veces ocurre.
NoSQL Databases
Se trata cada caso como
realmente se necesita o
Se es optimista y se trata los casos de
uso especiales.
67. 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
68. 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.
69. 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.
70. www.infobase.com.co
Consultas, Reportes yTableros
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
71. 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.
72. 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.
73. 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.
74. 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.
75. 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
78. 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