[This blog was syndicated from http://damienkatz.net/]
A veces me meto tanto en los entresijos de la tecnología de bases de datos que olvido por qué me parecen tan fascinantes, por qué me parecieron tan importantes para empezar. ACID. Latencia, ancho de banda, durabilidad, rendimiento, escalabilidad, bits y bytes. Virtual esto, nube aquello. Bla, bla, bla. ¿A quién coño le importa?
Me importa.
Dios mío, me importa. Me importa tanto que duele.
"Una base de datos es una colección organizada de datos, hoy típicamente en forma digital". -Wikipedia
Pienso mucho en las bases de datos. Muchísimo. Nuevos planes para ampliar su capacidad, nuevas formas de hacerlas funcionar, nuevas formas de hacerlas más rápidas, más fiables, nuevas formas de hacerlas accesibles a más desarrolladores y usuarios.
Paso tanto tiempo pensando en ellos que es vergonzoso. Por mucho tiempo que pase pensando en ellos, siento que debería saber mucho más de lo que sé.
HTTP, JSON, memcached, clústeres elásticos, accesibilidad para desarrolladores, map/reduce incremental, indexación distribuida, replicación intraclúster, replicación entre clústeres, almacenamiento generacional tail-append, fragmentación de disco, fragmentación de memoria, jerarquía de memoria/almacenamiento, latencia de disco, amplificación de escritura, compresión de datos, multinúcleo, multihilo, índices invertidos, análisis sintáctico de lenguajes, tiempos de ejecución de intérpretes, paso de mensajes, memoria compartida, arquitecturas orientadas a la recuperación. Todo lo que hace funcionar a una base de datos.
¿Por qué dedico tanto tiempo a esto? ¿Por qué les he dedicado tantos años?
¿Por qué me fascinan tanto? ¿Por qué dejé mi trabajo y construí un motor de base de datos de código abierto con mi propio dinero, cuando no era rico y tenía una familia que mantener?
¿Por qué demonios hice eso?
No se puede exagerar la importancia de la tecnología de bases de datos porque creo que se encuentran entre los avances más fundamentales de la humanidad y de nuestra conciencia colectiva. Creo que las bases de datos son tan importantes como las telecomunicaciones e Internet. Creo que son tan importantes como cualquier biblioteca académica, y que las bibliotecas son las primeras bases de datos no digitales. Creo que las bases de datos son casi tan importantes como la invención de la palabra escrita.
Olvídese de SQL. Olvídese de las bases de datos de red, de documentos o de objetos. Olvídese del álgebra relacional. Olvídese de los esquemas. Olvídese de las uniones y la normalización. Olvídese de ACID. Olvídese de Map/Reduce.
Piense en la representación del conocimiento. Piense en la recopilación, transformación, agregación e intercambio de conocimientos. Piense en el descubrimiento de conocimientos.
Piensa en la humanidad y en su mente colectiva en expansión.
Cuando IBM estaba en el apogeo absoluto de su poder, era la empresa más rica y poderosa del planeta. Principalmente vendían mainframes por mucho dinero, y en el núcleo de esos mainframes había grandes motores de bases de datos, que proporcionaban una gran ventaja competitiva por la que sus clientes pagaban gustosamente.
Google ha creado un indexación de bases de datos de Internet. Son fuerza porque encontraron formas de encontrar sentido a las cantidades masivas de información ya disponibles. Son un ejemplo muy visible del cambio en la forma de pensar de la humanidad.
Los sistemas de archivos son bases de datos muy sencillas. Desde hace muchos años, se han ido creando todo tipo de tecnologías de búsqueda y agregación sobre ellas para sacar el máximo partido a todo el conocimiento y la información que contienen.
¿El correo electrónico? La tecnología del correo electrónico consiste básicamente en bases de datos a las que se pueden enviar mensajes. Es algo anticuado y sencillo, y sin embargo nuestros sistemas de correo electrónico no dejan de ingeniárselas para mostrarnos lo que hay en nuestras bases de datos personales no estructuradas.
Las bases de datos no tienen por qué ser enormes para tener un gran impacto. SQLite hace que las bases de datos sean accesibles en dispositivos pequeños. Es la base de datos más desplegada del planeta. A menudo es fácil pasar por alto el impacto cuando se trata de miles de millones de pequeñas instalaciones, empieza a parecer aire. Algo que simplemente está ahí, a nuestro alrededor. Pero si lo sumamos, el impacto es enorme.
Y, por supuesto, el gran malvado Oracle. Por mucho que a la gente le guste odiarles, lo más importante es que han hecho muy accesible la tecnología de bases de datos fiables, algo por lo que puedes apostar en tu negocio, año tras año. Son geniales no sólo haciendo que funcione la tecnología, sino todo el ecosistema que la rodea, algo necesario para las empresas y los usos de misión crítica. Hay mucho que criticarles, pero también mucho que alabar.
Así que sí, me importa. Me importa mucho. Me importa el panorama general. Y me importan los bits y los bytes. Me importan los detalles ridículamente complejos que la mayoría de la gente nunca verá. Me importan las cosas aburridas que hacen que sucedan las cosas más grandes. Y a veces olvido por qué me importa. A veces pierdo de vista el panorama general por estar tan centrado en hacer que los detalles funcionen.
Y a veces lo recuerdo. Y me siento increíblemente afortunado y privilegiado por las oportunidades de tener un impacto positivo en la mente colectiva de la humanidad. Y mi recompensa es saber, de alguna pequeña manera, que he tenido éxito. Y quiero hacer más. Esto es importante, la forma más importante y eficaz que conozco de contribuir al mundo. A mí me importa.
Buen artículo, despotricando positivamente. ¡Damien Katz ftw!