DEBIAN PRO

DEBIAN PRO
DEBIAN

martes, 12 de junio de 2012

NoSQL, RDBMS, SQL, Oracle y datos. Parte I


Estos dias pasados hablando con Pablo, reviví varios temas que tenía descuidados por el trabajo.

HISTORIA BREVE y RESUMIDA
Allá lejos y hace tiempo existían las "cintas" para almacenar información. Medios magnéticos de acceso secuencial.
También existían las tarjetas perforadas y luego aparecieron los discos con 32 megas... (si, megas).
Toda la información de un banco latinoamericano se almacenaba en 80 megas, incluyendo clientes, cuentas, saldos, movimientos...
En la evolución aparecieron los discos, aumentos de memoria, aumento de ciclos de CPU, luego avances en la tecnología de discos, llegan los SSD, QUADs cores en CPU, memorias de 64 gb muy baratas... Todo fue evolucionando a nivel físico.
En paralelo la información que se buscaba almacenar crecía y también fueron apareciendo "soluciones", ficheros planos, ficheros indexados, btrees y otras soluciones que evolucionaron, hasta que por los 70 aparece "Ted Codd", a quien cariñosamente llamamos el abuelo de las bases de datos, que definió idéas para el modelado de datos y algo "relacional", que fué el punto de creatividad porque la información que se almacena, suele tener que ver con otro tipo de información que se almacena, dicen que IBM no le prestó atención, y que L.Ellison creó "Relational Software"intentan cumplir normas ANSI para hacernos la vida un poco más fácil en la comunicaciones con los motores (interfaz, lenguaje de programación SQL, objetos existentes en un RDBMS).
En esos productos y salvando las distancias entre ellos, todos manejan datos de una manera relacional y similar entre sí (Tabla, índice, vista, espacio de almacenamiento, comunicaciones, SQL, querys)

Que debe tener un RDBMS ? Ver link.

Desde los 90 en adelante y con la explosión de Internet, se comienzan a almacenar infinidad de datos, fotos, ficheros y todo aquello que se podía digitalizar, aparecen millones de portales web, aparecen servidores Gopher, FTP, DNS y SMTP que nacían cada minuto, recuerdo amigos en los 90 que eran los dueños de 200 webs distintos, algunos tenían información, otros era simplemente portales para "vender luego"...
El volúmen de crecimiento de Internet en el mundo y de los datos que se almacenan en internet (ahora denominado NUBE.... que es mucho mas fashion) se duplica permanentemente.

Algunos ejemplos son Tucows, Blogspot (99), Google (98) y tengo la certeza que comienzan a pensar en "como manejar" tandos datos y dar servicio a decenas de miles de usuarios de todo el mundo y al rítmo que crecían los accesos a esos servicios, debieron pensar que alternativas de "gestión de información" se podían implementar.

Recuerdo una charla por el 98 en la costa con Daniel S. sobre cual sería el volúmen de datos que podría almacenar un servidor Oracle... Y si eso se duplica cada dia que hacemos?
Respuestas que no encontramos y donde la idea de "poner mas servidores" y dividir los datos parecía la solución.

Los RDBMS crecieron pensando en particionar los datos de diferentes maneras, siempre manteniendo sus principios SQL, en un mundo de soluciones conocidas. También existen soluciones de almacenamiento de información fuera de un motor SQL, siendo el propio motor el que gestione ese fichero en un almacenamiento donde pueda acceder el mismo servidor SQL.

Por el 98 comienza a aparecer un concepto "NOSQL"
donde para resumir decimos que la información se almacena de una manera distinta a como se gestiona con un REDBMS. De ser un concepto evolucionó (y pasaron varios años...) en varias direcciones, hablamos de "servicios" que sirven para almacenar información de tipo Documento, grafo, clave/Valor, tabulares, formatos xmls y otros.
Estos productos (tengo que decir que varios todavía están en modo Beta) son usados por los mas grandes portales en internet, Facebook, Twitter, Flick.er y ahora cambiamos el foco y entramos en "otra dimensión".

No hay comentarios:

Publicar un comentario