I database sono sempre stati in grado di svolgere un lavoro semplice e d’ufficio come trovare record particolari che corrispondono a determinati criteri, ad esempio tutti gli utenti di età compresa tra 20 e 30 anni. Ultimamente le società di database hanno aggiunto routine di intelligenza artificiale nei database in modo che gli utenti possano esplorare la potenza di questi algoritmi più intelligenti e sofisticati sui propri dati archiviati nel database.
Gli algoritmi AI stanno anche trovando una casa sotto la superficie, dove le routine AI aiutano a ottimizzare le attività interne come la reindicizzazione o la pianificazione delle query. Queste nuove funzionalità sono spesso etichettate come l’aggiunta di automazione perché alleviano l’utente dal lavoro di pulizia. Gli sviluppatori sono incoraggiati a lasciare che facciano il loro lavoro e a dimenticarsene.
C’è molto più interesse, tuttavia, per le routine di intelligenza artificiale aperte agli utenti. Questi algoritmi di machine learning possono classificare i dati e prendere decisioni più intelligenti che si evolvono e si adattano nel tempo. Possono sbloccare nuovi casi d’uso e migliorare la flessibilità degli algoritmi esistenti.
In molti casi, l’integrazione è in gran parte pragmatica ed essenzialmente cosmetica. I calcoli non sono diversi da quelli che si verificherebbero se i dati fossero esportati e spediti a un programma AI separato. All’interno del database, le routine di intelligenza artificiale sono separate e sfruttano solo qualsiasi accesso interno ai dati. A volte questo accesso più rapido può accelerare notevolmente il processo. Quando i dati sono consistenti, a volte il semplice spostamento può richiedere gran parte del tempo.
L’integrazione può anche limitare l’analisi agli algoritmi che fanno ufficialmente parte del database. Se gli utenti desiderano implementare un algoritmo diverso, devono tornare al vecchio processo di esportazione dei dati nel formato corretto e di importazione nella routine AI.
L’integrazione può trarre vantaggio da alcuni dei più recenti database distribuiti in memoria che distribuiscono facilmente il carico e l’archiviazione dei dati su più macchine. Questi possono facilmente gestire una grande quantità di dati. Se è necessaria un’analisi complessa, potrebbe non essere difficile aumentare la capacità della CPU e la RAM allocata a ciascuna macchina.
Alcuni database basati sull’intelligenza artificiale sono anche in grado di sfruttare i chip GPU. Alcuni algoritmi di intelligenza artificiale utilizzano l’architettura altamente parallela delle GPU per addestrare modelli di apprendimento automatico ed eseguire altri algoritmi. Esistono anche alcuni chip personalizzati appositamente progettati per l’intelligenza artificiale che possono accelerare notevolmente l’analisi.
Uno dei maggiori vantaggi, tuttavia, potrebbe essere l’interfaccia standard, che spesso è SQL , un linguaggio già familiare a molti programmatori. Molti pacchetti software interagiscono già facilmente con i database SQL. Se qualcuno vuole più analisi AI, non è più complesso che imparare le nuove istruzioni SQL.
Cosa fanno le aziende consolidate?
L’intelligenza artificiale è un campo molto competitivo ora. Tutte le principali società di database stanno esplorando l’integrazione degli algoritmi con i loro strumenti. In molti casi, le aziende offrono così tante opzioni che è impossibile riassumerle qui.
Oracle ha integrato le routine di intelligenza artificiale nei propri database in diversi modi e l’azienda offre un’ampia gamma di opzioni in quasi ogni angolo del proprio stack. Ai livelli più bassi, alcuni sviluppatori, ad esempio, eseguono algoritmi di apprendimento automatico nell’interprete Python integrato nel database Oracle. Esistono anche opzioni più integrate come Oracle Machine Learning for R , una versione che utilizza R per analizzare i dati archiviati nei database Oracle. Molti dei servizi sono incorporati a livelli superiori, ad esempio come funzionalità per l’analisi negli strumenti di data science o analitica .
IBM ha anche una serie di strumenti di intelligenza artificiale integrati con i loro vari database e l’azienda a volte chiama Db2 “il database di intelligenza artificiale”. Al livello più basso, il database include funzioni nella sua versione di SQL per affrontare le parti comuni della creazione di modelli di intelligenza artificiale, come la regressione lineare. Questi possono essere raggruppati in stored procedure personalizzate per l’addestramento. Molti strumenti IBM AI, come Watson Studio , sono progettati per connettersi direttamente al database per velocizzare la costruzione del modello.
Hadoop e il suo ecosistema di strumenti sono comunemente usati per analizzare grandi set di dati. Sebbene siano spesso pensati come più pipeline di elaborazione dei dati rispetto ai database, spesso c’è un database come HBase sepolto all’interno. Alcune persone usano il file system distribuito Hadoop per archiviare i dati, a volte in formato CSV. Una varietà di strumenti di intelligenza artificiale è già integrata nella pipeline di Hadoop utilizzando strumenti come Submarine, rendendolo effettivamente un database con intelligenza artificiale integrata.
Tutte le principali società cloud offrono sia database che prodotti di intelligenza artificiale. La quantità di integrazione tra un particolare database e una particolare IA varia sostanzialmente, ma spesso è abbastanza facile connettere i due. Comprehend di Amazon , uno strumento per l’analisi del testo in linguaggio naturale, accetta i dati dai bucket S3 e archivia le risposte in molte posizioni, inclusi alcuni database AWS. SageMaker di Amazon può accedere ai dati da bucket S3 o data lake Redshift, a volte utilizzando SQL tramite Amazon Athena. Sebbene sia una giusta domanda sul fatto che queste contino come vera integrazione, non c’è dubbio che semplifichino il percorso.
Nel cloud di Google, lo strumento AutoML per l’apprendimento automatico automatizzato può acquisire dati dai database BigQuery . Firebase ML offre una serie di strumenti per affrontare le sfide comuni per gli sviluppatori di dispositivi mobili, come la classificazione delle immagini. Inoltre, distribuirà qualsiasi modello TensorFlow Lite addestrato per lavorare sui tuoi dati.
Microsoft Azure offre anche una raccolta di database e strumenti di intelligenza artificiale. Lo strumento Databricks, ad esempio, è basato sulla pipeline Apache Spark e viene fornito con connessioni a Cosmos DB di Azure, al suo archivio Data Lake e ad altri database come Neo4j o Elasticsearch che potrebbero essere in esecuzione all’interno di Azure. La sua Azure Data Factory è progettata per trovare dati nel cloud, sia nei database che nell’archiviazione generica.
Cosa stanno facendo i nuovi arrivati?
Numerose startup di database stanno anche evidenziando il loro supporto diretto all’apprendimento automatico e ad altre routine di intelligenza artificiale. SingleStore , ad esempio, offre analisi rapide per il monitoraggio della telemetria in entrata in tempo reale. Questi dati possono anche essere valutati in base a vari modelli di intelligenza artificiale man mano che vengono acquisiti.
MindsDB aggiunge routine di apprendimento automatico a database standard come MariaDB, PostgreSQL o Microsoft SQL. Estende SQL per includere funzionalità per l’apprendimento dai dati già nel database per fare previsioni e classificare oggetti. Queste funzionalità sono inoltre facilmente accessibili in più di una dozzina di applicazioni di business intelligence, come Tableau di Salesforce o Power BI di Microsoft , che lavorano a stretto contatto con i database SQL.
Molte aziende effettivamente seppelliscono il database in profondità nel prodotto e vendono solo il servizio stesso. Riskified , ad esempio, tiene traccia delle transazioni finanziarie utilizzando modelli di intelligenza artificiale e offre protezione ai commercianti attraverso “garanzie di chargeback”. Lo strumento acquisisce le transazioni e mantiene i dati storici, ma si discute poco del livello del database.
In molti casi, le società che si autodefiniscono società di intelligenza artificiale pura sono anche fornitori di database. Dopotutto, i dati devono stare da qualche parte. H2O.ai , ad esempio, è solo uno dei cloud provider di intelligenza artificiale che offrono la preparazione dei dati integrata e l’analisi dell’intelligenza artificiale. L’archiviazione dei dati, tuttavia, è più nascosta e molte persone pensano a software come il primo di H2O.ai per il suo potere analitico. Tuttavia, può sia archiviare che analizzare i dati.
C’è qualcosa che i database AI integrati non possono fare?
L’aggiunta di routine AI direttamente al set di funzionalità di un database può semplificare la vita a sviluppatori e amministratori di database. Può anche rendere l’analisi un po’ più veloce in alcuni casi. Ma al di là della comodità e della velocità di lavorare con un set di dati, questo non offre alcun grande vantaggio continuo rispetto all’esportazione dei dati e all’importazione in un programma separato.
Il processo può limitare gli sviluppatori che possono scegliere di esplorare solo gli algoritmi implementati direttamente all’interno del database. Se l’algoritmo non fa parte del database, non è un’opzione.
Naturalmente, molti problemi non possono essere risolti affatto con l’apprendimento automatico o l’intelligenza artificiale. L’integrazione degli algoritmi di intelligenza artificiale con il database non cambia la potenza degli algoritmi, li accelera semplicemente.