Inicio Noticias Probablemente Tu Base de Datos es Pésima

Probablemente Tu Base de Datos es Pésima

Las bases de datos no son sexy, pero son el fundamento absoluto del mundo de la tecnología, el terreno en el que todos sus edificios se construyen. Es probable que utilice un centenar de ellas todos los días. Por lo menos. Son como la especia en Dune: «S / el que controla la base de datos, controla el universo!» Bueno, no mires ahora, pero ese universo está empezando a temblar.

En el principio era el archivo de plano, que era bastante horrible, así que nos ayudan los Codd. Luego vino SQL y Larry Ellison, quien inexplicablemente se convirtió en el sexto hombre más rico- con la  bien mediocre base de datos Oracle, . (Una vez pasé varios meses como desarrollador de Oracle. Fue el más largo periodo de varios meses de mi vida profesional.)

Durante mucho tiempo, el triunvirato de base de datos relacional Oracle, DB2 de IBM, y Microsoft SQL Server gobernó sin oposición, con Oracle primero entre sus iguales. Luego vino la revolución de código abierto, y MySQL y PostgreSQL. (Así como SQLite, que se ejecuta en dispositivos móviles. Pero todo el mundo sabía hace 10 años que eso fue sólo un nicho de mercado. ¿Verdad?)

Entonces la Web 2.0 golpeó, y resultó que las bases de datos relacionales no escalan bien. Ellas estaban bien hasta cierto punto. Pero cuando todo el mundo empieza a golpear a tu servidor? Tu servidor se cae. Facebook aún se ejecuta en MySQL, pero tienen que pasar por muchos, costosos y brillantes aros para hacerlo. Lo mismo con Twitter. Reddit abandonó la tradicional base de datos relacional de diseño completo.

Google abordó este problema antes que nadie, como siempre, con su base de datos BigTable, que escala en forma brillante … a costa de varias rarezas, incluyendo prohibir más de un operador de desigualdad por consulta. (Por ejemplo, si usted tiene una base de datos de «cajas», usted puede buscar las cajas con «longitud superior a 5» o «anchura superior a 3» … pero no ambas al mismo tiempo. En realidad soy muy aficionado a BigTable , la que he utilizado bastante ampliamente, pero en múltiples ocasiones la encuentro exasperante.) Esto marcó el comienzo de la edad de NoSQL. MongoDB, CouchDB, podría decirse que Redis, etc: Han crecido como locos! Y son muy fácil de usar!

Por desgracia, tuvieron que sacrificar algunas cosas en que las bases de datos relacionales son buenas. Al igual que la integridad transaccional. Usted podría tener una base de datos que escala muy bien, ya que podría tener ACID (atomicidad, coherencia, aislamiento y durabilidad). Pero no se puede tener ambas cosas. Todo el mundo lo sabe. La ingeniería es una cuestión de optimización de compromisos, eso es todo. Siempre hay que hacer concesiones. Todo el mundo sabe eso.

Bueno. Casi todo el mundo.

Resulta que dentro de Google, había un montón de gente que no piensan demasiado en BigTable y sus limitaciones. Entonces ellos fueron y construyeron Spanner, una base de datos relacional que no sólo escala. Mientras tanto, FoundationDB estaba atacando el problema desde un extremo, la creación de un almacén de datos que es a la vez NoSQL y ácido, mientras que Clustrix estaba haciendo una base de datos relacional que puede felizmente y sin problemas escalar horizontalmente a medida que añada más servidores. (A partir de esta semana se puso en marcha en Amazon Web Services, también.)

Los Administradores de bases de datos son famosos por ser conservadores. Lo cual tiene sentido. Usted no quiere meterse con sus datos. Otra vez, es la base sobre la que se construye todo lo demás. Y una vez que te has ido y construido todo un sistema en una base de datos, la última cosa que quiero hacer es emigrar a otro. Pero al mismo tiempo, la tecnología de base de datos ha ido avanzando a pasos agigantados, sobre todo en los últimos tiempos.

Así que cual es la base de datos (s) que está utilizando en su lugar de trabajo? No es probablemente la mejor disponible, de hecho, son probablemente bastante malas, en términos relativos, y probablemente no va a cambiar pronto. Es alimento para el pensamiento que la próxima vez que usted espere una nueva tecnología para revolucionar completamente el mundo sólo porque es mejor que todos sus competidores. La mayor parte del mundo no quiere ser parte de una revolución. A casi todo el mundo le gustan sus bases de datos. No se puede convencer a cambiar, hay que conducirlos al cambio.

Fuente: techcrunch.com