hdolder.com srl

  hdc Home    |    Contenido    |    KO1    |    Director    |    Direcciones    |    email
  M&P TBW - In-Memory-Data-Base (IMDB)

 

 

 

 *** Documento en elaboración ***    v186

Una In-Memory-Data-Base (IMDB) M&P es una base de datos relaciónal residente en memoria.

Una aplicación M&P puede tener varias IMDB activas en memoria en un momento dado.

Las IMDB junto con las BScript Lists (BL) son las estructuras de datos centrales de M&P.

Una IMDB puede operar en forma autónoma o en asociación con una Base de Datos residente en un RDBMS.

Interoperación con una Base de Datos asociada

Cuando la IMDB tiene una Base de Datos externa asociada, la IMDB actúa como un cache inteligente de la Base de Datos que permite eliminar (o minimizar) el acceso a disco al almacenar y manipular datos en la memoria principal.

La Base de Datos en el RDBMS se manipula siempre mediante métodos de la IMDB. La transferencia de datos entre ambos niveles se realiza también mediante métodos de la IMDB.

Mapping implícito

M&P establece un "mapping" implícito entre los dos niveles (IMDB/DB) permitiendo que un mismo data model (DModel) describa los esquemas de ambos niveles. 

BLOCKS  IMDBM e I CM

En M&P una In-Memory-Data-Base se establece usando dos tipos de BLOCKS:  IMDBM e I CM (Instance-Collection BLOCK)

Un BLOCK IMDBM  contiene internamente varios BLPCKS I
CM (que contienen las Instance-Collection de la IMDB).

Pueden también crearse BLOCKS I
CM autónomos.

Creación dinámica

Los BLOCKS IMDBM y ICM pueden ser instanciados en XAML pero lo habitual es crearlos dinámicamente por demanda en código mediante métodos del DModel.

Interoperación con el RDBMS

Como menciónamos previamente un conjunto de métodos de la IMDB permiten luego cargar datos desde el DBMS en los ICM y viceversa. 

La Interoperación es Transacciónal y esta sujeta a Control de Concurrencia (M&P utiliza Concurrencia Optimista y provee en mecanismo para la resolución de conflictos de concurrencia).

El MPR establece automáticamente las Conexiones con el DBMS y genera al vuelo las sentencias SQL requeridas usando para ello las definiciones del DModel. 

Los operadores de carga y descarga de datos de M&P son " sql -less" si bien pueden usarse Sentencias SQL en caso de ser conveniente.

La IMDB de M&P permite "navegar" por los datos en forma simple "sql-less".

Modelo de Datos Activo

Los DModels (modelos de datos)  de M&P residen en memoria e intervienen en muchas de las operaciones realizadas con las IMDBs. Mediante los DModels se crean las IMDBs y proveen la infraestructura para la operación "sql-less".

Los DModels están codificados en XAML y pueden contener referencias a Event Handlers BScript.

M&P es un Model-Driven System

Los DBMS son "Schema-Driven Systems " porque los Esquemas son utilizados "activamente" por el DBMS y dirigen su operación. Análogamente M&P es un " Model-Driven System " porque los DModels son utilizados activamente por el MPR y dirigen su operación. 

Tecnología de base utilizada en las IMDB

M&P utiliza para las IMDB el framework MS ADO.NET [R1].

Cada BLOCK IMDBM encapsula un DataSet ADO.NET y Cada BLOCK  ICM encapsula una DataTable.

Las facilidades de "Change Tracking" y los "Change Events" (triggers) de ADO.NET son elementos centrales de las IMDB de M&P. El  framework ADO.NET facilita la Interoperación con los DModels y los Plugins M&P.

Para los Change Events M&P permite especificar Event Handlers codificados en BScript y un conjunto de validaciones es realizado por el DModel asociado a la IMDB.

Mediante este mecanismo es posible validar y permitir o rechazar cambios propuestos para los datos contenidos en la IMDB.

BSQ - BScript Query

BScript provee un lenguaje para realizar queries sobre las Instance Collections contenidas en los BLOCKS ICM. El lenguaje de query se denomina BSQ (BScript Query) y permite utilizar la funciónalidad de BScript para selecciónar Instances de las Instance Collections.

LINQ to DataSet

Tambien spbre  las Instance Collections se puede utilizar LINQ (Languge Integrated Query) to DataSet [R2] para selecciónar y clasificar Instances.

IMDB Player

El contenido de las IMDB puede ser visualizado y editado interactivamente el IMDB Player:

El IMDB Player permite Navegar fácilmente por el contenido de la IMDB, ejecutar Queries sobre las Instance-Collections y también visualizar y editar cada Instance por separado mediante el Instance Editor:

RDBMS  soportados

En la actualidad M&P opera indistintamente con cuatro RDBMS diferentes:

  • MS SQL
  • MS SQL CE
  • Oracle
  • MS Access Jet Engine

Un mismo DModel opera con indistintamente cualquiera de ellos, cambiando el valor de la propiedad Connection String del DModel.

dbDrivers

Cuando se cambia el valor de la propiedad ConnectionString el DModel seleccióna el dbDriver correspondiente al RDBMS. La función de los dbDrivers es "equalizar" la funciónalidad de los diferentes RDBMS respecto de M&P.

Referencias

Ver también

 

  TBW The BLOCKS World

©2012 hdolder.com srl  

CwyzJTy3U
2011-12-16