Las bases de datos SQL y Hadoop fueron diseñadas para resolver clases de problemas relativamente estrechos. Si bien se han expandido con cierto éxito más allá de ese alcance, ambos están limitados por el legado de los algoritmos desarrollados para su caso de uso original. En muchos sentidos, Hadoop ofrece un subconjunto analítico hiper-optimizado de lo que ofrece una buena base de datos relacional y, por lo tanto, está sujeto a los mismos límites fundamentales.
El futuro de las bases de datos es una arquitectura basada en nuevas estructuras algorítmicas que no tienen las limitaciones que actualmente experimentamos con RDBMS y Hadoop. Algunas de las deficiencias algorítmicas más críticas:
- Indización de intervalos distribuidos, por ejemplo, polígonos geoespaciales.
- Bases de datos de restricciones en tiempo real (por ejemplo, “bases de datos de flujo”)
- Indexación temporal distribuida
- Paralelismo de unión relacional
- Cierres transitivos escalables (por ejemplo, para análisis de gráficos)
Podría llegar a algunos más, pero los problemas de algoritmo anteriores son la causa raíz de la mayoría de los problemas de la base de datos que no sabemos cómo paralelizar. En algunos casos, sabemos que no puede existir una solución en plataformas como Hadoop tal como existen actualmente debido a los límites teóricos de su diseño.
Por ejemplo, los índices de polígonos geoespaciales no se distribuyen bien porque ninguna de las estrategias de partición utilizadas comúnmente por Hadoop y RDBMS, hash y rango, son satisfactorias para esos conjuntos de datos. Existe una estrategia de partición que generaliza eficientemente a índices de polígonos distribuidos basados en algoritmos de incrustación topológicos, pero el modelo de partición es difícil de integrar en las bases de datos existentes que no están diseñadas desde cero para esa suposición.
- ¿Cuándo colapsará la industria musical?
- ¿Será reemplazado el hombre por la computadora en el futuro?
- ¿Serán los relojes inteligentes tan importantes como los teléfonos inteligentes?
- ¿Por qué las tabletas no están hechas con capacidades telefónicas? ¿No usaría la gente un dispositivo así?
- ¿Qué tan grande es el desafío de hacer que todos los caminos del mundo estén hechos de materiales sensibles a la energía solar?
El análisis de gráficos paralelos ha obstaculizado a muchas empresas a pesar de su enorme valor. Tenemos muchos ejemplos de soluciones basadas en algoritmos convencionales que no se escalan tan bien como esperaban sus creadores. Hay una nueva familia de algoritmos analíticos de gráficos muy paralelizables desarrollados hace un par de años basados en un conjunto de transformaciones inusuales que no tienen operaciones analógicas en las bases de datos existentes. En consecuencia, cada implementación hasta la fecha ha sido puramente personalizada en lugar de estar integrada en una base de datos nunca diseñada para ella. (Soy consciente de dos algoritmos de variantes independientes de esta clase; lamentablemente, ninguno ha sido publicado).
Eventualmente, cosas como estas se mostrarán en una base de datos, pero probablemente serán bases de datos diseñadas específicamente para los algoritmos que están usando.
Así que diría que el futuro de las bases de datos se verá un poco diferente de las arquitecturas actuales. Existen demasiadas limitaciones debilitantes con las arquitecturas actuales y demasiadas soluciones prometedoras a esas limitaciones que sugieren un tipo diferente de arquitectura de base de datos que ha sido ubicuo hasta la fecha. Actualmente estamos en un entorno rico para I + D de bases de datos.