SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Oracle Coherence
Leonardo Torres Altez – Solutions Architect
@leonardo_ta
Nuestros
Servicios
3270 / 5250 JEE
3270 / 5250 .NET
GUI Web
4GL COBOL
ASP JEE
JEE / .NET
.NET / host
EAI
BPM
JEE / host
SOA
RIA / SOA
TECNOLOGÍA
FORMACIÓN
IBM SOFTWARE
METODOLÓGICA
CALIDAD
PRODUCTIVIDAD
OPEN SOURCE
CONSTRUCCIÓN
PLUG-INS
ECLIPSE
TUNING
PRODUCTIVIDAD
OPTIMIZACIÓN
ARQUITECTURA
JEE / .NET
SOPORTE
VIRTUALIZACIÓN
WAS
24 X 7
TÉCNICA DE
SISTEMAS
GESTIÓN
DOCUMENTAL
Servicios de
Migración
Servicio de
Integración
Servicios de
Consultoría
Servicios
Avanzados de
Arquitectura
SistemasServicios de
Desarrollo
Web
DESARROLLO
JEE/ .NET / PHP
PORTALES / CMS
RIA / REA
USABILIDAD
DISEÑO
MAQUETACIÓN
OPEN SOURCE
CENTRO DE
DESARROLLO
MÓVILES
Agenda
• Overview
• Cómo funciona Oralce
Coherence
• Montar
• Monitorizar / Operar
• Mas funcionalidad
• Demo
• Preguntas
Oracle®, Java™ are trademarks or registered trademarks of Oracle
Corporation and/or its affiliates.
Overview - ¿Qué es Coherence?
• Sistema con :
– Lectura y/o escritura intensiva de datos
– Procesamiento intenso de datos
• Sistema requiere :
– Bajar tiempos de respuesta
– Acceso transaccional
• Sistema con problemas de :
– Escalabilidad con su repositorio de datos
( costoso! )
– Disponibilidad
– Arquitectura cada vez más compleja
Overview – Problema
• Escalar verticalmente
– Más Memoria
– Más CPU
• Escalar horizontalmente
– Clustering de aplicaciones
• Web – session stickiness
• Load balance
– Caching
• Sincronización de la cache en el
cluster
Overview – Solución SIN Coherence
Overview – Solución cache
WEB
ORM
BD
Overview – Solución cache
La opción mas interesante!
• Coherence como repositorio de datos (
GBs )
– Clustering , soportando HA
– Sincronización con la base de datos (
asíncrono )
– Auto Load Balance
– Querys, Índices , procesos ( paralelo) .
Overview
Con CoherenceSin Coherence
Overview
Overview – Problema
Antes Ahora
Coste memoria
 
Cantidad request
 
Cantidad/procesamie
nto de datos
 
Escalamiento de
bases de datos
 
Alta disponibilidad
de bases de datos
 
Soluciones Bigdata!
Cómo funciona
• Nodos Coherence - JVMs
• Cluster Coherence HA ( distribuido , replicado , near )
• Estructura del caché – NamedCache
• Primary vs Backup data
Cómo funciona Coherence - Terminología
• Los datos son esparcidos entre los
nodos del cluster. ( JVMs )
• Transparente al desarrollador.
• Cada miembro tiene acceso a todos
los datos.
• Todas las localizaciones de datos son
conocidas – no hace falta lookup!
• Un nodo nuevo se une
automáticamente.
• Balanceo de carga automático.
NamedCache paises =
CacheFactory.getCache(“paises");
paises.put(‘JPN’,‘Japon’);
Cómo funciona Coherence
Cómo funciona Coherence – Portable Object
• Portable Object es el tipo de serialización mas rápida
y efectiva para Coherence.
@Portable
public class Customer
{
@PortableProperty
private int customerId;
@PortableProperty
private String name;
@PortableProperty
private String region;
@PortableProperty
private float creditLimit;
...
}
NamedCache customers= …
customers.put(customerId,c
ustomerObj);
1
2
Cómo funciona Coherence – Portable Object
• Portable Object es el
tipo de serialización
mas rápida y efectiva
para Coherence.
• Tamaño mínimo
serializado
• Optimo para la red
• Extracción de
propiedades cuando
esta serializado
• Si un nodo deja de funcionar, se
usa el backup de los datos que
se encuentra en otro nodo.
• Coherence redistribuye los
datos en los nodos buenos.
String japon =
paises.get(‘JPN’);
Cómo funciona Coherence
• Write-Behind acepta
modificaciones a datos
directamente en el Grid
Coherence.
• Las modificaciones son luego
escritas asíncronamente al
repositorio de datos ( ej: base
de datos ), vía una cola,
opcionalmente después de un
retardo.
• Todos los write-behind de
datos son síncronos y
manejados con redundancia,
haciendo la operación
resistente a fallos.
Cómo funciona Coherence – Write Behind
• Acceso a los repositorios de
datos mediante el Data Grid.
• Operaciones Read / Write son
siempre manejadas por el nodo
que maneja esos datos.
• Los accesos concurrentes son
combinados , reduciendo los
accesos a base de datos.
• Write-Through mantiene los
datos en memoria y base de
datos sincronizada.
Cómo funciona Coherence Read-Through & Write-Through
Cómo funciona Coherence - Filtros / Queries
• Se pueden encontrar los datos no solo por la
clave :
– Se puede usar el API de filtros.
select homeAddress.state, age, count()
from "ContactInfoCache"
group by homeAddress.state, age
 Se puede hacer queries y agregaciones usando
Coherence Query Languaje CQL.
Filter filter = new
EqualsFilter("getId.getAccountId",123);
Cómo funciona Coherence - Processors
• Coherence también es sistema
de procesamiento en paralelo.
class StockSplitProcessor
extends AbstractProcessor {
Object process(Entry entry) {
Stock stock =
(Stock)entry.getValue();
stock.quantity *= 2;
entry.setValue(stock);
return null;
}
}
• En topología distribuida cada nodo
de Coherence guarda una parte de
los datos primary y una parte del
backup.
• Alta disponibilidad y tolerancia a
fallos 100%
• Vista lógica del 100% de datos
desde cualquier nodo.
Cómo funciona Coherence - Distribuido
 Todos los nodos verifican la salud de
otro nodo.
 Si un nodo no responde, se retira
del cluster.
 La data primaria y backup se
redistribuye entre los nodos activos.
 Si un nodo nuevo se une al cluster
igualmente se redistribuyen los
datos
Cómo funciona Coherence – Health check
• Coherence permite registrar el interés en un
elemento de cache especifico: inserts, updates,
deletes .
• No es necesario hacer pool a Coherence para ver si
un dato ha cambiado.
Cómo funciona Coherence – Cache events
• Las operaciones en el grid son
transaccionales.
• Se garantiza la consistencia de los
datos en memoria.
• La combinación de escalabilidad y
rendimiento hace Oracle
Coherence óptima para
aplicaciones con grandes cargas
transaccionales.
Cómo funciona Coherence - Transacciones
Cómo funciona Coherence - Transacciones
...
Connection con = new DefaultConnectionFactory().
createConnection("TransactionalCache");
con.setAutoCommit(false);
try
{
OptimisticNamedCache cache =
con.getNamedCache("MyTxCache");
cache.insert(key, value);
cache.insert(key2, value2);
con.commit();
catch (Exception e)
{
con.rollback();
throw e;
}
finally
{
con.close();
}
...
Cómo funciona Coherence
Topología de Cache : Distribuido vs Replicado
Distribuido Replicado
Escalable Mejor, menos
memoria
Se necesita mas
memoria
Updates poca
latencia
Si No, se tiene que
recorrer todos los
nodos
Mientras mas nodos
toma mas tiempo
Lecturas de un dato Máximo dos
conexiones
Una conexión, no
latencia
Lecturas de
colecciones de datos
( CQL )
N conexiones Una conexión, no
latencia
Montar Coherence
1 definir el sizing del cluster
– Cuanto heap en total (GBs) ?
• Cuanta heap cada JVM
– Que maquinas lo conforman
• host1:puerto1, host2:puerto2 ..
– Cuanto CPU por maquina ?
Montar Coherence
<coherence >
<cluster-config>
<member-identity>
<cluster-name>thecluster</cluster-name>
</member-identity>
<multicast-listener>
<address>224.3.6.0</address>
<port>9100</port>
<time-to-live>0</time-to-live>
</multicast-listener>
</cluster-config>
</coherence>
tangosol-coherence-override.xml
2 definir las caches del cluster
– Replicado, distribuido , near
– Tamaño MB de cada cache
– Definir los clientes ( Ejemplo :
JEE contenedor Web )
Montar Coherence
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>paises</cache-name>
<scheme-name>my-distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>my-distributed</scheme-name>
...
</distributed-scheme>
</caching-schemes>
</cache-config>
coherence-cache-config.xml
3 definir los objetos serializados
– Común POF
– Serializacion custom
Montar Coherence
<pof-config>
<user-type-list>
<user-type>
<type-id>1002</type-id>
<class-name>com.domain.Pais
</class-name>
</user-type>
</user-type-list>
</pof-config>
pof-config.xml
4 definir carga, sincronización ,
pruebas y tuning .
• La carga debe ser rápida
• Definir método de
sincronización con la base de
datos
• Pruebas, tuning
– Xmx , hilos, caches
– overload de memoria
Montar Coherence
Monitorizar / Operar
Monitorizar / Operar Coherence
• Monitorizar : expone beans JMX
– Oracle Enterprise Manager
– Visual VM
Monitorizar / Operar Coherence
• Consola Administración : Node Manager
Mas funcionalidad
Mas funcionalidad – Coherence
Extend
• Para acceder desde C++ / .NET
• Acceder a múltiples clusters desde un solo proceso
• Acceder a un cluster desde múltiples clientes ( Apps )
• Balanceo de carga
Mas funcionalidad – Backup
asíncrono
• Mejora performance
• Cuando no se necesita consistencia
<async-backup>true</async-backup>
Mas funcionalidad – Rolling
restart / upgrade
• Reiniciar cada servidor en secuencia, útil cuando se
requiere hacer un reinicio de todo el cluster sin
perder alta disponibilidad
• Vía scripts Jython WLST
Mas funcionalidad – Hot cache
• Mantiene sincronía de otros cambios en base de
datos, vía Oracle Golden Gate
Mas funcionalidad – GAR
• Despliegue de empaquetado GAR en todo el cluster
Coherence ( Ejem : usando consola administración )
• Puede ser incluido dentro de un EAR ( Weblogic )
Mas funcionalidad – REST
• Retorna formato XML y JSON
• JAXB, JAX-RS (Jersey), Grizzly and Jackson (Apache)
• Usando un Servlet Container o un servidor web embebido
• GET/PUT/DELETE /{cache-name}/{key}
• Ejemplo :
– GET http://host:port/CoherenceWeb/rest/Department/100
– GET http://host:port/CoherenceWeb/rest/Department/location1700
<rest>
<resources>
<resource>
<cache-name>Department</cache-name>
<key-class>java.lang.Integer</key-class>
<value-class>nl.amis.model.hr.Department</value-class>
<query>
<name>location1700</name>
<expression>locationId is 1700</expression>
</query>
</resources>
</rest>
coherence-rest-config.xml
DEMO
Demo - Grafo de red social
1. 149 000 registros de nodos
2. Conexiones bidireccionales entre los nodos estilo
twitter.
3. Base de Datos MySQL vs Coherence
Preguntas :
• Cuantas conexiones tiene en promedio determinado
grupo ?
• Cual es la edad mínima en determinado grupo ?
• Cuantas pasos de conexión promedio hay entre dos
nodos aleatorios ?
Demo - Grafo de red social
Demo - Grafo de red social
Demo - Grafo de red social
Diagrama de
clases
desnormalizado
Diagrama
EER
• 500 hilos , 10 segundos , 40 veces
• Cada hilo : persona aleatoria sus datos y los de todos
sus followers.
• Resultados Coherence
• Resultados Mysql
Demo - Grafo de red social
Preguntas
Oracle Coherence Cache

Más contenido relacionado

La actualidad más candente

MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaKeith Hollman
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cGustavo Rene Antunez
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Valentin Leonard Tabacaru
 
Oracle 12c Transaction Guard and Application Continuity
Oracle 12c Transaction Guard and Application ContinuityOracle 12c Transaction Guard and Application Continuity
Oracle 12c Transaction Guard and Application ContinuityJulio
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Nelson Calero
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateRubén Aguilera
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresqljockbrera
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGuatemala User Group
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Manuel Contreras
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012dbLearner
 

La actualidad más candente (20)

Oracle rac
Oracle racOracle rac
Oracle rac
 
OTN Tour 2015 AROUG
OTN Tour 2015 AROUGOTN Tour 2015 AROUG
OTN Tour 2015 AROUG
 
Jdbc
JdbcJdbc
Jdbc
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
Meetup spark + kerberos
Meetup spark + kerberosMeetup spark + kerberos
Meetup spark + kerberos
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
Clústers Alta Disponibilidad
Clústers Alta DisponibilidadClústers Alta Disponibilidad
Clústers Alta Disponibilidad
 
Arquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12cArquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12c
 
OSGi
OSGiOSGi
OSGi
 
Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2
 
Oracle 12c Transaction Guard and Application Continuity
Oracle 12c Transaction Guard and Application ContinuityOracle 12c Transaction Guard and Application Continuity
Oracle 12c Transaction Guard and Application Continuity
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Clúster de alta Disponibilidad
Clúster de alta DisponibilidadClúster de alta Disponibilidad
Clúster de alta Disponibilidad
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresql
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de información
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 

Destacado

Destacado (20)

Redes Sociales En Educacion
Redes Sociales En EducacionRedes Sociales En Educacion
Redes Sociales En Educacion
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Fundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10gFundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10g
 
Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02
 
Java server faces
Java server facesJava server faces
Java server faces
 
Manualoracle 1
Manualoracle 1Manualoracle 1
Manualoracle 1
 
Manula Oracle 2
Manula Oracle 2Manula Oracle 2
Manula Oracle 2
 
Oracle
OracleOracle
Oracle
 
Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01
 
Tutorial Jsf
Tutorial JsfTutorial Jsf
Tutorial Jsf
 
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’s
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Tipos de Datos de Oracle
Tipos de Datos de OracleTipos de Datos de Oracle
Tipos de Datos de Oracle
 
Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11
 
FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
 FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB
 

Similar a Oracle Coherence Cache

Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en AzureGermán Küber
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresEnrique Catala Bañuls
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12cEdelweiss Kammermann
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureJoseph Lopez
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosRonald Francisco Vargas Quesada
 
Sockets y Threads en Java
Sockets y Threads en JavaSockets y Threads en Java
Sockets y Threads en JavaJose Jordan
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013Erik Gur
 
Bases de Datos Analiticas-Columnares
Bases de Datos Analiticas-ColumnaresBases de Datos Analiticas-Columnares
Bases de Datos Analiticas-ColumnaresStratebi
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Romén Rodríguez-Gil
 

Similar a Oracle Coherence Cache (20)

Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Aplicaciones escalables en Azure
Aplicaciones escalables en AzureAplicaciones escalables en Azure
Aplicaciones escalables en Azure
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
De Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache KafkaDe Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache Kafka
 
Gapand2017 rediscahe
Gapand2017 rediscaheGapand2017 rediscahe
Gapand2017 rediscahe
 
Codemotion cacheandolanube
Codemotion cacheandolanubeCodemotion cacheandolanube
Codemotion cacheandolanube
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 
Sockets y Threads en Java
Sockets y Threads en JavaSockets y Threads en Java
Sockets y Threads en Java
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
Proyecto X
Proyecto XProyecto X
Proyecto X
 
Bases de Datos Analiticas-Columnares
Bases de Datos Analiticas-ColumnaresBases de Datos Analiticas-Columnares
Bases de Datos Analiticas-Columnares
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017
 
SEVILLA Meetups23032023.pdf
SEVILLA Meetups23032023.pdfSEVILLA Meetups23032023.pdf
SEVILLA Meetups23032023.pdf
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 

Último

Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Oracle Coherence Cache

  • 1. Oracle Coherence Leonardo Torres Altez – Solutions Architect @leonardo_ta
  • 2. Nuestros Servicios 3270 / 5250 JEE 3270 / 5250 .NET GUI Web 4GL COBOL ASP JEE JEE / .NET .NET / host EAI BPM JEE / host SOA RIA / SOA TECNOLOGÍA FORMACIÓN IBM SOFTWARE METODOLÓGICA CALIDAD PRODUCTIVIDAD OPEN SOURCE CONSTRUCCIÓN PLUG-INS ECLIPSE TUNING PRODUCTIVIDAD OPTIMIZACIÓN ARQUITECTURA JEE / .NET SOPORTE VIRTUALIZACIÓN WAS 24 X 7 TÉCNICA DE SISTEMAS GESTIÓN DOCUMENTAL Servicios de Migración Servicio de Integración Servicios de Consultoría Servicios Avanzados de Arquitectura SistemasServicios de Desarrollo Web DESARROLLO JEE/ .NET / PHP PORTALES / CMS RIA / REA USABILIDAD DISEÑO MAQUETACIÓN OPEN SOURCE CENTRO DE DESARROLLO MÓVILES
  • 3. Agenda • Overview • Cómo funciona Oralce Coherence • Montar • Monitorizar / Operar • Mas funcionalidad • Demo • Preguntas Oracle®, Java™ are trademarks or registered trademarks of Oracle Corporation and/or its affiliates.
  • 4. Overview - ¿Qué es Coherence?
  • 5. • Sistema con : – Lectura y/o escritura intensiva de datos – Procesamiento intenso de datos • Sistema requiere : – Bajar tiempos de respuesta – Acceso transaccional • Sistema con problemas de : – Escalabilidad con su repositorio de datos ( costoso! ) – Disponibilidad – Arquitectura cada vez más compleja Overview – Problema
  • 6. • Escalar verticalmente – Más Memoria – Más CPU • Escalar horizontalmente – Clustering de aplicaciones • Web – session stickiness • Load balance – Caching • Sincronización de la cache en el cluster Overview – Solución SIN Coherence
  • 7. Overview – Solución cache WEB ORM BD
  • 9. La opción mas interesante! • Coherence como repositorio de datos ( GBs ) – Clustering , soportando HA – Sincronización con la base de datos ( asíncrono ) – Auto Load Balance – Querys, Índices , procesos ( paralelo) . Overview
  • 11. Overview – Problema Antes Ahora Coste memoria   Cantidad request   Cantidad/procesamie nto de datos   Escalamiento de bases de datos   Alta disponibilidad de bases de datos   Soluciones Bigdata!
  • 13. • Nodos Coherence - JVMs • Cluster Coherence HA ( distribuido , replicado , near ) • Estructura del caché – NamedCache • Primary vs Backup data Cómo funciona Coherence - Terminología
  • 14. • Los datos son esparcidos entre los nodos del cluster. ( JVMs ) • Transparente al desarrollador. • Cada miembro tiene acceso a todos los datos. • Todas las localizaciones de datos son conocidas – no hace falta lookup! • Un nodo nuevo se une automáticamente. • Balanceo de carga automático. NamedCache paises = CacheFactory.getCache(“paises"); paises.put(‘JPN’,‘Japon’); Cómo funciona Coherence
  • 15. Cómo funciona Coherence – Portable Object • Portable Object es el tipo de serialización mas rápida y efectiva para Coherence. @Portable public class Customer { @PortableProperty private int customerId; @PortableProperty private String name; @PortableProperty private String region; @PortableProperty private float creditLimit; ... } NamedCache customers= … customers.put(customerId,c ustomerObj); 1 2
  • 16. Cómo funciona Coherence – Portable Object • Portable Object es el tipo de serialización mas rápida y efectiva para Coherence. • Tamaño mínimo serializado • Optimo para la red • Extracción de propiedades cuando esta serializado
  • 17. • Si un nodo deja de funcionar, se usa el backup de los datos que se encuentra en otro nodo. • Coherence redistribuye los datos en los nodos buenos. String japon = paises.get(‘JPN’); Cómo funciona Coherence
  • 18. • Write-Behind acepta modificaciones a datos directamente en el Grid Coherence. • Las modificaciones son luego escritas asíncronamente al repositorio de datos ( ej: base de datos ), vía una cola, opcionalmente después de un retardo. • Todos los write-behind de datos son síncronos y manejados con redundancia, haciendo la operación resistente a fallos. Cómo funciona Coherence – Write Behind
  • 19. • Acceso a los repositorios de datos mediante el Data Grid. • Operaciones Read / Write son siempre manejadas por el nodo que maneja esos datos. • Los accesos concurrentes son combinados , reduciendo los accesos a base de datos. • Write-Through mantiene los datos en memoria y base de datos sincronizada. Cómo funciona Coherence Read-Through & Write-Through
  • 20. Cómo funciona Coherence - Filtros / Queries • Se pueden encontrar los datos no solo por la clave : – Se puede usar el API de filtros. select homeAddress.state, age, count() from "ContactInfoCache" group by homeAddress.state, age  Se puede hacer queries y agregaciones usando Coherence Query Languaje CQL. Filter filter = new EqualsFilter("getId.getAccountId",123);
  • 21. Cómo funciona Coherence - Processors • Coherence también es sistema de procesamiento en paralelo. class StockSplitProcessor extends AbstractProcessor { Object process(Entry entry) { Stock stock = (Stock)entry.getValue(); stock.quantity *= 2; entry.setValue(stock); return null; } }
  • 22. • En topología distribuida cada nodo de Coherence guarda una parte de los datos primary y una parte del backup. • Alta disponibilidad y tolerancia a fallos 100% • Vista lógica del 100% de datos desde cualquier nodo. Cómo funciona Coherence - Distribuido
  • 23.  Todos los nodos verifican la salud de otro nodo.  Si un nodo no responde, se retira del cluster.  La data primaria y backup se redistribuye entre los nodos activos.  Si un nodo nuevo se une al cluster igualmente se redistribuyen los datos Cómo funciona Coherence – Health check
  • 24. • Coherence permite registrar el interés en un elemento de cache especifico: inserts, updates, deletes . • No es necesario hacer pool a Coherence para ver si un dato ha cambiado. Cómo funciona Coherence – Cache events
  • 25. • Las operaciones en el grid son transaccionales. • Se garantiza la consistencia de los datos en memoria. • La combinación de escalabilidad y rendimiento hace Oracle Coherence óptima para aplicaciones con grandes cargas transaccionales. Cómo funciona Coherence - Transacciones
  • 26. Cómo funciona Coherence - Transacciones ... Connection con = new DefaultConnectionFactory(). createConnection("TransactionalCache"); con.setAutoCommit(false); try { OptimisticNamedCache cache = con.getNamedCache("MyTxCache"); cache.insert(key, value); cache.insert(key2, value2); con.commit(); catch (Exception e) { con.rollback(); throw e; } finally { con.close(); } ...
  • 27. Cómo funciona Coherence Topología de Cache : Distribuido vs Replicado Distribuido Replicado Escalable Mejor, menos memoria Se necesita mas memoria Updates poca latencia Si No, se tiene que recorrer todos los nodos Mientras mas nodos toma mas tiempo Lecturas de un dato Máximo dos conexiones Una conexión, no latencia Lecturas de colecciones de datos ( CQL ) N conexiones Una conexión, no latencia
  • 29. 1 definir el sizing del cluster – Cuanto heap en total (GBs) ? • Cuanta heap cada JVM – Que maquinas lo conforman • host1:puerto1, host2:puerto2 .. – Cuanto CPU por maquina ? Montar Coherence <coherence > <cluster-config> <member-identity> <cluster-name>thecluster</cluster-name> </member-identity> <multicast-listener> <address>224.3.6.0</address> <port>9100</port> <time-to-live>0</time-to-live> </multicast-listener> </cluster-config> </coherence> tangosol-coherence-override.xml
  • 30. 2 definir las caches del cluster – Replicado, distribuido , near – Tamaño MB de cada cache – Definir los clientes ( Ejemplo : JEE contenedor Web ) Montar Coherence <cache-config> <caching-scheme-mapping> <cache-mapping> <cache-name>paises</cache-name> <scheme-name>my-distributed</scheme-name> </cache-mapping> </caching-scheme-mapping> <caching-schemes> <distributed-scheme> <scheme-name>my-distributed</scheme-name> ... </distributed-scheme> </caching-schemes> </cache-config> coherence-cache-config.xml
  • 31. 3 definir los objetos serializados – Común POF – Serializacion custom Montar Coherence <pof-config> <user-type-list> <user-type> <type-id>1002</type-id> <class-name>com.domain.Pais </class-name> </user-type> </user-type-list> </pof-config> pof-config.xml
  • 32. 4 definir carga, sincronización , pruebas y tuning . • La carga debe ser rápida • Definir método de sincronización con la base de datos • Pruebas, tuning – Xmx , hilos, caches – overload de memoria Montar Coherence
  • 34. Monitorizar / Operar Coherence • Monitorizar : expone beans JMX – Oracle Enterprise Manager – Visual VM
  • 35. Monitorizar / Operar Coherence • Consola Administración : Node Manager
  • 37. Mas funcionalidad – Coherence Extend • Para acceder desde C++ / .NET • Acceder a múltiples clusters desde un solo proceso • Acceder a un cluster desde múltiples clientes ( Apps ) • Balanceo de carga
  • 38. Mas funcionalidad – Backup asíncrono • Mejora performance • Cuando no se necesita consistencia <async-backup>true</async-backup>
  • 39. Mas funcionalidad – Rolling restart / upgrade • Reiniciar cada servidor en secuencia, útil cuando se requiere hacer un reinicio de todo el cluster sin perder alta disponibilidad • Vía scripts Jython WLST
  • 40. Mas funcionalidad – Hot cache • Mantiene sincronía de otros cambios en base de datos, vía Oracle Golden Gate
  • 41. Mas funcionalidad – GAR • Despliegue de empaquetado GAR en todo el cluster Coherence ( Ejem : usando consola administración ) • Puede ser incluido dentro de un EAR ( Weblogic )
  • 42. Mas funcionalidad – REST • Retorna formato XML y JSON • JAXB, JAX-RS (Jersey), Grizzly and Jackson (Apache) • Usando un Servlet Container o un servidor web embebido • GET/PUT/DELETE /{cache-name}/{key} • Ejemplo : – GET http://host:port/CoherenceWeb/rest/Department/100 – GET http://host:port/CoherenceWeb/rest/Department/location1700 <rest> <resources> <resource> <cache-name>Department</cache-name> <key-class>java.lang.Integer</key-class> <value-class>nl.amis.model.hr.Department</value-class> <query> <name>location1700</name> <expression>locationId is 1700</expression> </query> </resources> </rest> coherence-rest-config.xml
  • 43. DEMO
  • 44. Demo - Grafo de red social
  • 45. 1. 149 000 registros de nodos 2. Conexiones bidireccionales entre los nodos estilo twitter. 3. Base de Datos MySQL vs Coherence Preguntas : • Cuantas conexiones tiene en promedio determinado grupo ? • Cual es la edad mínima en determinado grupo ? • Cuantas pasos de conexión promedio hay entre dos nodos aleatorios ? Demo - Grafo de red social
  • 46. Demo - Grafo de red social
  • 47. Demo - Grafo de red social Diagrama de clases desnormalizado Diagrama EER
  • 48. • 500 hilos , 10 segundos , 40 veces • Cada hilo : persona aleatoria sus datos y los de todos sus followers. • Resultados Coherence • Resultados Mysql Demo - Grafo de red social