Databáze, které nabízejí nativní podporu strojového učení

  • Přestože se přístupy a schopnosti liší, všechny v tomto příspěvku uvedené databáze umožňují vytvářet modely strojového učení přímo tam, kde jsou uložená vaše data.

Sdílet

Ideálním případem pro velmi velké datové sady je vytvoření modelu tam, kde jsou data, takže není potřebné data nikam přesouvat. Několik databází to v omezeném rozsahu podporuje.

Přirozenou další otázkou je, které databáze interně podporují strojové učení, a jak to dělají. Příklady těchto databází jsou uvedené níže v abecedním pořadí.

Amazon Redshift

Amazon Redshift je spravovaná služba datového skladu petabajtové kategorie, která je navržena pro usnadnění a zlevnění analýzy všech vašich dat pomocí existujících nástrojů Business Intelligence. Je optimalizována pro datové sady velikosti od několika set gigabajtů až po petabajty a více a stojí méně než tisíc dolarů za terabajt ročně.

Amazon Redshift ML je navržena tak, aby usnadňovala SQL uživatelům vytváření, trénování a nasazení modelů strojového učení pomocí příkazů SQL. Příkaz Create Model v jazyce Redshift SQL definuje data pro trénování  a cílový sloupec, následně předá přes šifrovaný bucket Amazon S3 ve stejné zóně data službě Amazon SageMaker Autopilot pro vytrénování.

Po vytrénování přes AutoML zkompiluje Redshift ML nejlepší model a zaregistruje ho jako predikční funkci SQL ve vašem clusteru Redshift. Následně můžete model zavolat pro účely usuzování voláním predikční funkce uvnitř příkazu Select.

Souhrn: Redshift ML využívá SageMaker Autopilot k automatickému vytvoření predikčních modelů z dat specifikovaných v příkazu SQL a následně extrahovaných do bucketu S3. Nejlepší nalezená predikční funkce je zaregistrována v clusteru Redshift.

BlazingSQL

BlazingSQL je stroj SQL akcelerovaný prostřednictvím GPU vytvořený nad ekosystémem Rapids. Existuje jako projekt open source a placená služba. Rapids je open source sada softwarových knihoven a rozhraní API podporovaná společností Nvidia.

Využívá technologii CUDA a je založena na sloupcovém paměťovém formátu Apache Arrow. CuDF, součást Rapids, je (podobně jako Pandas) knihovna GPU DataFrame pro načítání, spojování, agregaci, filtrování a další manipulace s daty.

Dask je open source nástroj, který dokáže škálovat balíčky Python na více strojů. Dask dokáže distribuovat data a výpočty na více GPU, a to buď ve stejném systému nebo ve víceuzlovém clusteru.

Dask nabízí integraci pro Rapids cuDF, XGBoost a Rapids cuML pro datové analýzy a strojové učení s akcelerací pomocí GPU.

Souhrn: BlazingSQL dokáže spouštět dotazy akcelerované pomocí GPU pro datová jezera ve službě Amazon S3, předat výsledné DataFrames do cuDF pro manipulaci s daty a nakonec použít strojové učení s využitím Rapids XGBoost acuML, a hluboké učení s využitím PyTorch a TensorFlow.

Google Cloud BigQuery

BigQuery je spravovaná služba datového skladu petabajtové kategorie v Google Cloudu, která umožňuje provádět analýzy obrovského množství dat téměř v reálném čase. BigQuery ML umožňuje vytvářet a spouštět modely strojového učení uvnitř služby BigQuery pomocí SQL dotazů.

BigQuery ML podporuje lineární regresi pro předpovědi, binární a vícetřídovou logistickou regresi pro klasifikaci, K-means clustering pro segmentaci dat, faktorizaci matic pro systémy doporučování produktů, časové série pro předpovědi, včetně anomálií, sezónnosti a prázdnin, XGBoost klasifikaci a regresní modely, dále hluboké neuronové sítě pro klasifikaci a regresní modely (založeno na TensorFlow), AutoML Tables a import modelů TensorFlow.

Můžete použít model s daty z více datových sad BigQuery pro trénování i predikci. BigQuery ML neextrahuje data z datového skladu. Funkce můžete navrhovat s využitím BigQuery ML a klauzule Transform v příkazu Create Model.

Souhrn: BigQuery ML přináší velkou část výkonu platformy Google Cloud Machine Learning do datového skladu BigQuery pomocí syntaxe SQL bez extrahování dat z datového skladu.

IBM Db2 Warehouse

IBM Db2 Warehouse on Cloud je spravovaná služba veřejného cloudu. Můžete si také nakonfigurovat IBM Db2 Warehouse ve své vlastní infrastruktuře s využitím vlastního hardwaru nebo v privátním cloudu.

Jako datový sklad obsahuje funkce jako zpracování dat in-memory a sloupcové tabulky pro on-line analytické zpracování. Použitá technologie Netezza nabízí robustní analytickou sadu navrženou pro efektivní dotazy vůči datům. Řada knihoven a funkcí vám pomůže získat potřebné poznatky.

Db2 Warehouse podporuje strojové učení in-database v jazycích Python, R a SQL. Modul IDAX obsahuje analytické postupy, včetně analýz různosti, asociačních pravidel, transformace dat, rozhodovacích stromů, diagnostických měřítek, diskretizace a momentů, K-means clusteringu, k-NN, lineární regrese, správy metadat, Bayes klasifikace, analýzy hlavních komponent (PCA), distribuce pravděpodobnosti, náhodných vzorků, regresních stromů, sekvenčních vzorů a pravidel, a parametrické i neparametrické statistiky.

Souhrn: IBM Db2 Warehouse obsahuje širokou řadu in-database SQL analýz, která zahrnuje některé základní funkce strojového učení a in-database podporu pro jazyky R a Python.

Kinetica

Kinetica Streaming Data Warehouse kombinuje analýzu historických a streamovaných dat s AI na jedné platformě – vše dostupné přes rozhraní API a SQL. Kinetica je velmi rychlá, distribuovaná, sloupcová databáze typu memory-first, akcelerovaná pomocí GPU s filtrováním, vizualizací a funkcí agregace.

Kinetica integruje modely a algoritmy strojového učení se vašimi daty pro prediktivní analýzu v reálném čase a velkém měřítku. Umožňuje zefektivnit datové potrubí a životní cyklus analýz, modely strojového učení, datové inženýrství a podporuje výpočty pro streamovaná data.

Kinetica nabízí řešení celého životního cyklu pro strojové učení akcelerované pomocí GPU: spravované notebooky Jupyter, trénování modelu přes Rapids a automatizovaný model nasazení a usuzování na platformě Kinetica.

Souhrn: Kinetica nabízí řešení celého životního cyklu in-database pro strojové učení akcelerované pomocí GPU s možností výpočtů pro streamovaná data.

Microsoft SQL Server

Služba Microsoft SQL Server Machine Learning Services podporuje jazyky R, Python, Java, příkaz PREDICT T-SQL a uloženou proceduru rx_Predict v SQL Server RDBMS a SparkML v clusterech SQL Server Big Data Clusters.

V jazycích R a Python nabízí Microsoft několik balíčků a knihoven pro strojové učení. Vytrénované modely můžete ukládat do databáze nebo externě. Azure SQL Managed Instance podporuje Machine Learning Services pro Python a R jako preview.

Microsoft R má rozšíření, která umožňují zpracování dat z disku i v paměti. SQL Server nabízí rozšiřující framework, aby mohl kód v jazycích R, Python a Java používat data a funkce SQL Serveru.

SQL Server Big Data Clusters podporuje SQL Server, Spark a HDFS v Kubernetes. Když zavolá SQL Server kód v jazyce Python, může používat Azure Machine Learning a ukládat výsledný model do databáze pro využití v předpovědích.

Souhrn: Aktuální verze SQL Serveru mohou trénovat a využívat modely strojového učení ve více programovacích jazycích.

Oracle Database

Oracle Cloud Infrastructure (OCI) Data Science je spravovaná serverless platforma pro týmy datové vědy, které mohou vytvářet, trénovat a spravovat modely strojového učení s využitím Oracle Cloud Infrastructure včetně Oracle Autonomous Database a Oracle Autonomous Data Warehouse.

Zahrnuje to na Python zaměřené nástroje, knihovny a balíčky vyvinuté komunitou open source a dále knihovnu Oracle Accelerated Data Science (ADS) Library, která podporuje kompletní životní cyklus prediktivních modelů:

  • Sběr dat, profilování, příprava a vizualizace
  • Návrh funkcí
  • Trénování modelu (i pro Oracle AutoML)
  • Vyhodnocení modelu, vysvětlení a interpretaci (včetně Oracle MLX)
  • Nasazení modelu do Oracle Functions

OCI Data Science se integruje se zbytkem sady Oracle Cloud Infrastructure, včetně Functions, Data Flow, Autonomous Data Warehouse a Object Storage.

V současné době podporované modely zahrnují AutoML, Keras, Scikit-learn, XGBoost a ADSTuner (ladění hyperparametru). ADS také podporuje vysvětlitelnost strojového učení (MLX).

Souhrn: Oracle Cloud Infrastructure může hostit zdroje datové vědy integrované pomocí datového skladu, úložiště objektů a funkcí, a umožňuje také celý životní cyklus vývoje modelu.

Vertica

Vertica Analytics Platform je škálovatelný datový sklad sloupcového úložiště. Funguje ve dvou režimech: Enterprise – ukládá data lokálně v souborovém systému uzlů, které tvoří databázi, a EON – ukládá data společně pro všechny výpočetní uzly.

Vertica používá masivně paralelní zpracování pro zpracování petabajtů dat a pro své interní strojové učení také využívá paralelní zpracování.

Má osm vestavěných algoritmů pro přípravu dat, tři regresní algoritmy, čtyři klasifikační algoritmy, dva clusterové algoritmy, několik funkcí pro správu modelu a schopnost importovat modely TensorFlow a PMML vytrénované jinde. Jakmile máte dobrý nebo importovaný model, můžete ho použít pro predikci.

Vertica také umožňuje uživatelsky definovaná rozšíření naprogramovaná v jazycích C++, Java, Python a R. Syntaxe SQL se používá pro trénování i pro usuzování.

Souhrn: Vertica má pěknou vestavěnou sadu algoritmů strojového učení a dokáže importovat modely TensorFlow a PMML. Predikci může vykonávat z importovaných modelů i z modelů vlastních.

MindsDB

Pokud vaše databáze nepodporuje interní strojové učení, je pravděpodobné, že tuto schopnost můžete přidat pomocí MindsDB, protože se integruje se šesti databázemi a pěti nástroji BI.

Podporované databáze zahrnují MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server a Snowflake. Na integraci MongoDB se pracuje a integrace se streamingovými databázemi by také měla být dostupná.

Podporované nástroje BI pak zahrnují: SAS, Qlik Sense, Microsoft Power BI, Looker a Domo.

MindsDB nabízí AutoML, AI tabulky a vysvětlitelnou AI (XAI). AutoML trénování lze volat ze MindsDB Studia, z příkazu SQL Insert, nebo pomocí volání rozhraní Python API. Trénování může volitelně používat GPU a lze volitelně vytvořit model časové řady.

Tento model můžete uložit jako databázovou tabulku a volat ho příkazem SQL Select vůči uloženému modelu, z MindsDB Studia nebo z volání rozhraní API jazyka Python. MindsDB Studio umožňuje posouzení, vysvětlení a vizualizaci kvality modelu.

MindsDB Studio a rozhraní Python API můžete propojit k lokálním a vzdáleným zdrojům dat. MindsDB dále poskytuje zjednodušený framework pro hluboké učení – Lightwood využívající PyTorch.

Souhrn: MindsDB přináší užitečné schopnosti strojového učení pro řadu databází, které postrádají vestavěnou podporu strojového učení.