31
UN MODELO DE DATOS UNIVERSAL INTERESANTE: PERMATRON Juan Nicolás Jodal Matteo

061 Modelos Universales De Datos Permatron

  • Upload
    genexus

  • View
    748

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 061 Modelos Universales De Datos Permatron

UN MODELO DE DATOS UNIVERSAL INTERESANTE:

PERMATRONJuan Nicolás Jodal Matteo

Page 2: 061 Modelos Universales De Datos Permatron

Escenario: extensibilidad de datos

Customer{ CustomerId* CustomerName CustomerPhone}

Page 3: 061 Modelos Universales De Datos Permatron

Solución I: Pattern OAV

Customer{ CustomerId* CustomerName CustomerPhone}

CustomerAttributeValue{ CustomerId* CustomerAttributeId* CustomerAttributeValue}

CustomerAttribute{ CustomerAttributeId* CustomerAttributeName CustomerAttributeType}

Page 4: 061 Modelos Universales De Datos Permatron

Solución II: UDM

o Modelos Universales de Datos (UDM)

Page 5: 061 Modelos Universales De Datos Permatron

UDM Existentes

o Modelo de David Hayo Topics Mapso CM Hypergraphso Google BigTableo Amazon CoachDBo FreeBaseo ThingDBo FluidDBo RDF

Page 7: 061 Modelos Universales De Datos Permatron

Objetivos

o Almacenar datos no planificadoso Información no uniformeo Versiones de la información

Page 8: 061 Modelos Universales De Datos Permatron

Un enfoque común

Entidades

• Entity• Object• Subject• Class• Topic• Resource• Thing

Propiedades

• Property• Attribute• Verb• Predicate

Relaciones

Page 9: 061 Modelos Universales De Datos Permatron

Relaciones entre lasentidadeso Explícitas

o Orientación a Objetos

o Implícitaso Modelo Relacional

Page 10: 061 Modelos Universales De Datos Permatron

Permatron

Page 11: 061 Modelos Universales De Datos Permatron

DatosNotebook{ Id = 1234 Marca = Lenovo Modelo = T500 Disco { Tipo = SSD Tamaño { Unidad = 128 Medida = GB } }}

Persona{ Id = 5678 Nombre = Camila Padre = Nicolas}Persona{ Id = 9123 Nombre = Nicolas Cuadro = Peñarol}

Page 12: 061 Modelos Universales De Datos Permatron

Origen

File{ FileId* FileName FileContent}

Page 13: 061 Modelos Universales De Datos Permatron

Contenido Abierto

Entity{ EntityId* EntityName}

EntityProperties{ EntityId* RowId* IndentLevel PropertyName PropertyValue}

Page 14: 061 Modelos Universales De Datos Permatron

Repositorio de Valores

Entity{ EntityId* EntityName}

EntityProperties{ EntityId* RowId* IndentLevel PropertyName PropertyValueId}

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueValue}

Page 15: 061 Modelos Universales De Datos Permatron

Repositorio de Propiedades

Entity{ EntityId* EntityName}

EntityProperties{ EntityId* RowId* IndentLevel PropertyId PropertyValueId}

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueValue}

Property{ PropertyId* PropertyName}

Page 16: 061 Modelos Universales De Datos Permatron

Una Propiedad es una Entidad!Entity{ EntityId* EntityName}

EntityProperties{ EntityId* RowId* IndentLevel PropertyId //subtype EntityId PropertyValueId}

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueValue}

Page 17: 061 Modelos Universales De Datos Permatron

Link entre Entidades

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueValue}

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueCharacter PropertyValueBlob PropertyValueEntityId // Subtype EntityId}

Page 18: 061 Modelos Universales De Datos Permatron

UDM Entity Oriented

Entity{ EntityId* EntityName}

EntityProperties{ EntityId* RowId* IndentLevel PropertyId PropertyValueId}

PropertyValue{ PropertyValueId* PropertyValueType PropertyValueCharacter PropertyValueBlob PropertyValueEntityId}

Page 19: 061 Modelos Universales De Datos Permatron

UDM Attribute Oriented

ValueProperties{ SubjectId* // subtype ValueId RowId* IndentLevel PropertyId // subtype ValueId PropertyValueId // subtype ValueId}

Value{ ValueId* ValueType ValueData}

Page 20: 061 Modelos Universales De Datos Permatron

Ejemplo

Persona{ Id = 5678 Nombre = Camila Padre = Nicolas}

Page 21: 061 Modelos Universales De Datos Permatron

ValueId

ValueData

1 IsA

2 Entity

3 Persona

4 Id

5 5678

6 9123

7 Nombre

8 Camila

9 Padre

10 NicolasSubjectId RowId Indent PropertyId PropertyValueId

5 (5678) 1 0 1 (IsA) 3 (Persona)

5 (5678) 2 0 7 (Nombre) 8 (Camila)

5 (5678) 3 0 9 (Padre) 10 (Nicolas)

Page 22: 061 Modelos Universales De Datos Permatron

Versionado

ValueProperties{ SubjectId* SubjectVersionId* RowId* IndentLevel PropertyId PropertyValueId }

Value{ ValueId* ValueType ValueData ValueLastVersionId}

ValueVersion{ SubjectId* SubjectVersionId* SubjectTimeStamp SubjectLastRowId }

Page 23: 061 Modelos Universales De Datos Permatron

UDM Versionado!

ValueVersion{ SubjectId* SubjectVersionId* SubjectTimeStamp ValueVersionProperties { RowId* IndentLevel PropertyId PropertyValueId } }

Value{ ValueId* ValueType ValueData ValueLastVersionId}

Page 24: 061 Modelos Universales De Datos Permatron

KB Permatron: Arquitectura

Persistency Layer

Entity API

Web MonitorPrototyperDB API

Page 25: 061 Modelos Universales De Datos Permatron

Demo

Page 26: 061 Modelos Universales De Datos Permatron

Escenarios de Uso: Datos existentes

Cada fila de cada tabla puede ser una EntityValueId = <TableName><PrimaryKey>

Relaciones:• DB / UDM• UDM / DB• DB / DB

Page 27: 061 Modelos Universales De Datos Permatron

Ventajas

Información no uniforme

Todo tipo de relaciones entre datos

Versionado

Igual potencia para la Metadata

Page 28: 061 Modelos Universales De Datos Permatron

Desventajas

Almacenamiento

Performance

Page 29: 061 Modelos Universales De Datos Permatron

Reflexiones: Modelo Relacionalo Igual potencia

Page 30: 061 Modelos Universales De Datos Permatron

Confabulation Theory

Page 31: 061 Modelos Universales De Datos Permatron

Futuro

Mejora en la UI

Query

Reglas

Permatron as a Service

R-Tree