Stonebraker: la base de datos Oracle está obsoleta y Facebook tiene el mayor problema de datos del mundo

Michael Stonebraker es una leyenda viva en el mundo de las bases de datos.

Stonebraker refinó las técnicas relacionales que hoy conforman el núcleo de miles de millones de dólares en ventas anuales de software por empresas como Oracle (ORCL), International Business Machines (IBM) y Microsoft (MSFT). Sigue siendo frecuente oir a tal o cual nueva startup tecnológica o ejecutivo del sector refiriéndose con asombro y admiración a su trabajo en los últimos 40 años.

Tuve el honor de hablar con Stonebraker por teléfono, para felicitarle por ser el receptor este año del premio conocido como “Turing Award“, concedido por la Association for Computing Machinery en reconocimiento a sus innovadoras contribuciones a las ciencias de la computación o informática. En el sitio Web de ACM podrá encontrar más información sobre dicho premio.

Stonebraker, profesor de Ciencias de la Computación y del Laboratorio de Inteligencia Artificial del MIT, dijo que se sentía honrado, señalando que “este es el Premio Nobel de la informática.” (La biografía completa de Stonebraker se puede encontrar en el sitio Web CSAIL.)

Stonebraker no solo continúa realizando investigación fundamental en teorías de bases de datos sino que también tiene criterios profundos y fundamentados sobre el estado de la industria que son valiosos para cualquier inversor en tecnología. Entre los puntos de vista provocadores que compartió conmigo está el de que la tecnología actual de bases de datos de Oracle y de otros es “obsoleta“, y que Facebook (FB) se está enfrentando al “problema de base de datos más grande del mundo.”

Avances

El principal motivo por el cual Stonebraker alcanzó la fama es por haber impulsado la tecnología relacional, que fue conceptualizada en primer lugar por E.F. ‘Ted’ Codd, en una publicación germinal de 1970. Empresas de Stonebraker como Ingres, más tarde Postgres y muchas otras después, por ejemplo Vertica (adquirida por Hewlett-Packard, HPQ) contribuyeron a que fructificaran las nociones académicas de Codd en los mercados comerciales.

Cuando se le pregunta cuáles fueron sus contribuciones, Stonebraker es extraordinariamente humilde: hábilmente desvió la conversación hacia un brillante resumen de Codd, a quien él se refiere como “Ted”. “Lo que Ted propuso en su momento fue radical”, dijo. “Fue un cambio completo de cómo se hacían las cosas en bases de datos.”

Ted observó dos cosas importantes. En ese momento, había bases de datos como IMS de IBM, que estaba estructurada como una jerarquía, y la base de datos CODASYL, que estaba estructurada como una red de conexiones entre objetos. Ted se dio cuenta de que lo que la gente entiende, de forma inherente, son las relaciones, por lo que dio un giro al problema de la gestión de datos convirtiéndolo en uno de relaciones. Eso simplificó las cosas de forma impresionante. Se dio cuenta de que las cosas deben mantenerse simples. Ted realmente siguió el principio KISS [Keep it Simple, Stupid].

El otro gran avance realizado por Codd, afirma Stonebraker, fue alejar la manipulación real de datos de la programación en lenguaje ensamblador que existía en la época, hacia mayores niveles de abstracción que más tarde se convertirían en lenguaje de consulta estructurado o SQL.

La manera de proceder comúnmente aceptada en ese momento era que se debía compilar conforme a las características particulares de cómo se almacenasen los datos. Él vio que eso no tenía sentido. Introdujo principios de encapsulación y abstracción en las bases de datos de programación, al igual que con un lenguaje de nivel alto en la programación. El problema con el enfoque ensamblador era que los datos con los que uno trabaja tienen una vida muy larga. En la actualidad, su negocio podría estar relacionado con suministros de fontanería. Pero luego decide fusionar su empresa con otra compañía y ahora su negocio está relacionado con suministros de fontanería y suministros de productos de belleza. Inevitablemente, sus estructuras de datos cambiarán como resultado. Si usted escribe estos programas en lenguaje ensamblador, tendrá que descartarlos y recodificar cuando las cosas cambian, mientras que si usted escribe en un alto nivel, con independencia de datos, sus datos no serán dependientes de la estructura de los datos.

En cuanto a su propia contribución, Stonebraker es igualmente humilde. En la conversación, él utiliza “nosotros” en lugar de “yo”, y señala que la base de datos Ingres “fue la contribución de un buen número de personas.” Entre ellos, Jerry Held y Gene Wong se unieron a Stonebraker en la lista de ganadores del “Premio de software de sistemas” de la ACM en 1988 por Ingres.

Stonebraker señala que él y sus compañeros pioneros trajeron las encumbradas ideas relacionales de Codd al reino de las personas ordinarias:

Ted era matemático y escribió sus teorías en términos matemáticos que ningún simple mortal podía manejar. Nosotros las convertimos en construcciones que podían ser manejadas por gente común. En segundo lugar, se argumentó en su momento que RDBMS no podía funcionar, pero demostramos que podía ser eficiente.

Oracle, Microsoft e IBM tienen un problema

Volviendo al presente, Stonebraker me dice que las bases de datos Oracle, DB2 de IBM y SQL Server de Microsoft, están todas obsoletas y se enfrentan a un par de grandes retos. Uno es que en su momento fueron diseñadas para el “proceso de datos empresariales.” “¡Pero ahora también hay datos científicos y medios de comunicación social y registros de la Web y lo que uno quiera nombrar! El número de personas con problemas de bases de datos tiene ahora una envergadura mucho más grande”.

En segundo lugar, “Estábamos desarrollando Ingres y System R para máquinas con una pequeña memoria principal, por lo que se basaban en discos; eran lo que llamamos ‘almacenes de filas.”

“Se almacenan los datos registrados en un disco, registro por registro. Todos los principales sistemas de bases de datos de los últimos 30 años tenían esa apariencia – Postgres, Ingres, DB2, Oracle DB, SQL Server – todos son métodos de almacén de filas en disco”.

Pero, con la reducción de los costes de los chips de memoria, “la memoria principal ahora es lo suficientemente barata como para que el OLTP [procesamiento de transacciones en línea] se base cada vez más en bases de datos de memoria principal y no se parezcan en nada a los métodos de almacén de filas basados en discos”, afirma Stonebraker. Cita como ejemplos la base de datos “en memoria” más reciente, Hana de SAP (SAP), y también su nueva iniciativa, VoltDB.

Puedes seguir leyendo la traducción de este artículo en el post NoSQL propone lenguajes de bajo nivel, por lo que es una apuesta contra el compilador

Artículo original: Michael Stonebraker Explains Oracle’s Obsolescence, Facebook’s Enormous Challenge, by Tiernan Ray

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax