Base de datos versus motores de búsqueda: un cuello de botella a la localidad espacial
En las últimas décadas las empresas se han centrado más en la generación y almacenamiento de la información que en explotar los datos existentes en la compañía.
Sin embargo, el crecimiento exponencial de los datos y la demanda cada vez mayor para acceder de forma eficiente a esta información contenida en los sistemas internos de la empresa, pone de manifesto la necesidad de contar con nuevas aplicaciones de búsquedas que permitan dar el salto, pasando de un sistema tradicional de información a una inteligencia de negocio que permite conectar todas las tecnologías existentes en una compañía.
Hasta ahora, la única solución propuesta por los proveedores de bases de datos para proporcionar un rendimiento aceptable para un gran volumen de información consiste en mejorar el rendimiento del hardware subyacente. En bases de datos de memoria, como Oracle o DB2 TimesTen SolidDB se requiere una gran cantidad de memoria física. Las aplicaciones en los Datawarehouse como TeraData o Netezza confían en coprocesadores de hardware especializados. Y, más recientemente, como algunos expertos señalan, hasta Oracle admite que la adquisición de Sun les permitirá construir “sistemas” de gran alcance mediante la combinación de hardware de gama alta de Sun con la plataforma de base de datos de Oracle.
En este contexto, creo que las aplicaciones basadas en la búsqueda (SBA), son una solución a este problema y, que podríamos llamar más “sostenible”. La clave para manejar eficientemente grandes cantidades de datos es asegurarse de que los datos de acceso tengan una fuerte “localidad espacial”. Es decir, el logro de localidad espacial significa que “si una localización de memoria es referenciada en un momento concreto, es probable que las localizaciones cercanas a ella sean también referenciadas pronto. Existe localidad espacial entre las posiciones de memoria que son referenciadas en momentos cercanos. En este caso es común estimar las posiciones cercanas para que estas tengan un acceso más rápido” (Def: wikipedia).
El principal problema de las bases de datos relacionales es que tienen una localidad espacial muy pobre, porque los objetos o la información que almacenan se distribuyen en un gran número de tablas diferentes. CRM de gama alta y soluciones de ERP suelen almacenar sus datos en no menos de las 65.000 tablas diferentes, cada tabla se almacena en una ubicación distinta en el disco. Imagínese cuántos lugares distintos del disco necesita el sistema para poder mostrar la información que un trabajador necesita, por ejemplo, sobre un cliente o un producto en la pantalla de un agente de centro de llamadas o para producir un informe de BI complejo.
Tener una pobre localidad espacial produce enormes necesidades en los accesos a la información almacenada en el disco, lo que se transforma en el principal cuello de botella para el funcionamiento de las bases de datos de hoy.
En cambio, las aplicaciones basadas en búsqueda se basan en un modelo muy diferente de administración de datos, se centra en un concepto basado en “el propio negocio”. Cuando me refiero a “ítem de negocio”, es un objeto autónomo correspondiente a una entidad “de vida verdadera” que es manipulada por la aplicación y entendida por los usuarios finales. Por ejemplo, en una aplicación de CRM, los items de negocios serían los contactos, oportunidades y los leads vistos por los usuarios empresariales.
A diferencia de las aplicaciones “enlatadas” que utilizan un modelo de datos relacionales. Un elemento de la estrategia de los ítem de negocio se centra en el almacenamiento de datos capaz de permitir una gran localidad espacial, ya que las piezas de la información necesaria para responder a complejas búsquedas multi-criterios son las consultas de parte de un único tipo de item de negocio, y por lo tanto, almacenados cerca unos de otros en el disco. La brecha de rendimiento entre este enfoque local y el modelo de despliegue de datos relacionales es incluso más grande que las solicitudes y las necesidades de información que hay que almacenar y que van en aumento.
Por ello, la aceleración de la búsqueda en base de datos se ha convertido en un quebradero de cabeza para los directores de sistemas de las empresas, especialmente en términos de velocidad y rendimiento. La buena noticia es que los expertos en arquitecturas empiezan a entender que el modelo de datos relacional ya no es el más eficaz, ni la única solución existente en el mercado. Actualmente, soluciones como SBA (Search Based Applications) facilitan la navegación dentro de la nube de datos empresariales con una alta escalabilidad, flexibilidad y facilidad de uso. Se trata de una aplicación con un bajo TCO, que permite reducir costes operacionales, garantizando, a corto plazo, la rentabilidad a la inversión.
En definitiva, la solución de búsqueda debe facilitar: el acceso a un mayor número de usuarios utilizando el mismo hardware, es decir Green IT; así como reducir las necesidades de software, licencias y mantenimiento. Esta nueva tecnología permite la consolidación de datos y otorga al usuario una visión global de todos los sistemas de información de la compañía en tiempo real.