Ir al contenido


Foto

motor de base de datos no sql

no sql motor de bdd db engine binario

  • Por favor identifícate para responder
5 respuestas en este tema

#1 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 02 junio 2015 - 04:45

¿Alguna vez alguien programó un motor de base de datos no sql para alguna aplicación?

 

Hace muchos años desarollé con mi pobre Pascal for Windows un motor de organización y acceso binario a los datos. Utilizaba blockread y era extremadamente rápido para su tiempo.

Aún lo guardo en mi carpeta comprimida llamada: históricos. :ph34r:

Para hacerse una idea: para "indexar" (indicar, indizar o como se diga) poco más de 16 mil elementos se necesita -teóricamente- solo catorce lecturas al archivo.

 

Mi idea era usar la tácnica llamada "hashing", pero nunca completé la idea. En ese entonces (era un estudiante avanzado, 5°) y preguntaba a un profesor de métodos numéricos y análisis matemático si existía un procedimiento matemático para "aplanar una curva dada por la frecuencia de aparición de una variable", a lo que el profesor me contestaba que no entendía bien a lo que me refería. Y al final era eso: "hashing", que lo que hace es reunir grupos de colisiones de claves en una lista. Sólo que yo no había dado con el tema (recuerdo que un compañero mío hablaba de la técnica, pero nunca lo asocié con la solución).

 

Dado que nunca pude lograr la nivelación de las ramas en caliente, lo hacía mediante un proceso de lectura secuencial y reorganización (reestructuración de las ramas) bastante sencillo, a fuerza bruta, pero eficiente.

Junto con esto utilizaba una técnica muy, pero muy pobre de compresión de datos para las cadenas, que el motor se encargaba de utilizar en la escritura y en la lectura.

 

Bueno, eso fue en parte nostálgico, pero de ser de interés, podría poner porción del código.

 

Saludos

 

¡dónde quedó la cerveza!? 8o|

 


  • 0

#2 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 539 mensajes
  • LocationCali, Colombia

Escrito 02 junio 2015 - 05:51

Hola Cram, Yo hice comercialmente un motor de base de datos Jerarquico,  que básicamente es un árbol Enario, el cual permite mantener sumarizado en cada nodo las variables que existen en sus hojas.  Lo utilizo para realizar cálculos muy rápidos en herramientas de Dataware house.  Es realmente rápido en sus cálculos, aproximadamente 500 cálculos por segundo, lo que equivaldría a unos 1000 sql de sumatorias de datos y operarlos entre si.

 

En algún momento espero pasar eso a bases de datos como Mongo DB o alguna base de datos de ese estilo, pero la verdad no le he dedicado tiempo a la investigación de esas herramientas, siempre hay otras prioridades.

 

Saludos.


  • 0

#3 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 02 junio 2015 - 06:09

Hola Cram, Yo hice comercialmente un motor de base de datos Jerarquico,  que básicamente es un árbol Enario, el cual permite mantener sumarizado en cada nodo las variables que existen en sus hojas.  Lo utilizo para realizar cálculos muy rápidos en herramientas de Dataware house.  Es realmente rápido en sus cálculos, aproximadamente 500 cálculos por segundo, lo que equivaldría a unos 1000 sql de sumatorias de datos y operarlos entre si.

 

En algún momento espero pasar eso a bases de datos como Mongo DB o alguna base de datos de ese estilo, pero la verdad no le he dedicado tiempo a la investigación de esas herramientas, siempre hay otras prioridades.

 

Saludos.

 

Lo sabía Genriquez. No en detalle, pero ya habías mencionado haber hecho un motor dedicado.

Al ser n-ario, supongo que tiene una velocidad extraordinaria :ap:

 

Siempre hay otras prioridades... es cierto.

 

Saludos


  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 junio 2015 - 08:21

Muy interesante el tema del cual me declaro un neófito.

 

Las aplicaciones que desarrollaba no requerían de una base de datos "poderosa" y utilicé Paradox por muchos años sin problema alguno.

 

Saludos


  • 0

#5 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 02 junio 2015 - 12:22

Muy interesante el tema del cual me declaro un neófito.

 

Las aplicaciones que desarrollaba no requerían de una base de datos "poderosa" y utilicé Paradox por muchos años sin problema alguno.

 

Saludos

 

Maldito Paradox y sus índices quebradizos.

¡qué dolores de cabeza me dio ese motor de DB! hasta que supe que era un problema conocido.

 

El asunto de utilizar un motor de base de datos ad hoc (si me permiten) es a veces para no depender de una instalación extra, porque la aplicación lo permite y los requisitos también. En mi caso lo desarrollé para presentarlo como mi tesis.

El asunto es que elimina mucha información redundante al no tener que duplicar los índices para crear las relaciones, pues se hacen de otra manera. Por ejemplo en mi caso era posible "conectar" de uno a muchos, donde muchos era de cantidad variable y lo hacía sin desperdicio de espacio, algo de proceso mediante, por supuesto. Además, las cadenas indexadas y datos eran de longitud variable. El índice recuerdo que emulaba una palabra de 24 bits.

 

Saludos.


  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 junio 2015 - 01:22

Maldito Paradox y sus índices quebradizos.
¡qué dolores de cabeza me dio ese motor de DB! hasta que supe que era un problema conocido.


En realidad yo no tuve muchos problema porque los sistemas eran monousuario y conectados a equipos de respaldo de energía (era un requerimiento casi obligatorio), así que los problemas eran mínimos. Y si, algunas veces tuve que utilizar un programa que se llama TUtil32.exe para regenerar los índices y eso porque la computadora no estaba conectada al noBrake y se apagaba cuando estaba procesando algún registro.

 

Saludos


  • 0




IP.Board spam blocked by CleanTalk.