A la hora de ofrecer aplicaciones basadas en IA, un aspecto fundamental del desarrollo es el almacenamiento y el procesamiento de datos. El acceso rápido y confiable a los datos es crucial para las funciones basadas en IA y la clave para una excelente experiencia de usuario. Una base de datos exclusivamente en la nube es ideal para aplicaciones de ubicación fija con una conexión a Internet rápida y confiable. Sin embargo, para aplicaciones periféricas, como las aplicaciones móviles o de IoT, las bases de datos exclusivamente en la nube son problemáticas; la latencia y las interrupciones de Internet pueden obstaculizar las respuestas de la IA, arruinar la experiencia del usuario y provocar interrupciones en el negocio.
La base de datos integrada al rescate
Utilizando un base de datos integrada, que funciona directamente dentro de una aplicación en el dispositivo, resuelve los problemas de dependencia de Internet. Las aplicaciones acceden y guardan los datos localmente, en lugar de hacerlo en la nube. La aplicación depende menos de Internet, es más rápida y está más disponible.
SQLite es la base de datos integrada más conocida y podría parecer la opción obvia para los desarrolladores de aplicaciones móviles o de IoT. Sin embargo, el hecho de ser muy conocida no la convierte en la mejor opción para las aplicaciones de IA en el borde. Siga leyendo para saber por qué.
¿Qué es SQLite?
SQLite es un motor de base de datos SQL ligero e independiente que funciona como una biblioteca en proceso integrada directamente en la aplicación host. Es de código abierto y fácil de usar, lo que lo convierte en una buena opción para aplicaciones independientes o “aislado físicamente” en las que los datos se guardan y se accede a ellos de forma local sin necesidad de una base de datos conectada a la red. Esto es lo que hace que SQLite sea una opción popular para aplicaciones independientes que necesitan funcionar sin conexión a Internet o sin acceso directo a una base de datos backend en la nube.
¿En qué destaca SQLite?
SQLite es ideal para aplicaciones diseñadas para funcionar de forma aislada, como monitores de salud personales, organizadores de notas o aplicaciones de dibujo, en las que hay un solo usuario, no es necesario compartir datos y la experiencia del usuario comienza con una pizarra relativamente en blanco en la que se recopilan los datos.
Cuando se cumplen los criterios anteriores, los desarrolladores pueden utilizar SQLite en sus aplicaciones móviles, de escritorio y de IoT para almacenar información personal, registros, lecturas de dispositivos, contenido creado por los usuarios y otros tipos de datos.
Al eliminar la necesidad de una base de datos conectada por separado, SQLite también elimina la latencia y el tiempo de inactividad que son habituales en las aplicaciones conectadas a Internet.
Con todas estas ventajas, podría parecer que SQLite es la solución ideal para cualquier aplicación de computación periférica, incluidas aquellas con funciones de inteligencia artificial, pero tiene limitaciones que los desarrolladores deben conocer, así como alternativas mejores.
IA en el borde
Las aplicaciones móviles y de IoT a escala empresarial tienen un alcance global, dan soporte a muchos usuarios que comparten información y requieren altas garantías de velocidad y tiempo de actividad. Computación de borde es una arquitectura alternativa a la computación en la nube para aplicaciones en las que la latencia ultrabaja y la alta disponibilidad son requisitos fundamentales. El objetivo general de la computación periférica es eliminar las dependencias de Internet acercando el procesamiento de datos a las aplicaciones mediante el uso de centros de datos periféricos y el almacenamiento de datos integrado directamente en los dispositivos. Es importante señalar que la computación periférica no sustituye a la nube para ejecutar aplicaciones; más concretamente, es una arquitectura que amplía el procesamiento de datos desde la nube hasta el perímetro.
“IA periférica” es un concepto que incluye el procesamiento de IA en arquitecturas de computación periférica. Esto implica ejecutar LLMs junto con la base de datos en cada capa arquitectónica, desde la nube hasta el borde, incluyendo SLM en el dispositivo. Este tipo de topologías ofrecen las mismas garantías de velocidad y tiempo de actividad para las aplicaciones que los modelos de IA que impulsan sus funciones.
SQLite, una base de datos integrada, puede ejecutarse en dispositivos periféricos y puede parecer una buena opción para una arquitectura de IA periférica. Sin embargo, si los requisitos de su aplicación van más allá de los sencillos descritos anteriormente, tal vez deba reconsiderarlo.
Las 5 razones principales por las que SQLite no es adecuado para la IA periférica
Para lograr la arquitectura de IA de vanguardia se necesita una base de datos que pueda funcionar de forma aislada y, lo que es más importante, sincronizar de forma segura los datos entre la nube y otros clientes de aplicaciones, al tiempo que se integra a la perfección con los modelos de IA, independientemente de dónde estén alojados.
Aquí hay cinco razones por las que SQLite tiene dificultades en una arquitectura de IA periférica:
- Modelo de datos inflexible: SQLite es relacional y sigue un esquema rígido, lo que puede dificultar la articulación de los requisitos del modelo para sus aplicaciones de una manera eficiente y adecuada. Debido a esta rigidez, algo tan sencillo como añadir un nuevo campo a la base de datos puede requerir una actualización de todo el esquema. Esto significa que una nueva versión de su aplicación móvil con un esquema de datos actualizado requerirá costosas migraciones del esquema de la base de datos que se realizarán al iniciar la aplicación, lo que aumentará los costos de puesta en marcha de la misma. El modelo relacional de SQLite también limita los formatos de datos que puede admitir, lo que a su vez limita la precisión y el contexto de la IA. La IA general requiere una amplia gama de formatos de datos, por lo que cuanto más pueda admitir la base de datos, mejor. Una alternativa es utilizar una base de datos NoSQL que admita el almacenamiento de datos en documentos JSON, que puede manejar grandes cantidades de datos en múltiples formatos, ideal para la IA.
- Sin sincronización de datos integrada: En el caso de las aplicaciones multiusuario que entran y salen de la conectividad, la sincronización de datos es lo que proporciona consistencia para una excelente experiencia de usuario, así como las respuestas de IA más rápidas y precisas. La sincronización de datos también mejora la seguridad; si cambia el permiso de un usuario, la sincronización de datos refleja instantáneamente el cambio en todo el ecosistema de la aplicación para garantizar que nadie acceda a algo que no debe. SQLite no admite la sincronización de datos de forma predeterminada, los desarrolladores deben crear su propia solución o integrarse con soluciones de terceros, lo que complica la arquitectura y desvía la atención del desarrollo de la funcionalidad principal de la aplicación.
- Sin base de datos backend de nivel empresarial: Incluso con el almacenamiento de datos local, una aplicación móvil sigue necesitando una base de datos backend como punto central de agregación de datos; así es como un ecosistema de aplicaciones móviles distribuidas sigue siendo escalable y eficaz. Por lo tanto, un servidor de base de datos backend, a menudo implementado en la nube, es una parte importante de la arquitectura de IA periférica. SQLite no ofrece una base de datos independiente y escalable, sino que es únicamente una base de datos integrada. Para obtener un backend escalable para aplicaciones que utilizan SQLite, es necesario integrarlo con una tecnología de servidor de base de datos de terceros. Esto hace que las implementaciones sean más complejas y que el mantenimiento y las actualizaciones requieran más tiempo para los desarrolladores.
- Sin seguridad de nivel empresarial: Cuando se utiliza un almacenamiento de datos sincronizado y descentralizado, es importante acceder, transmitir y almacenar los datos de forma segura. Para cubrir esto por completo, es necesario abordar la autenticación, los datos en reposo, los datos en movimiento y el control de acceso de lectura/escritura. SQLite no admite de forma nativa el acceso basado en roles ni el cifrado de datos. Si la seguridad estricta de los datos es importante, como sin duda lo es para la IA, los desarrolladores deben crear sus propias integraciones de seguridad aprovechando las extensiones de seguridad de terceros.
- Sin búsqueda vectorial: Para funciones de GenAI como chatbots conversacionales, recomendadores o asistentes de IA, la búsqueda vectorial permite una fácil integración con LLM (modelos de lenguaje grandes) a través de técnicas como la generación aumentada por recuperación (RAG), en la que los datos vectoriales locales actuales se transmiten junto con indicaciones para proporcionar una mayor precisión y contexto a las respuestas de LLM. SQLite no es compatible con la búsqueda vectorial, lo que significa que no se puede utilizar para funciones basadas en RAG o búsqueda semántica en el dispositivo, lo que anula por completo las ventajas de la IA periférica.
En resumen, al crear e implementar aplicaciones de IA de gran escala y clase empresarial en el borde, es probable que se enfrente a muchos obstáculos de desarrollo si opta por SQLite.
Couchbase Mobile: la base de datos adecuada para la IA periférica
No pierda tiempo tratando de desarrollar soluciones para las deficiencias de SQLite al crear e implementar aplicaciones basadas en inteligencia artificial en el borde. En su lugar, utilice una solución de sincronización de nube a borde lista para usar y libere a su equipo para que se dedique a hacer que la aplicación sea lo mejor posible.
Couchbase Mobile integra el procesamiento de datos y la búsqueda vectorial directamente en las aplicaciones, y sincroniza los datos desde la nube hasta el borde y entre dispositivos, incluso sin conexión a Internet, para ofrecer las aplicaciones basadas en inteligencia artificial más rápidas y fiables. La gama de productos incluye:
Base de datos en la nube de backend a escala empresarial
Couchbase es una plataforma de base de datos de documentos JSON NoSQL multipropósito y de gran escala para crear e implementar aplicaciones GenAI y sistemas agenticos. Da prioridad a la memoria, es distribuida y admite de forma nativa la búsqueda vectorial a gran escala. Uso Couchbase Capellanuestra base de datos como servicio alojada, o instale y gestione Servidor Couchbase en su propia nube pública o privada.
Base de datos móvil integrada
Couchbase Lite es una versión integrable de Couchbase para aplicaciones móviles y de IoT que almacena datos localmente en el dispositivo. Al igual que su homólogo de servidor, Couchbase Lite almacena datos como documentos JSON, admite la búsqueda vectorial (fundamental para la IA periférica) y proporciona seguridad integrada y control granular del acceso a los datos. También incluye un Consulta predictiva Función diseñada específicamente para llamar a modelos de IA, como clasificadores de imágenes.
Sincronización segura de datos móviles
Couchbase Mobile proporciona sincronización de datos lista para usar, tanto entre pares como de la nube al borde. Elija utilizar la sincronización de datos alojada con Capella App Serviceso instalar y gestionar Pasarela de sincronización Couchbase tú mismo.
Conclusión
Al ofrecer una combinación de base de datos backend a gran escala, una potente base de datos integrada, búsqueda vectorial desde la nube hasta el borde y sincronización de datos integral, Couchbase Mobile es la única opción para crear e implementar aplicaciones de IA de borde seguras, resilientes y con prioridad offline que ofrecen una capacidad de respuesta inferior a un segundo y un tiempo de actividad de 1001 TP3T.
Entre los clientes empresariales que utilizan Couchbase Mobile para sus propias aplicaciones críticas en el borde se incluyen:
PepsiCo: Los 30,000 representantes de ventas de PepsiCo utilizan una aplicación basada en Couchbase Mobile para realizar operaciones de venta sobre el terreno, como realizar pedidos, comercializar productos en tiendas y gestionar las ventas en tiendas sin interrupciones, incluso sin conexión a Internet. Más información sobre el caso de uso de PepsiCo aquí.
Unidos: Los más de 41,000 pilotos, auxiliares de vuelo y programadores de vuelos de United utilizan una aplicación móvil de programación de tripulaciones creada con Couchbase Mobile para optimizar los procesos de trabajo y simplificar la gestión de datos. Más información sobre el caso de uso de United aquí.
PG&E: PG&E utiliza una aplicación basada en Couchbase Mobile para proporcionar a sus inspectores de gas y electricidad datos en tiempo real sobre el terreno, incluso cuando no tienen conexión, lo que mejora la respuesta ante incidentes y la seguridad. Más información sobre el caso de uso de PG&E aquí.
Más información sobre Couchbase Mobile en www.couchbase.com/mobile, y regístrese en el nivel gratuito de Capella App Services en cloud.couchbase.com/registrarse.