From 68c6fe0a1468124d9249fe4a8bad359bddf090e9 Mon Sep 17 00:00:00 2001 From: Andreas Motl Date: Thu, 14 Aug 2025 18:27:01 +0200 Subject: [PATCH] Refactoring: Significant portions migrated to `cratedb-guide` --- docs/connect/cli.md | 183 ------------ docs/connect/df.md | 156 ---------- docs/connect/index.md | 572 ------------------------------------ docs/connect/java.rst | 41 --- docs/connect/javascript.rst | 60 ---- docs/connect/orm.md | 42 --- docs/connect/php.rst | 70 ----- docs/connect/python.rst | 163 ---------- docs/connect/ruby.rst | 20 -- docs/index.md | 25 +- docs/integrate/bi.md | 117 -------- docs/integrate/etl.md | 335 --------------------- docs/integrate/framework.md | 219 -------------- docs/integrate/metrics.md | 121 -------- docs/integrate/ml.md | 110 ------- docs/integrate/visualize.md | 166 ----------- docs/legacy.rst | 2 +- docs/status.md | 339 --------------------- 18 files changed, 3 insertions(+), 2738 deletions(-) delete mode 100644 docs/connect/cli.md delete mode 100644 docs/connect/df.md delete mode 100644 docs/connect/index.md delete mode 100644 docs/connect/java.rst delete mode 100644 docs/connect/javascript.rst delete mode 100644 docs/connect/orm.md delete mode 100644 docs/connect/php.rst delete mode 100644 docs/connect/python.rst delete mode 100644 docs/connect/ruby.rst delete mode 100644 docs/integrate/bi.md delete mode 100644 docs/integrate/etl.md delete mode 100644 docs/integrate/framework.md delete mode 100644 docs/integrate/metrics.md delete mode 100644 docs/integrate/ml.md delete mode 100644 docs/integrate/visualize.md delete mode 100644 docs/status.md diff --git a/docs/connect/cli.md b/docs/connect/cli.md deleted file mode 100644 index a590963..0000000 --- a/docs/connect/cli.md +++ /dev/null @@ -1,183 +0,0 @@ -(cli)= -(connect-cli)= -# Using command-line programs with CrateDB - -This section provides a quick overview about a few CLI programs, and how to -use them for connecting to CrateDB clusters. We recommend to use crash, -psql, http ([HTTPie]), or curl. - -You can use them to quickly validate HTTP and PostgreSQL connectivity to your -database cluster, or to conduct basic scripting. - -Before running the command-line snippets outlined below, please use the correct -settings instead of the placeholder tokens ``, `` and -``. - -When using CrateDB Cloud, `` will be something like -`.{aks1,eks1}.region.{azure,aws}.cratedb.net`. - - -(crash)= -## crash - -```{div} -:style: "float: right" -![image](https://cratedb.com/docs/crate/crash/en/latest/_images/query.png){w=240px} -``` - -The **CrateDB Shell** is an interactive command-line interface (CLI) tool for -working with CrateDB. For more information, see the documentation about [crash]. - -```{div} -:style: "clear: both" -``` - -::::{tab-set} - -:::{tab-item} CrateDB and CrateDB Cloud -:sync: server - -```{code-block} shell -CRATEPW= \ - crash --hosts 'https://:4200' --username '' \ - --command "SELECT 42.42;" -``` -::: - -:::{tab-item} CrateDB on localhost -:sync: localhost - -```{code-block} shell -# No authentication. -crash --command "SELECT 42.42;" - -``` -::: - -:::: - - -(psql)= -## psql - -```{div} -:style: "float: right" -![image](https://github.com/crate/crate-clients-tools/assets/453543/8f0a0e06-87f6-467f-be2d-b38121afbafa){w=240px} -``` - -**psql** is a terminal-based front-end to PostgreSQL. It enables you to type in -queries interactively, issue them to PostgreSQL, and see the query results. -For more information, see the documentation about [psql]. - -```{div} -:style: "clear: both" -``` - -::::{tab-set} - -:::{tab-item} CrateDB and CrateDB Cloud -:sync: server - -```{code-block} shell -PGUSER= PGPASSWORD= \ - psql postgresql:///crate --command "SELECT 42.42;" -``` -::: - -:::{tab-item} CrateDB on localhost -:sync: localhost - -```{code-block} shell -# No authentication. -psql postgresql://crate@localhost:5432/crate --command "SELECT 42.42;" -``` -::: - -:::: - - -(httpie)= -## HTTPie - -```{div} -:style: "float: right" -![image](https://github.com/crate/crate-clients-tools/assets/453543/f5a2916d-3730-4901-99cf-b88b9af03329){w=240px} -``` - -The **HTTPie CLI** is a modern, user-friendly command-line HTTP client with -JSON support, colors, sessions, downloads, plugins & more. -For more information, see the documentation about [HTTPie]. - -```{div} -:style: "clear: both" -``` - -::::{tab-set} - -:::{tab-item} CrateDB and CrateDB Cloud -:sync: server - -```{code-block} shell -http https://:@:4200/_sql?pretty" \ - stmt="SELECT 42.42;" -``` -::: - -:::{tab-item} CrateDB on localhost -:sync: localhost - -```{code-block} shell -http "localhost:4200/_sql?pretty" \ - stmt="SELECT 42.42;" -``` -::: - -:::: - - -(curl)= -## curl - -```{div} -:style: "float: right" -![image](https://github.com/crate/crate-clients-tools/assets/453543/318b0819-a0d4-4112-a320-23852263362c){w=240px} -``` - -The venerable **curl** is the ubiquitous command line tool and library for transferring -data with URLs. For more information, see the documentation about [curl]. - -This example combines it with [jq], a lightweight and flexible command-line JSON processor. - -```{div} -:style: "clear: both" -``` - -::::{tab-set} - -:::{tab-item} CrateDB and CrateDB Cloud -:sync: server - -```{code-block} shell -echo '{"stmt": "SELECT 42.42;"}' \ - | curl "https://:@:4200/_sql?pretty" --silent --data @- | jq -``` -::: - -:::{tab-item} CrateDB on localhost -:sync: localhost - -```{code-block} shell -echo '{"stmt": "SELECT 42.42;"}' \ - | curl "localhost:4200/_sql?pretty" --silent --data @- | jq -``` -::: - -:::: - - - -[curl]: https://curl.se/ -[crash]: inv:crate-crash:*:label#index -[HTTPie]: https://httpie.io/ -[jq]: https://jqlang.github.io/jq/ -[psql]: https://www.postgresql.org/docs/current/app-psql.html diff --git a/docs/connect/df.md b/docs/connect/df.md deleted file mode 100644 index 9089e41..0000000 --- a/docs/connect/df.md +++ /dev/null @@ -1,156 +0,0 @@ -(df)= -(dataframes)= -# CrateDB and DataFrame libraries - -Data frame libraries and frameworks which can -be used together with CrateDB. - - -:::::{grid} 1 2 2 2 -:margin: 4 4 0 0 -:padding: 0 -:gutter: 2 - -::::{grid-item-card} {material-outlined}`lightbulb;2em` Tutorials -:link: guide:dataframes -:link-type: ref -Learn how to use CrateDB together with popular open-source data frame -libraries, on behalf of hands-on tutorials and code examples. -+++ -{tag-info}`Dask` {tag-info}`pandas` {tag-info}`Polars` -:::: - -::::{grid-item-card} {material-outlined}`read_more;2em` SQLAlchemy -CrateDB's SQLAlchemy dialect implementation provides fundamental infrastructure -to integrations with Dask, pandas, and Polars. -+++ -[ORM Guides](inv:guide#orm) • -{ref}`ORM Catalog ` -:::: - -::::: - - -(dask)= -## Dask - -[Dask] is a parallel computing library for analytics with task scheduling. -It is built on top of the Python programming language, making it easy to scale -the Python libraries that you know and love, like NumPy, pandas, and scikit-learn. - -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/99bd2234-c501-479b-ade7-bcc2bfc1f288){w=180px}](https://www.dask.org/) -``` - -- [Dask DataFrames] help you process large tabular data by parallelizing pandas, - either on your laptop for larger-than-memory computing, or on a distributed - cluster of computers. - -- [Dask Futures], implementing a real-time task framework, allow you to scale - generic Python workflows across a Dask cluster with minimal code changes, - by extending Python's `concurrent.futures` interface. - -```{div} -:style: "clear: both" -``` - - -(pandas)= -## pandas - -```{div} -:style: "float: right" -[![](https://pandas.pydata.org/static/img/pandas.svg){w=180px}](https://pandas.pydata.org/) -``` - -[pandas] is a fast, powerful, flexible, and easy to use open source data analysis -and manipulation tool, built on top of the Python programming language. - -Pandas (stylized as pandas) is a software library written for the Python programming -language for data manipulation and analysis. In particular, it offers data structures -and operations for manipulating numerical tables and time series. - -:::{rubric} Data Model -::: -- Pandas is built around data structures called Series and DataFrames. Data for these - collections can be imported from various file formats such as comma-separated values, - JSON, Parquet, SQL database tables or queries, and Microsoft Excel. -- A Series is a 1-dimensional data structure built on top of NumPy's array. -- Pandas includes support for time series, such as the ability to interpolate values - and filter using a range of timestamps. -- By default, a Pandas index is a series of integers ascending from 0, similar to the - indices of Python arrays. However, indices can use any NumPy data type, including - floating point, timestamps, or strings. -- Pandas supports hierarchical indices with multiple values per data point. An index - with this structure, called a "MultiIndex", allows a single DataFrame to represent - multiple dimensions, similar to a pivot table in Microsoft Excel. Each level of a - MultiIndex can be given a unique name. - -```{div} -:style: "clear: both" -``` - - -(polars)= -## Polars - -```{div} -:style: "float: right; margin-left: 0.5em" -[![](https://github.com/pola-rs/polars-static/raw/master/logos/polars-logo-dark.svg){w=180px}](https://pola.rs/) -``` - -[Polars] is a blazingly fast DataFrames library with language bindings for -Rust, Python, Node.js, R, and SQL. Polars is powered by a multithreaded, -vectorized query engine, it is open source, and written in Rust. - -- **Fast:** Written from scratch in Rust and with performance in mind, - designed close to the machine, and without external dependencies. - -- **I/O:** First class support for all common data storage layers: local, - cloud storage & databases. - -- **Intuitive API:** Write your queries the way they were intended. Polars, - internally, will determine the most efficient way to execute using its query - optimizer. Polars' expressions are intuitive and empower you to write - readable and performant code at the same time. - -- **Out of Core:** The streaming API allows you to process your results without - requiring all your data to be in memory at the same time. - -- **Parallel:** Polars' multi-threaded query engine utilises the power of your - machine by dividing the workload amongst the available CPU cores without any - additional configuration. - -- **Vectorized Query Engine:** Uses [Apache Arrow], a columnar data format, to - process your queries in a vectorized manner and SIMD to optimize CPU usage. - This enables cache-coherent algorithms and high performance on modern processors. - -- **Open Source:** Polars is and always will be open source. Driven by an active - community of developers. Everyone is encouraged to add new features and contribute. - It is free to use under the MIT license. - -:::{rubric} Data formats -::: - -Polars supports reading and writing to many common data formats. -This allows you to easily integrate Polars into your existing data stack. - -- Text: CSV & JSON -- Binary: Parquet, Delta Lake, AVRO & Excel -- IPC: Feather, Arrow -- Databases: MySQL, Postgres, SQL Server, Sqlite, Redshift & Oracle -- Cloud Storage: S3, Azure Blob & Azure File - -```{div} -:style: "clear: both" -``` - - - -[Apache Arrow]: https://arrow.apache.org/ -[Dask]: https://www.dask.org/ -[Dask DataFrames]: https://docs.dask.org/en/latest/dataframe.html -[Dask Futures]: https://docs.dask.org/en/latest/futures.html -[pandas]: https://pandas.pydata.org/ -[Polars]: https://pola.rs/ diff --git a/docs/connect/index.md b/docs/connect/index.md deleted file mode 100644 index d8d5bfe..0000000 --- a/docs/connect/index.md +++ /dev/null @@ -1,572 +0,0 @@ -(connect)= - -# Connect to a CrateDB cluster - -This documentation section is about connecting your applications to CrateDB -and CrateDB Cloud, using database drivers, and compatibility-adapters and --dialects. - - -## Protocol Support - -CrateDB supports both the [HTTP protocol] and the [PostgreSQL wire protocol], -which ensures that many clients that work with PostgreSQL, will also work with -CrateDB. Through corresponding drivers, CrateDB is compatible with [ODBC], -[JDBC], and other database API specifications. - -While we generally recommend the PostgreSQL interface (PG) for maximum -compatibility in PostgreSQL environments, the HTTP interface supports [CrateDB -bulk operations] and [CrateDB BLOBs], which are not supported by the PostgreSQL -protocol. - -The HTTP protocol can also be used to connect from environments where -PostgreSQL-based communication is not applicable. - - -## Configure - -In order to connect to CrateDB, your application or driver needs to be -configured with corresponding connection properties. Please note that different -applications and drivers may obtain connection properties in different formats. - - - -::::::{tab-set} - -:::::{tab-item} CrateDB and CrateDB Cloud - -::::{grid} -:margin: 0 -:padding: 0 - -:::{grid-item} -:columns: 4 -:margin: 0 -:padding: 0 - -**Connection properties** - -:Host: ``.cratedb.net -:Port: 5432 (PostgreSQL) or
4200 (HTTP) -:User: `` -:Pass: `` - -::: - -:::{grid-item} -:columns: 8 -:margin: 0 -:padding: 0 -:class: driver-slim - -**Connection-string examples** -

- -**Native PostgreSQL, psql** -``` -postgresql://:@.cratedb.net:5432/doc -``` - -**JDBC: PostgreSQL pgJDBC** -``` -jdbc:postgresql://:@.cratedb.net:5432/doc -``` - -**JDBC: CrateDB JDBC, e.g. Apache Flink** -``` -jdbc:crate://:@.cratedb.net:5432/doc -``` - -**HTTP: Admin UI, CLI, CrateDB drivers** -``` -https://:@.cratedb.net:4200/ -``` - -**SQLAlchemy** -``` -crate://:@.cratedb.net:4200/?schema=doc&ssl=true -``` - -::: - -:::: - -::::: - -:::::{tab-item} CrateDB on localhost - -::::{grid} -:margin: 0 -:padding: 0 - -:::{grid-item} -:columns: 4 -:margin: 0 -:padding: 0 - -**Connection properties** - -:Host: localhost -:Port: 5432 (PostgreSQL) or
4200 (HTTP) -:User: `crate` -:Pass: (empty) - -::: - -:::{grid-item} -:columns: 8 -:margin: 0 -:padding: 0 -:class: driver-slim - -**Connection-string examples** -

- -**Native PostgreSQL, psql** -``` -postgresql://crate@localhost:5432/doc -``` - -**JDBC: PostgreSQL pgJDBC** -``` -jdbc:crate://crate@localhost:5432/doc -``` - -**JDBC: CrateDB JDBC, e.g. Apache Flink** -``` -jdbc:crate://:@localhost:5432/doc -``` - -**HTTP: Admin UI, CLI, CrateDB drivers** -``` -http://crate@localhost:4200/ -``` - -**SQLAlchemy** -``` -crate://crate@localhost:4200/?schema=doc -``` - -::: - -:::: -::::: - -:::::: - - -```{tip} -- CrateDB's fixed catalog name is `crate`, the default schema name is `doc`. -- CrateDB does not implement the notion of a database, - however tables can be created in different [schemas]. -- When asked for a *database name*, specifying a schema name (any), - or the fixed catalog name `crate` may be applicable. -- If a database-/schema-name is omitted while connecting, - the PostgreSQL drivers may default to the "username". -- The predefined [superuser] on an unconfigured CrateDB cluster is - called `crate`, defined without a password. -- For authenticating properly, please learn about the available - [authentication] options. -``` - - -## Client Libraries - -This section lists drivers and adapters for relevant programming languages, -frameworks, and environments. - -### PostgreSQL -The drivers listed in this section all use the [CrateDB PostgreSQL interface]. - -::::{sd-table} -:widths: 2 3 5 2 -:row-class: top-border - -:::{sd-row} -```{sd-item} -``` -```{sd-item} **Driver/Adapter** -``` -```{sd-item} **Description** -``` -```{sd-item} **Info** -``` -::: - -:::{sd-row} -```{sd-item} \- -``` -```{sd-item} -[PostgreSQL ODBC](https://odbc.postgresql.org/) -``` -```{sd-item} -The official PostgreSQL ODBC Driver. -For connecting to CrateDB from any environment that supports it. -``` -```{sd-item} -``` -::: - -:::{sd-row} -```{sd-item} .NET -``` -```{sd-item} -[Npgsql](https://www.npgsql.org/) -``` -```{sd-item} -An open source ADO.NET Data Provider for PostgreSQL, for program written in C#, -Visual Basic, and F#. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/npgsql/npgsql?label=latest)](https://github.com/npgsql/npgsql) -[![](https://img.shields.io/badge/example-runnable-darkcyan)](https://github.com/crate/cratedb-examples/tree/main/by-language/csharp-npgsql) -``` -::: - -:::{sd-row} -```{sd-item} .NET -``` -```{sd-item} -[CrateDB Npgsql fork](https://cratedb.com/docs/npgsql/) -``` -```{sd-item} -This fork of the official driver was needed prior to CrateDB 4.2. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/npgsql?label=latest)](https://github.com/crate/npgsql) -``` -::: - -:::{sd-row} -```{sd-item} Golang -``` -```{sd-item} -[pgx](https://github.com/jackc/pgx) -``` -```{sd-item} -A pure Go driver and toolkit for PostgreSQL. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/jackc/pgx?label=latest)](https://github.com/jackc/pgx) -``` -::: - -:::{sd-row} -```{sd-item} Java -``` -```{sd-item} -[PostgreSQL JDBC](https://jdbc.postgresql.org/) -``` -```{sd-item} -The official PostgreSQL JDBC Driver. -For connecting to CrateDB from any environment that supports it. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/pgjdbc/pgjdbc?label=latest)](https://github.com/pgjdbc/pgjdbc) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#java) -[![](https://img.shields.io/badge/example-runnable-darkcyan)](https://github.com/crate/cratedb-examples/tree/main/by-language/java-jdbc) -``` -::: - - -:::{sd-row} -```{sd-item} Java -``` -```{sd-item} -[CrateDB PgJDBC fork](https://cratedb.com/docs/jdbc/) -``` -```{sd-item} -For connecting to CrateDB with specialized type system support and -other tweaks. Ignores the `ROLLBACK` statement and the `hstore` and -`jsonb` extensions. -``` -```{sd-item} -[![](https://img.shields.io/maven-central/v/io.crate/crate-jdbc?label=latest)](https://github.com/crate/pgjdbc) -``` -::: - -:::{sd-row} -```{sd-item} Node.js -``` -```{sd-item} -[node-postgres](https://node-postgres.com/) -``` -```{sd-item} -A collection of Node.js modules for interfacing with a PostgreSQL database using -JavaScript or TypeScript. - -Has support for callbacks, promises, async/await, connection pooling, prepared -statements, cursors, streaming results, C/C++ bindings, rich type parsing, and more. -``` -```{sd-item} -[![](https://img.shields.io/npm/v/pg?label=latest&color=blue)](https://github.com/brianc/node-postgres) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#javascript) -``` -::: - -:::{sd-row} -```{sd-item} PHP -``` -```{sd-item} -[PDO_PGSQL](https://www.php.net/manual/en/ref.pdo-pgsql.php) -``` -```{sd-item} -For connecting to CrateDB from PHP, supporting its PDO interface. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/php/php-src?label=latest)](https://github.com/php/php-src/tree/master/ext/pdo_pgsql) -[![](https://img.shields.io/badge/example-runnable-darkcyan)](https://github.com/crate/cratedb-examples/tree/main/by-language/php-pdo) -``` -::: - -:::{sd-row} -```{sd-item} PHP -``` -```{sd-item} -[AMPHP](https://amphp.org/) -``` -```{sd-item} -For connecting to CrateDB using AMPHP, an Async PostgreSQL client for PHP. -AMPHP is a collection of high-quality, event-driven libraries for PHP -designed with fibers and concurrency in mind. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/amphp/postgres?label=latest)](https://github.com/amphp/postgres) -[![](https://img.shields.io/badge/example-runnable-darkcyan)](https://github.com/crate/cratedb-examples/tree/main/by-language/php-amphp) -``` -::: - -:::{sd-row} -```{sd-item} Python -``` -```{sd-item} -[aoipg](https://github.com/aio-libs/aiopg) -``` -```{sd-item} -For connecting to CrateDB from Python, supporting Python's `asyncio` (PEP-3156/tulip) framework. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/aio-libs/aiopg?label=latest)](https://github.com/aio-libs/aiopg) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#aiopg) -``` -::: - -:::{sd-row} -```{sd-item} Python -``` -```{sd-item} -[asyncpg](https://github.com/MagicStack/asyncpg) -``` -```{sd-item} -For connecting to CrateDB from Python, supporting Python's `asyncio`. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/MagicStack/asyncpg?label=latest)](https://github.com/MagicStack/asyncpg) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#psycopg2) -``` -::: - -:::{sd-row} -```{sd-item} Python -``` -```{sd-item} -[psycopg3](https://www.psycopg.org/psycopg3/docs/) -``` -```{sd-item} -For connecting to CrateDB from Python, supporting Python's `asyncio`. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/psycopg/psycopg?label=latest)](https://github.com/psycopg/psycopg) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#psycopg3) -``` -::: - -:::: - - -### HTTP -The drivers listed in this section all use the [CrateDB HTTP interface]. - -::::{sd-table} -:widths: 2 3 5 2 -:row-class: top-border - -:::{sd-row} -```{sd-item} -``` -```{sd-item} **Driver/Adapter** -``` -```{sd-item} **Description** -``` -```{sd-item} **Info** -``` -::: - -:::{sd-row} -```{sd-item} MicroPython -``` -```{sd-item} -[micropython-cratedb](https://github.com/crate/micropython-cratedb) -``` -```{sd-item} -A MicroPython library connecting to the CrateDB HTTP API. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/micropython-cratedb?label=latest)](https://github.com/crate/micropython-cratedb) -``` -::: - -:::{sd-row} -```{sd-item} Node.js -``` -```{sd-item} -[node-crate](https://www.npmjs.com/package/node-crate) -``` -```{sd-item} -A JavaScript library connecting to the CrateDB HTTP API. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/megastef/node-crate?label=latest)](https://github.com/megastef/node-crate) -[![](https://img.shields.io/badge/example-application-darkcyan)](https://github.com/crate/devrel-shipping-forecast-geo-demo) -``` -::: - -:::{sd-row} -```{sd-item} PHP -``` -```{sd-item} -[CrateDB PDO driver](https://cratedb.com/docs/pdo/) -``` -```{sd-item} -For connecting to CrateDB from PHP. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/crate-pdo?label=latest)](https://github.com/crate/crate-pdo) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#php) -``` -::: - -:::{sd-row} -```{sd-item} PHP -``` -```{sd-item} -[CrateDB DBAL adapter](https://cratedb.com/docs/dbal/) -``` -```{sd-item} -For connecting to CrateDB from PHP, using DBAL and Doctrine. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/crate-dbal?label=latest)](https://github.com/crate/crate-dbal) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#php) -``` -::: - -:::{sd-row} -```{sd-item} Python -``` -```{sd-item} -[CrateDB Python driver](https://cratedb.com/docs/python/) -``` -```{sd-item} -For connecting to CrateDB from Python. Has support for [CrateDB BLOBs]. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/crate-python?label=latest)](https://github.com/crate/crate-python) -[![](https://img.shields.io/badge/docs-by%20example-darkgreen)][python-dbapi-by-example] -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#crate-python) -``` -::: - -:::{sd-row} -```{sd-item} Python -``` -```{sd-item} -[SQLAlchemy dialect](https://cratedb.com/docs/sqlalchemy-cratedb/) -``` -```{sd-item} -For connecting to CrateDB from Python, using SQLAlchemy. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/sqlalchemy-cratedb?label=latest)](https://github.com/crate/sqlalchemy-cratedb) -[![](https://img.shields.io/badge/docs-by%20example-darkgreen)][python-sqlalchemy-by-example] -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#sqlalchemy-cratedb) -``` -::: - -:::{sd-row} -```{sd-item} Ruby -``` -```{sd-item} -[CrateDB Ruby driver](https://github.com/crate/crate_ruby) -``` -```{sd-item} -A Ruby client library for CrateDB. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/crate_ruby?label=latest)](https://github.com/crate/crate_ruby) -[![](https://img.shields.io/badge/example-snippet-darkcyan)](#ruby) -[![](https://img.shields.io/badge/example-runnable-darkcyan)](https://github.com/crate/cratedb-examples/tree/main/by-language/ruby) -``` -::: - -:::{sd-row} -```{sd-item} Ruby -``` -```{sd-item} -[CrateDB ActiveRecord adapter](https://github.com/crate/activerecord-crate-adapter) -``` -```{sd-item} -Ruby on Rails ActiveRecord adapter for CrateDB. -``` -```{sd-item} -[![](https://img.shields.io/github/v/tag/crate/activerecord-crate-adapter?label=latest)](https://github.com/crate/activerecord-crate-adapter) -``` -::: - -:::: - - -```{tip} -Please visit the [](#build-status) page for an overview about the integration -status of the client drivers listed above, and more. -``` - - -```{toctree} -:maxdepth: 1 -:hidden: - -java -javascript -php -python -ruby -``` - - -[ADBC]: https://arrow.apache.org/docs/format/ADBC.html -[Authentication]: inv:crate-reference:*:label#admin_auth -[CrateDB BLOBs]: inv:crate-reference:*:label#blob_support -[CrateDB bulk operations]: inv:crate-reference:*:label#http-bulk-ops -[CrateDB HTTP interface]: inv:crate-reference:*:label#interface-http -[CrateDB PostgreSQL interface]: inv:crate-reference:*:label#interface-postgresql -[HTTP protocol]: https://en.wikipedia.org/wiki/HTTP -[JDBC]: https://en.wikipedia.org/wiki/Java_Database_Connectivity -[ODBC]: https://en.wikipedia.org/wiki/Open_Database_Connectivity -[PostgreSQL wire protocol]: https://www.postgresql.org/docs/current/protocol.html -[python-dbapi-by-example]: inv:crate-python:*:label#by-example -[python-sqlalchemy-by-example]: inv:sqlalchemy-cratedb:*:label#by-example -[schema]: inv:crate-reference:*:label#ddl-create-table-schemas -[schemas]: inv:crate-reference:*:label#ddl-create-table-schemas -[superuser]: inv:crate-reference:*:label#administration_user_management diff --git a/docs/connect/java.rst b/docs/connect/java.rst deleted file mode 100644 index 1d237d2..0000000 --- a/docs/connect/java.rst +++ /dev/null @@ -1,41 +0,0 @@ -.. _connect-java: - -==== -Java -==== - -JDBC is a standard Java API that provides a common interfaces for accessing -databases in Java. - -Example method used in implementation: - -.. code-block:: java - - import java.sql.*; - import java.util.Properties; - - public class Main { - public static void main(String[] args) { - try { - Properties properties = new Properties(); - properties.put("user", "admin"); - properties.put("password", ""); - properties.put("ssl", true); - Connection conn = DriverManager.getConnection( - "crate://.cratedb.net:5432/", - properties - ); - - Statement statement = conn.createStatement(); - ResultSet resultSet = statement.executeQuery("SELECT name FROM sys.cluster"); - resultSet.next(); - String name = resultSet.getString("name"); - - System.out.println(name); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } - -See full documentation :ref:`here `. \ No newline at end of file diff --git a/docs/connect/javascript.rst b/docs/connect/javascript.rst deleted file mode 100644 index 751e740..0000000 --- a/docs/connect/javascript.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. _connect-javascript: - -========== -JavaScript -========== - -This section provides a quick overview of available node.js modules and -drivers for CrateDB Cloud. - -node-postgres -------------- - -node-postgres is a collection of node.js modules for interfacing with a CrateDB -Cloud database. - -Example implementation will look like this: - -.. code-block:: javascript - - const { Client } = require("pg"); - - const crateClient = new Client({ - host: ".cratedb.net", - port: 5432, - user: "admin", - password: "", - ssl: true, - }); - - (async () => { - await crateClient.connect(); - const result = await crateClient.query("SELECT name FROM sys.cluster"); - console.log(result.rows[0]); - })(); - -For more information see `node-postgres documentation`_. - -node-crate ----------- - -node-crate is an independent node.js driver implementation for CRATE using the _sql endpoint REST API. - -Example implementation will look like this: - -.. code-block:: javascript - - const crate = require("node-crate"); - - crate.connect(`https://admin:${encodeURIComponent("")}@.cratedb.net:4200`); - - (async () => { - const result = await crate.execute("SELECT name FROM sys.cluster"); - console.log(result.rows[0]); - })(); - - -For more information see `node-crate documentation`_. - -.. _node-postgres documentation: https://www.npmjs.com/package/pg -.. _node-crate documentation: https://www.npmjs.com/package/node-crate diff --git a/docs/connect/orm.md b/docs/connect/orm.md deleted file mode 100644 index 3e93196..0000000 --- a/docs/connect/orm.md +++ /dev/null @@ -1,42 +0,0 @@ -(orm)= -# CrateDB and ORM libraries - -ORM libraries and frameworks which can -be used together with CrateDB. - - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:orm -:link-type: ref - -Learn how to use CrateDB together with popular open-source ORM libraries. -+++ -{tag}`ORM` {tag-info}`SQLAlchemy` -:::: - - - -## SQLAlchemy - -```{div} -:style: "float: right" -[![](https://www.sqlalchemy.org/img/sqla_logo.png){w=180px}](https://www.sqlalchemy.org/) -``` - -[SQLAlchemy] is the Python SQL toolkit and Object Relational Mapper that -gives application developers the full power and flexibility of SQL. - -Python-based [DataFrame](df.md) -and [ML](../integrate/ml.md) libraries, and a few [ETL](../integrate/etl.md) -frameworks, are using SQLAlchemy as database adapter library when connecting to -[RDBMS]. - -```{div} -:style: "clear: both" -``` - - -[RDBMS]: https://en.wikipedia.org/wiki/RDBMS -[SQLAlchemy]: https://www.sqlalchemy.org/ diff --git a/docs/connect/php.rst b/docs/connect/php.rst deleted file mode 100644 index 2ebae4d..0000000 --- a/docs/connect/php.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _connect-php: - -=== -PHP -=== - -This section provides a quick overview of available PHP extensions for CrateDB -Cloud. - -PDO ---- - -The PHP Data Objects (PDO) is a standard PHP extension that defines a common -interface for accessing databases in PHP. - -Example implementation will look like this: - -.. code-block:: php - - .cratedb.net:4200', - 'admin', - '' - ); - - $stm = $pdo->query('SELECT name FROM sys.cluster'); - $name = $stm->fetch(); - print $name[0]; - - ?> - -See full documentation :ref:`here `. - -DBAL ----- - -DBAL is a PHP database abstraction layer that comes with database schema -introspection, schema management, and PDO support. - -Example implementation will look like this: - -.. code-block:: console - - 'Crate\DBAL\Driver\PDOCrate\Driver', - 'user' => 'admin', - 'password' = '', - 'host' => '.cratedb.net', - 'port' => 4200 - ); - - $connection = \Doctrine\DBAL\DriverManager::getConnection($params); - $sql = 'SELECT name FROM sys.cluster'; - $name = $connection->query($sql)->fetch(); - - print $name['name']; - - ?> - -See full documentation :ref:`here `. diff --git a/docs/connect/python.rst b/docs/connect/python.rst deleted file mode 100644 index 1db03a2..0000000 --- a/docs/connect/python.rst +++ /dev/null @@ -1,163 +0,0 @@ -.. _connect-python: - -====== -Python -====== - -This guide demonstrates how to connect to a CrateDB Cloud cluster using different -kinds of Python drivers. Individual drivers offer specific features for specific -needs of your application, so consider reading this enumeration carefully. - -.. _crate-python: - -crate-python ------------- - -The ``crate`` Python package offers a database client implementation compatible -with the Python Database API 2.0 specification, and also includes the CrateDB -SQLAlchemy dialect. See the full documentation :ref:`here `. -The package can be installed using ``pip install crate``. - -.. code-block:: python - - from crate import client - - conn = client.connect("https://.cratedb.net:4200", username="admin", password="", verify_ssl_cert=True) - - with conn: - cursor = conn.cursor() - cursor.execute("SELECT * FROM sys.summits") - result = cursor.fetchone() - print(result) - -.. _sqlalchemy-cratedb: - -sqlalchemy-cratedb ------------------- - -The `SQLAlchemy`_ dialect for CrateDB, based on the HTTP-based DBAPI client -library `crate-python`_. -See the full documentation :ref:`here `. -The package can be installed using ``pip install sqlalchemy-cratedb``. - -.. code-block:: python - - import sqlalchemy as sa - - engine = sa.create_engine("crate://localhost:4200", echo=True) - connection = engine.connect() - - result = connection.execute(sa.text("SELECT * FROM sys.summits;")) - for record in result.all(): - print(record) - -.. _psycopg2: - -psycopg2 --------- - -Psycopg is a popular PostgreSQL database adapter for Python. Its main features -are the complete implementation of the Python DB API 2.0 specification and the -thread safety (several threads can share the same connection). -For more information, see the `psycopg documentation`_. - -.. code-block:: python - - import psycopg2 - - conn = psycopg2.connect(host=".cratedb.net", port=5432, user="admin", password="", sslmode="require") - - with conn: - with conn.cursor() as cursor: - cursor.execute("SELECT * FROM sys.summits") - result = cursor.fetchone() - print(result) - -.. _psycopg3: - -psycopg3 --------- - -`Psycopg 3`_ is a newly designed PostgreSQL database adapter for the Python -programming language. Psycopg 3 presents a familiar interface for everyone who -has used Psycopg 2 or any other DB-API 2.0 database adapter, but allows to use -more modern PostgreSQL and Python features, such as: - -- Asynchronous support -- COPY support from Python objects -- A redesigned connection pool -- Support for static typing -- Server-side parameters binding -- Prepared statements -- Statements pipeline -- Binary communication -- Direct access to the libpq functionalities - -.. code-block:: python - - import psycopg - - with psycopg.connect("postgres://crate@localhost:5432/doc") as conn: - with conn.cursor() as cursor: - cursor.execute("SELECT * FROM sys.summits") - for record in cursor: - print(record) - -.. _aiopg: - -aiopg ------ - -aiopg is a python library for accessing a PostgreSQL database from the asyncio -PEP-3156/tulip) framework. It wraps asynchronous features of the Psycopg -database driver. -For more information, see the `aiopg documentation`_. - -.. code-block:: python - - import asyncio - import aiopg - - async def run(): - async with aiopg.create_pool(host=".cratedb.net", port=5432, user="admin", password="", sslmode="require") as pool: - async with pool.acquire() as conn: - async with conn.cursor() as cursor: - await cursor.execute("SELECT * FROM sys.summits") - result = await cursor.fetchone() - print(result) - - loop = asyncio.get_event_loop() - loop.run_until_complete(run()) - -.. _asyncpg: - -asyncpg -------- - -asyncpg is a database interface library designed specifically for PostgreSQL -and Python/asyncio. asyncpg is an efficient, clean implementation of the -PostgreSQL server binary protocol for use with Python's asyncio framework. -For more information, see the `asyncpg documentation`_. - -.. code-block:: python - - import asyncio - import asyncpg - - async def run(): - conn = await asyncpg.connect(host=".cratedb.net", port=5432, user="admin", password="", ssl=True) - try: - result = await conn.fetch("SELECT * FROM sys.summits") - finally: - await conn.close() - print(result) - - loop = asyncio.get_event_loop() - loop.run_until_complete(run()) - - -.. _aiopg documentation: https://aiopg.readthedocs.io/ -.. _asyncpg documentation: https://magicstack.github.io/asyncpg/current/ -.. _psycopg documentation: https://www.psycopg.org/docs/ -.. _Psycopg 3: https://www.psycopg.org/psycopg3/docs/ -.. _SQLAlchemy: https://www.sqlalchemy.org/ diff --git a/docs/connect/ruby.rst b/docs/connect/ruby.rst deleted file mode 100644 index 29458ec..0000000 --- a/docs/connect/ruby.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. _connect-ruby: - -==== -Ruby -==== - -This section shows an example implementation of Ruby client library for CrateDB -Cloud: - -.. code-block:: ruby - - require 'crate_ruby' - - client = CrateRuby::Client.new(servers=[".cratedb.net:4200"], username: "admin", password: "", ssl: true) - result = client.execute("SELECT name FROM sys.cluster") - p result.to_a - -For additional information see `our GitHub documentation`_. - -.. _our GitHub documentation: https://github.com/crate/crate_ruby/blob/main/README.rst \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 481af65..1ff18a7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -173,34 +173,13 @@ element. ```{seealso} Looking for the previous content on this page? Visit [](#index-legacy). -``` - - -```{toctree} -:hidden: - -CLI programs -Database Drivers -ORM Libraries -DataFrame Libraries -``` - -```{toctree} -:hidden: - -Programming Frameworks -Load and Export -System Metrics -Data Visualization -Business Intelligence -Machine Learning +Looking for the status of integration tests? See the {ref}`build status ` page. ``` ```{toctree} :hidden: -Build Status -Legacy documentation +Legacy driver page ``` diff --git a/docs/integrate/bi.md b/docs/integrate/bi.md deleted file mode 100644 index efacd99..0000000 --- a/docs/integrate/bi.md +++ /dev/null @@ -1,117 +0,0 @@ -(bi)= -(bi-tools)= -# Business Analytics and Intelligence with CrateDB - -Business analytics applications -and frameworks, which can be used together with CrateDB. - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:bi -:link-type: ref - -Guidelines about integrating CrateDB with business analytics and intelligence -software. -+++ -{tag}`BI` {tag}`DataViz` {tag-info}`PowerBI` {tag-info}`Rill` {tag-info}`Tableau` -:::: - - -(powerbi)= -## Microsoft Power BI - -```{div} -:style: "float: right" -[![](https://upload.wikimedia.org/wikipedia/en/thumb/2/20/Power_BI_logo.svg/192px-Power_BI_logo.svg.png?20200923233425){w=180px}](https://powerbi.microsoft.com/en-us/desktop/) -``` - -[Power BI Desktop] is a powerful business intelligence tool that provides a set of -data analytics and visualizations. Using Power BI Desktop, users can create reports -and dashboards from large datasets. - -For connecting to CrateDB with Power BI, you can use the [Power Query PostgreSQL connector]. -Earlier versions used the [PostgreSQL ODBC driver]. [](inv:guide#powerbi-desktop) walks -you through the process of configuring that correctly. - -[Power BI Service] is an online data analysis and visualization tool, making it -possible to publish your dashboards, in order to share them with others. -[](inv:guide#powerbi-service) has a corresponding tutorial. - -![](https://cratedb.com/docs/crate/howtos/en/latest/_images/powerbi-table-navigator.png){h=160px} -![](https://cratedb.com/docs/crate/howtos/en/latest/_images/powerbi-pie-chart.png){h=160px} -![](https://cratedb.com/docs/crate/howtos/en/latest/_images/powerbi-publish-success.png){h=160px} - -```{seealso} -[CrateDB and Power BI] -``` - - -## Rill - -```{div} -:style: "float: right; margin-left: 0.5em" -[![](https://github.com/rilldata/rill/raw/main/docs/static/img/rill-logo-light.svg){w=180px}](https://www.rilldata.com/) -``` - -[Rill] is an open-source operational BI framework for effortlessly transforming -data sets into powerful, opinionated dashboards using SQL. - -Unlike most BI tools, Rill comes with its own embedded in-memory database. Data -and compute are co-located, and queries return in milliseconds. So you can pivot, -slice, and drill-down into your data instantly. - -Rill takes a modern approach to Business Intelligence (BI), which is starting to -leverage software engineering principles by implementing the concept of BI as -code. - -This methodology allows for versioning and tracking, thus improving collaboration -on BI projects using code, which is more efficient and scalable than traditional -BI tools, also breaking down information and knowledge barriers. - -:::{rubric} Rill's design principles -::: - -- **Feels good to use** – powered by Sveltekit & DuckDB = conversation-fast, not - wait-ten-seconds-for-result-set fast -- **Works with your local and remote datasets** – imports and exports Parquet and - CSV (s3, gcs, https, local) -- **No more data analysis "side-quests"** – helps you build intuition about your - dataset through automatic profiling -- **No "run query" button required** – responds to each keystroke by re-profiling - the resulting dataset -- **Radically simple interactive dashboards** – thoughtful, opinionated, interactive - dashboard defaults to help you quickly derive insights from your data -- **Dashboards as code** – each step from data to dashboard has versioning, Git - sharing, and easy project rehydration - -![](https://cdn.prod.website-files.com/659ddac460dbacbdc813b204/65b83308971b2f12202ae0fa_b2a470f529fc0f7d9b66de4d75742674.gif){h=200px} -![](https://cdn.prod.website-files.com/659ddac460dbacbdc813b204/65b835371c75806184829601_BI-as-code%20(1)-p-3200.webp){h=200px} - - -(tableau)= -## Tableau - -```{div} -:style: "float: right; margin-left: 0.5em" -[![](https://upload.wikimedia.org/wikipedia/en/thumb/0/06/Tableau_logo.svg/500px-Tableau_logo.svg.png?20200509180027){w=180px}](https://www.tableau.com/) -``` - -[Tableau] is a visual business intelligence and analytics software platform. It expresses -data by translating drag-and-drop actions into data queries through an intuitive interface. - -![](https://cratedb.com/hs-fs/hubfs/08-index.png?width=1536&name=08-index.png){h=200px} - -```{seealso} -[CrateDB and Tableau] -``` - - -[CrateDB and Tableau]: https://cratedb.com/integrations/cratedb-and-tableau -[CrateDB and Power BI]: https://cratedb.com/integrations/cratedb-and-power-bi -[PostgreSQL ODBC driver]: https://odbc.postgresql.org/ -[Power BI Desktop]: https://powerbi.microsoft.com/en-us/desktop/ -[Power BI Service]: https://powerbi.microsoft.com/en-us/ -[Power Query PostgreSQL connector]: https://learn.microsoft.com/en-us/power-query/connectors/postgresql -[Rill]: https://www.rilldata.com/ -[Tableau]: https://www.tableau.com/ diff --git a/docs/integrate/etl.md b/docs/integrate/etl.md deleted file mode 100644 index ddec9e0..0000000 --- a/docs/integrate/etl.md +++ /dev/null @@ -1,335 +0,0 @@ -(etl)= -# ETL with CrateDB - -ETL / data pipeline applications and frameworks for transferring data in -and out of CrateDB. - - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:etl -:link-type: ref - -Learn how to integrate CrateDB with popular ETL frameworks and applications. -+++ -{tag}`Extract, Transform, Load` {tag}`Data I/O, Import/Export` {tag}`ETL` {tag}`ELT` -:::: - - -(apache-airflow)= -(airflow)= -(astronomer)= -## Apache Airflow / Astronomer - -```{div} -:style: "float: right" -[![](https://19927462.fs1.hubspotusercontent-na1.net/hub/19927462/hubfs/Partner%20Logos/392x140/Apache-Airflow-Logo-392x140.png?width=784&height=280&name=Apache-Airflow-Logo-392x140.png){w=180px}](https://airflow.apache.org/) - -[![](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/) -``` -[Apache Airflow] is an open source software platform to programmatically author, -schedule, and monitor workflows, written in Python. -[Astronomer] offers managed Airflow services on the cloud of your choice, in -order to run Airflow with less overhead. - -Airflow has a modular architecture and uses a message queue to orchestrate an -arbitrary number of workers. Pipelines are defined in Python, allowing for -dynamic pipeline generation and on-demand, code-driven pipeline invocation. - -Pipeline parametrization is using the powerful Jinja templating engine. -To extend the system, you can define your own operators and extend libraries -to fit the level of abstraction that suits your environment. -```{div} -:style: "clear: both" -``` - -```{seealso} -[CrateDB and Apache Airflow] -``` - - -:::{dropdown} **Managed Airflow** - -```{div} -:style: "float: right" -[![](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/) -``` - -[Astro][Astronomer] is the best managed service in the market for teams on any step of their data -journey. Spend time where it counts. - -- Astro runs on the cloud of your choice. Astro manages Airflow and gives you all the - features you need to focus on what really matters – your data. All while connecting - securely to any service in your network. -- Create Airflow environments with a click of a button. -- Protect production DAGs with easy Airflow upgrades and custom high-availability configs. -- Get visibility into what’s running with analytics views and easy interfaces for logs - and alerts. Across environments. -- Take down tech-debt and learn how to drive Airflow best practices from the experts - behind the project. Get world-class support, fast-tracked bug fixes, and same-day - access to new Airflow versions. - -```{div} -:style: "clear: both" -``` -::: - - -## Apache Hop - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://hop.apache.org/img/hop-logo.svg){w=180px}](https://hop.apache.org/) -``` - -[Apache Hop] aims to be a modern, open source data integration platform that is -easy to use, fast, and flexible. It facilitates all aspects of data and metadata -orchestration. - -- **Visual development** enables developers to be more productive than they can - be through code. - -- **Workflows and pipelines** can be designed in the Hop Gui and run on the Hop - native engine (local or remote), or on Spark, Flink, Google Dataflow or AWS EMR - through Beam. _Design once, run anywhere._ - -- **Lifecycle Management** enables developers and administrators to switch between - projects, environments and purposes without leaving your train of thought. - -![](https://github.com/crate/crate-clients-tools/assets/453543/da6baf11-8430-4a0f-b2df-55717ce02802){h=120px} -![](https://github.com/crate/crate-clients-tools/assets/453543/60cfc82a-db0a-49f1-8e26-a37b774b3614){h=120px} -![](https://github.com/crate/crate-clients-tools/assets/453543/2bd59577-b664-45ae-a71e-36a130d36739){h=120px} - - - -## Apache Kafka - -```{div} -:style: "float: right" -[![](https://kafka.apache.org/logos/kafka_logo--simple.png){w=180px}](https://kafka.apache.org/) -``` - -[Apache Kafka] is an open-source distributed event streaming platform used by -thousands of companies for high-performance data pipelines, streaming analytics, -data integration, and mission-critical applications. - -```{seealso} -[CrateDB and Apache Kafka] -``` - -:::{dropdown} **Managed Kafka** -A few companies are specializing in offering managed Kafka services. We can't list -them all, see the [overview about more managed Kafka offerings]. - -- [Aiven for Apache Kafka] -- [Amazon Managed Streaming for Apache Kafka (MSK)] -- [Apache Kafka on Azure] -- [Azure Event Hubs for Apache Kafka] -- [Confluent Cloud] -- [DoubleCloud Managed Service for Apache Kafka] -::: - - -## Apache NiFi - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://nifi.apache.org/images/apache-nifi-drop-logo.svg){w=180px}](https://nifi.apache.org/) -``` - -[Apache NiFi] is an easy to use, powerful, and reliable system to process and -distribute data. NiFi automates cybersecurity, observability, event streams, -and generative AI data pipelines and distribution for thousands of companies -worldwide across every industry. - -- **Data provenance tracking**: Complete lineage of information from beginning to end. -- **Extensive configuration**: Loss-tolerant and guaranteed delivery, Low latency and - high throughput, Dynamic prioritization, Runtime modification of flow configuration, - Back pressure control. -- **Browser-based user interface**: Seamless experience for design, control, feedback, - and monitoring -- **Secure communication**: HTTPS with configurable authentication strategies, - Multi-tenant authorization and policy management, Standard protocols for encrypted - communication including TLS and SSH. - -![](https://github.com/crate/crate-clients-tools/assets/453543/ba6973dd-2eec-4f1f-a436-96aac7eb9892){h=120px} -![](https://github.com/crate/crate-clients-tools/assets/453543/7fd4d2e7-98bc-44ee-b441-e1835016ab4d){h=120px} -![](https://github.com/crate/crate-clients-tools/assets/453543/ccfa4ac7-0d60-432f-b952-2b50789cd325){h=120px} - - -## Debezium - -```{div} -:style: "float: right" -[![](https://debezium.io/assets/images/color_white_debezium_type_600px.svg){w=180px}](https://debezium.io/) -``` - -[Debezium] is an open source distributed platform for change data capture. After -pointing it at your databases, you are able to subscribe to the event stream of -all database update operations. - - -## Kestra - -```{div} -:style: "float: right" -[![](https://kestra.io/logo.svg){w=180px}](https://kestra.io/) -``` - -[Kestra] is an open source workflow automation and orchestration toolkit with a rich -plugin ecosystem. It enables users to automate and manage complex workflows in a -streamlined and efficient manner, defining them both declaratively, or imperatively -using any scripting language like Python, Bash, or JavaScript. - -Kestra comes with a user-friendly web-based interface including a live-updating DAG -view, allowing users to create, modify, and manage scheduled and event-driven flows -without the need for any coding skills. - -Plugins are at the core of Kestra's extensibility. Many plugins are available from -the Kestra core team, and creating your own is easy. With plugins, you can add new -functionality to Kestra. - -![](https://kestra.io/landing/features/declarative1.svg){h=120px} -![](https://kestra.io/landing/features/flowable.svg){h=120px} -![](https://kestra.io/landing/features/monitor.svg){h=120px} - -```{seealso} -[CrateDB and Kestra] -``` - - -## Node-RED - -```{div} -:style: "float: right" -[![](https://upload.wikimedia.org/wikipedia/commons/2/2b/Node-red-icon.png){w=180px}](https://nodered.org/) -``` - -[Node-RED] is a programming tool for wiring together hardware devices, APIs -and online services within a low-code programming environment for event-driven -applications. It allows orchestrating message flows and transformations through -an intuitive web interface. - -It provides a browser-based editor that makes it easy to wire together flows -using the wide range of elements called "nodes" from the palette that can be -deployed to its runtime in a single-click. - -```{seealso} -[CrateDB and Node-RED] -``` - -:::{dropdown} **Managed Node-RED** -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/200d1a92-1e38-453a-89bf-d8b727451fab){w=180px}](https://flowfuse.com/) -``` - -With [FlowFuse], and [FlowFuse Cloud], essentially unmanaged and managed DevOps -for Node-RED, you can reliably deliver Node-RED applications in a continuous, -collaborative, and secure manner. - -- **Collaborative Development:** FlowFuse adds team collaboration to Node-RED, - allowing multiple developers to work together on a single instance. With - FlowFuse, developers can easily share projects, collaborate in real-time and - streamline workflow for faster development and deployment. -- **Manage Remote Deployments:** Many organizations deploy Node-RED instances to - remote servers or edge devices. FlowFuse automates this process by creating - snapshots on Node-RED instances that can be deployed to multiple remote targets. - It also allows for rollback in cases where something might not have gone correctly. -- **Streamline Application Delivery:** FlowFuse simplifies the software development - lifecycle of Node-RED applications. You can now set up DevOps delivery pipelines - to support development, test and production environments for Node-RED application - delivery, see [Introduction to FlowFuse]. -- **Flexible FlowFuse Deployment:** We want to make it easy for you to use FlowFuse, - so we offer FlowFuse Cloud, a managed cloud service, or a self-hosted solution. - You have the freedom to choose the deployment method that works best for your - organization. - -```{div} -:style: "clear: both" -``` -::: - - -## Singer / Meltano - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://www.singer.io/img/singer_logo_full_black.svg){w=180px}](https://www.singer.io/) - -[![](https://github.com/crate/crate-clients-tools/assets/453543/0c01e995-d7c2-4a4d-8e90-c6697fe2a85d){w=180px}](https://meltano.com/) -``` - -[Singer] is a composable open source ETL framework and specification, including powerful -data extraction and consolidation elements. [Meltano] is a declarative code-first data -integration engine adhering to the Singer specification. - -[Meltano Hub] is the single source of truth to find any Meltano plugins as well -as Singer taps and targets. - -```{div} -:style: "clear: both" -``` - - -## SQL Server Integration Services - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://github.com/crate/crate-clients-tools/assets/453543/a93a0fdb-1a1e-451e-abcb-8f705e2b03f4){w=180px}](https://www.microsoft.com/) - -[![](https://github.com/crate/crate-clients-tools/assets/453543/6317965a-0b69-4d8e-bc77-e12dfc8ed338){w=180px}](https://learn.microsoft.com/en-us/sql/) -``` - -Microsoft [SQL Server Integration Services] (SSIS) is a component of the Microsoft -SQL Server database software that can be used to perform a broad range of data -migration tasks. - -[SSIS] is a platform for data integration and workflow applications. It features a -data warehousing tool used for data extraction, transformation, and loading (ETL). -The tool may also be used to automate maintenance of SQL Server databases and -updates to multidimensional cube data. - -Integration Services can extract and transform data from a wide variety of sources -such as XML data files, flat files, and relational data sources, and then load the -data into one or more destinations. - -Integration Services includes a rich set of built-in [tasks][ssis-tasks] and -[transformations][ssis-transformations], graphical tools for building packages, and -an SSIS Catalog database to store, run, and manage packages. - -```{div} -:style: "clear: both" -``` - - -[Aiven for Apache Kafka]: https://aiven.io/kafka -[Amazon Managed Streaming for Apache Kafka (MSK)]: https://aws.amazon.com/msk/ -[Apache Airflow]: https://airflow.apache.org/ -[Apache Hop]: https://hop.apache.org/ -[Apache Kafka]: https://kafka.apache.org/ -[Apache Kafka on Azure]: https://azuremarketplace.microsoft.com/marketplace/consulting-services/canonical.0001-com-ubuntu-managed-kafka -[Apache NiFi]: https://nifi.apache.org/ -[Astronomer]: https://www.astronomer.io/ -[Azure Event Hubs for Apache Kafka]: https://learn.microsoft.com/en-us/azure/event-hubs/azure-event-hubs-kafka-overview -[Confluent Cloud]: https://www.confluent.io/confluent-cloud/ -[CrateDB and Apache Airflow]: https://cratedb.com/integrations/cratedb-and-apache-airflow -[CrateDB and Apache Kafka]: https://cratedb.com/integrations/cratedb-and-kafka -[CrateDB and Kestra]: https://cratedb.com/integrations/cratedb-and-kestra -[CrateDB and Node-RED]: https://cratedb.com/integrations/cratedb-and-node-red -[Debezium]: https://debezium.io/ -[DoubleCloud Managed Service for Apache Kafka]: https://double.cloud/services/managed-kafka/ -[FlowFuse]: https://flowfuse.com/ -[FlowFuse Cloud]: https://app.flowforge.com/ -[Introduction to FlowFuse]: https://flowfuse.com/webinars/2023/introduction-to-flowforge/ -[Kestra]: https://kestra.io/ -[Meltano]: https://meltano.com/ -[Meltano Hub]: https://hub.meltano.com/ -[Node-RED]: https://nodered.org/ -[Overview about more managed Kafka offerings]: https://keen.io/blog/managed-apache-kafka-vs-diy/ -[Singer]: https://www.singer.io/ -[SQL Server Integration Services]: https://learn.microsoft.com/en-us/sql/integration-services/sql-server-integration-services -[SSIS]: https://en.wikipedia.org/wiki/SQL_Server_Integration_Services -[ssis-tasks]: https://learn.microsoft.com/en-us/sql/integration-services/control-flow/integration-services-tasks -[ssis-transformations]: https://learn.microsoft.com/en-us/sql/integration-services/data-flow/transformations/integration-services-transformations diff --git a/docs/integrate/framework.md b/docs/integrate/framework.md deleted file mode 100644 index fb422ae..0000000 --- a/docs/integrate/framework.md +++ /dev/null @@ -1,219 +0,0 @@ -(framework)= -# Using Programming Frameworks with CrateDB - -Application programming frameworks integrating with CrateDB. - -Many of them are built on top of the Python programming language, making it easy -to use the Python libraries that you know and love. - -:::::{grid} 1 2 2 2 -:margin: 4 4 0 0 -:padding: 0 -:gutter: 2 - -::::{grid-item-card} {material-outlined}`lightbulb;2em` Examples - -A few quick examples about how to use relevant frameworks together with CrateDB. - -- https://github.com/crate/cratedb-examples/tree/main/framework -+++ -{tag-info}`Gradio` {tag-info}`Streamlit` -:::: - -::::{grid-item-card} {material-outlined}`read_more;2em` SQLAlchemy -CrateDB's SQLAlchemy dialect implementation provides fundamental database adapter -infrastructure to framework integrations. -+++ -[ORM Guides](inv:guide#orm) • -{ref}`ORM Catalog ` -:::: - -::::: - - -(dash)= -## Dash - -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://dash.plotly.com/) -``` - -[Dash] is a low-code framework for rapidly building data apps in Python, -based on [Plotly]. Built on top of Plotly.js, React and Flask, Dash ties -modern UI elements like dropdowns, sliders, and graphs, directly to your -analytical Python code. - -Dash is a trusted Python framework for building ML & data science web apps. Many -specialized open-source Dash libraries exist that are tailored for building -domain-specific Dash components and applications. - -```{div} -:style: "clear: both" -``` -::: - -![](https://github.com/crate/crate-clients-tools/assets/453543/cc538982-e351-437b-97ec-f1fc6ca34948){h=200px} -![](https://github.com/crate/crate-clients-tools/assets/453543/24908861-f0ad-43f3-b229-b2bfcc61596d){h=200px} - -:::{dropdown} **Dash Enterprise** -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://plotly.com/dash/) -``` - -Dash Enterprise is Plotly’s paid product for building, testing, deploying, managing, -and scaling Dash applications organization-wide, advertised as the Premier Data App -Platform for Python. - -When building Dash apps in a business setting, Dash Enterprise supports you to deploy -and scale them, plus integrate them with IT infrastructure such as authentication and -VPC services, in order to deliver faster and more impactful business outcomes on AI -and data science initiatives. - -Dash Enterprise enables the rapid development of production-grade data apps within your -business. Python has taken over the world, and traditional BI dashboards no longer -cut it in today’s AI and ML driven world. Production-grade, low-code Python data apps -are needed to visualize the sophisticated data analytics and data pipelines that run -modern businesses. - -```{div} -:style: "clear: both" -``` -![](https://github.com/crate/crate-clients-tools/assets/453543/161a9b73-25eb-4ec4-aa3e-5fa73757b440){h=200px} -![](https://github.com/crate/crate-clients-tools/assets/453543/d199b9c9-8be0-4ff7-a7b5-835dc122cc6d){h=200px} -::: - - - -_Plotly Dash Course - Session 1._ - - -(gradio)= -## Gradio - -```{div} -:style: "float: right; margin-left: 0.5em" -[![](https://raw.githubusercontent.com/gradio-app/gradio/main/readme_files/gradio.svg){w=180px}](https://www.gradio.app/) -``` - -[Gradio] is an open source programming framework for quickly creating and sharing -machine learning model demo applications, written in Python. - -- Creating a user interface only requires adding a couple lines of code to your project. -- It does not require any experience with HTML/JS/CSS, or web hosting. -- Gradio can be embedded in Python notebooks, or presented as a web application. -- Once you've created an interface, you can permanently host it on [Hugging Face]. - -```{div} -:style: "clear: both" -``` - - - -_How to Build Machine Learning APIs Using Gradio._ - - -(hvplot)= -## hvPlot and Datashader - -```{div} -:style: "float: right" -[![](https://hvplot.holoviz.org/_static/logo_horizontal.svg){w=220px}](https://hvplot.holoviz.org/) - -[![](https://datashader.org/_static/logo_horizontal.svg){w=220px}](https://datashader.org/) -``` - -[hvPlot] is a familiar and high-level API for data exploration and visualization. -[Datashader] is a graphics pipeline system for creating meaningful representations of -large datasets quickly and flexibly. - -It is used on behalf of the [hvPlot] package, which is based on [HoloViews], from the -family of [HoloViz] packages of the [PyViz] ecosystem. - -With Datashader, you can "just plot" large datasets and explore them instantly, with no -parameter tweaking, magic numbers, subsampling, or approximation, up to the resolution -of the display. - -[hvPlot] sources its power in the [HoloViz] ecosystem. With [HoloViews], you get the -ability to easily layout and overlay plots, with [Panel], you can get more interactive -control of your plots with widgets, with [DataShader], you can visualize and interactively -explore very large data, and with [GeoViews], you can create geographic plots. - -```{div} -:style: "clear: both" -``` - -![](https://github.com/crate/crate-clients-tools/assets/453543/7f38dff6-04bc-429e-9d31-6beeb9289c4b){h=200px} -![](https://github.com/crate/crate-clients-tools/assets/453543/23561a87-fb4f-4154-9891-1b3068e40579){h=200px} - - - - -_hvPlot and Panel: Visualize all your data easily, from notebooks to dashboards | SciPy 2023._ - - -(plotly)= -## Plotly - -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://plotly.com/) -``` - -[Plotly] Open Source Graphing Libraries make interactive, publication-quality graphs. -Line plots, scatter plots, area charts, bar charts, error bars, box plots, histograms, -heatmaps, subplots, multiple-axes, polar charts, bubble charts, and maps. - -The supported programming languages / libraries / frameworks are Python, R, Julia, -JavaScript, ggplot2, F#, MATLAB®, and Dash. - -Based on Plotly, [Dash] is a low-code framework for rapidly building data apps in Python. - -```{div} -:style: "clear: both" -``` - -![](https://github.com/crate/crate-clients-tools/assets/453543/380114a8-7984-4966-929b-6e6d52ddd48a){h=200px} -![](https://github.com/crate/crate-clients-tools/assets/453543/f6a99ae7-b730-4587-bd23-499e1be02c92){h=200px} - - -(streamlit)= -## Streamlit - -```{div} -:style: "float: right; margin-left: 0.5em" -[![](https://github.com/crate/crate-clients-tools/assets/453543/0fffb2d4-1d17-49c9-96e3-fd6ae42a39c4){w=180px}](https://streamlit.io/) -``` - -[Streamlit] is an open source application programming framework for quickly sketching -out Python data applications. It provides fast, interactive prototyping, and live editing. - -- Build dashboards, generate reports, or create chat apps using beautiful, easy-to-read code. -- No in-depth knowledge of HTML/JS/CSS needed, the framework offers elegant default - styling, which can be adjusted when applicable. -- Transform Python scripts into interactive web apps in minutes, instead of weeks. -- Build upon a range of [Streamlit components](https://streamlit.io/components). -- Optionally use their [Community Cloud platform](https://streamlit.io/cloud) to deploy, - manage, and share your application. - -```{div} -:style: "clear: both" -``` - - - -_Streamlit 101 - A faster way to build and share data applications._ - - -[Dash]: https://plotly.com/dash/ -[Datashader]: https://datashader.org/ -[Gradio]: https://www.gradio.app/ -[HoloViews]: https://www.holoviews.org/ -[HoloViz]: https://holoviz.org/ -[hvPlot]: https://hvplot.holoviz.org/ -[Hugging Face]: https://en.wikipedia.org/wiki/Hugging_Face -[Panel]: https://panel.holoviz.org/ -[Plotly]: https://plotly.com/graphing-libraries/ -[PyViz]: https://pyviz.org/ -[Streamlit]: https://streamlit.io/ diff --git a/docs/integrate/metrics.md b/docs/integrate/metrics.md deleted file mode 100644 index 8b65892..0000000 --- a/docs/integrate/metrics.md +++ /dev/null @@ -1,121 +0,0 @@ -(metrics)= -# Monitoring and Metrics with CrateDB - -Storing metrics data for the long term is a common need in systems monitoring -scenarios. CrateDB offers corresponding integration adapters. - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:integrate-metrics -:link-type: ref - -Learn how to use CrateDB together with popular metrics collection agents, -brokers, and stores. -+++ -{tag}`Logs` {tag}`Metrics` {tag}`Monitoring` {tag}`Telemetry` {tag-info}`Prometheus` {tag-info}`Telegraf` -:::: - - -(prometheus)= -## Prometheus - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://github.com/crate/crate-clients-tools/assets/453543/8ddb109f-b45f-46b0-8103-30ba491f7142){w=180px}](https://prometheus.io/) -``` - -[Prometheus] is an open-source systems monitoring and alerting toolkit -for collecting metrics data from applications and infrastructures. - -Prometheus collects and stores its metrics as time series data, i.e. -metrics information is stored with the timestamp at which it was recorded, -alongside optional key-value pairs called labels. - -:::{rubric} Features -::: -Prometheus's main features are: - -- a multi-dimensional data model with time series data identified by metric name and key/value pairs -- PromQL, a flexible query language to leverage this dimensionality -- no reliance on distributed storage; single server nodes are autonomous -- time series collection happens via a pull model over HTTP -- pushing time series is supported via an intermediary gateway -- targets are discovered via service discovery or static configuration -- multiple modes of graphing and dashboarding support - - -:::{rubric} Remote Endpoints and Storage -::: -The [Prometheus remote endpoints and storage] subsystem, based on its -[remote write] and [remote read] features, allows to transparently -send and receive metric samples. It is primarily intended for long term -storage. - -This is where CrateDB comes into place. Using the [CrateDB Prometheus -Adapter], one can easily store the collected metrics data in CrateDB and -take advantage of its high ingestion and query speed and friendly UI to -massively scale-out Prometheus. - -![](https://github.com/crate/crate-clients-tools/assets/453543/26b47686-889a-4137-a87f-d6a6b38d56d2){h=200px} - -```{seealso} -- [CrateDB and Prometheus] -- [CrateDB Prometheus Adapter] -``` - -```{div} -:style: "clear: both" -``` - - -(telegraf)= -## Telegraf - -```{div} -:style: "float: right; margin-left: 0.3em" -[![](https://github.com/crate/crate-clients-tools/assets/453543/3f0b4525-5344-42fe-bae6-1b0970fa0540){w=180px}](https://www.influxdata.com/time-series-platform/telegraf/) -``` - -[Telegraf] is a leading open source server agent to help you collect metrics -from your stacks, sensors, and systems. More than 200 adapters to connect -to other systems leaves nothing to be desired. - -Telegraf is a server-based agent for collecting and sending all metrics and -events from databases, systems, and IoT sensors. Telegraf is written in Go -and compiles into a single binary with no external dependencies, and requires -a very minimal memory footprint. - -:::{rubric} Overview -::: - -- **IoT sensors**: Collect critical stateful data (pressure levels, temperature - levels, etc.) with popular protocols like MQTT, ModBus, OPC-UA, and Kafka. - -- **DevOps Tools and frameworks**: Gather metrics from cloud platforms, - containers, and orchestrators like GitHub, Kubernetes, CloudWatch, Prometheus, - and more. - -- **System telemetry**: Metrics from system telemetry like iptables, Netstat, - NGINX, and HAProxy help provide a full stack view of your apps. - -![](https://www.influxdata.com/wp-content/uploads/Main-Diagram_06.01.2022v1.png){h=200px} - -```{seealso} -[CrateDB and Telegraf] -``` - -```{div} -:style: "clear: both" -``` - - -[CrateDB and Prometheus]: https://cratedb.com/integrations/cratedb-and-prometheus -[CrateDB and Telegraf]: https://cratedb.com/integrations/cratedb-and-telegraf -[CrateDB Guide: Integration Tutorials]: inv:guide:*:label#integrate -[CrateDB Prometheus Adapter]: https://github.com/crate/cratedb-prometheus-adapter -[Prometheus]: https://prometheus.io/ -[Prometheus remote endpoints and storage]: https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage -[remote read]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read -[remote write]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write -[Telegraf]: https://www.influxdata.com/time-series-platform/telegraf/ diff --git a/docs/integrate/ml.md b/docs/integrate/ml.md deleted file mode 100644 index 069fbcd..0000000 --- a/docs/integrate/ml.md +++ /dev/null @@ -1,110 +0,0 @@ -(ml)= -(ml-tools)= -# Machine Learning with CrateDB - -Machine learning applications and frameworks -which can be used together with CrateDB. - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:ml -:link-type: ref - -Learn how to integrate CrateDB with machine learning frameworks and tools, -for MLOps and Vector database operations. -+++ -{tag}`MLOps` {tag}`Vector Store` {tag}`Embeddings` -{tag}`Hybrid Search` {tag}`LLM` {tag}`RAG` -:::: - - -## MLflow - -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/d1d4f4ac-1b44-46b8-ba6f-4a82607c57d3){w=180px}](https://mlflow.org/) -``` - -[MLflow] is an open source platform to manage the whole ML lifecycle, including -experimentation, reproducibility, deployment, and a central model registry. - -The [MLflow adapter for CrateDB], available through the [mlflow-cratedb] package, -provides support to use CrateDB as a storage database for the [MLflow Tracking] -subsystem, which is about recording and querying experiments, across code, data, -config, and results. - -```{div} -:style: "clear: both" -``` - - -## PyCaret - -```{div} -:style: "float: right" -[![](https://github.com/crate/crate-clients-tools/assets/453543/b17a59e2-6801-4f53-892f-ff472491095f){w=180px}](https://pycaret.org/) -``` - -[PyCaret] is an open-source, low-code machine learning library for Python that -automates machine learning workflows. - -It is a high-level interface and AutoML wrapper on top of your loved machine learning -libraries like scikit-learn, xgboost, ray, lightgbm, and many more. PyCaret provides a -universal interface to utilize these libraries without needing to know the details -of the underlying model architectures and parameters. - -```{div} -:style: "clear: both" -``` - - -## scikit-learn - -```{div} -:style: "float: right" -[![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Scikit_learn_logo_small.svg/240px-Scikit_learn_logo_small.svg.png){w=180px}](https://scikit-learn.org/) - -[![](https://pandas.pydata.org/static/img/pandas.svg){w=180px}](https://pandas.pydata.org/) - -[![](https://jupyter.org/assets/logos/rectanglelogo-greytext-orangebody-greymoons.svg){w=180px}](https://jupyter.org/) -``` - -:::{rubric} scikit-learn -::: -_Machine Learning in Python._ - -- Simple and efficient tools for predictive data analysis -- Accessible to everybody, and reusable in various contexts -- Built on NumPy, SciPy, and matplotlib - -:::{rubric} pandas -::: -_The open source data analysis and manipulation tool._ - -Pandas is a software library written for the Python programming -language for data manipulation and analysis. In particular, it offers data structures -and operations for manipulating numerical tables and time series. - -:::{rubric} Project Jupyter -::: -_Interactive computing across all programming languages._ - -JupyterLab is the latest web-based interactive development environment for notebooks, -code, and data. Its flexible interface allows users to configure and arrange workflows -in data science, scientific computing, computational journalism, and machine learning. -A modular design invites extensions to expand and enrich functionality. - - -```{div} -:style: "clear: both" -``` - - -[MLflow]: https://mlflow.org/ -[mlflow-cratedb]: https://pypi.org/project/mlflow-cratedb/ -[MLflow adapter for CrateDB]: https://github.com/crate/mlflow-cratedb -[MLflow Tracking]: https://mlflow.org/docs/latest/tracking.html -[pandas]: https://pandas.pydata.org/ -[PyCaret]: https://www.pycaret.org -[scikit-learn]: https://scikit-learn.org/ diff --git a/docs/integrate/visualize.md b/docs/integrate/visualize.md deleted file mode 100644 index 3d7b087..0000000 --- a/docs/integrate/visualize.md +++ /dev/null @@ -1,166 +0,0 @@ -(visualize)= -# Visualize data in CrateDB - -Dashboard and other data visualization applications and toolkits for -visualizing data stored inside CrateDB, mostly dashboarding. - - -::::{card} {material-outlined}`lightbulb;2em` Tutorials -:margin: 0 0 5 5 -:shadow: md -:link: guide:visualization -:link-type: ref - -Guidelines about data analysis and visualization with CrateDB. -+++ -{tag}`DataViz` {tag}`EDA` {tag}`BI` -:::: - - -## Cluvio - -```{div} -:style: "float: right" -[![cluvio-logo-full_color-on_dark.svg ](https://github.com/crate/crate-clients-tools/assets/453543/cac142ef-412a-4a67-a63f-bf9d1ce92c84){w=180px}](https://www.cluvio.com/) -``` - -[Cluvio] is a programmable and interactive dashboarding platform — your analytics -cockpit. Run queries, filter your results, choose the most vivid way to display them, -and share them with your colleagues and partners without efforts. - -Cluvio dashboards are interactive, so you can easily change aggregation, select a -specific timerange or filter dashboards by any individual attribute of your data. - -Use SQL and R to analyze your data and create beautiful, interactive dashboards for -your entire company in few minutes. - -![custom-filters.png](https://github.com/crate/crate-clients-tools/assets/453543/49ca6a35-239e-4915-951c-db6649fd35a4){h=200px} -![report-creator.png](https://github.com/crate/crate-clients-tools/assets/453543/844a5ffd-0b92-4c77-8cdd-0b5cc5b392b1){h=200px} - - -## Explo - -```{div} -:style: "float: right" -[![](https://uploads-ssl.webflow.com/62f681c18d50329187681754/62f681c18d5032d0bd681785_logo.svg){w=180px}](https://www.explo.co/) -``` - -[Explo] is a software platform for personalized and real-time customer facing -analytics. Organizations use Explo’s platform services "Explore", "Host", "Report -builder", and "Email", to activate and share data with their customers. - -[Explo Explore] integrates directly into your web portal or application and provides -your customers with a complete self-service data toolkit, which can also be used to -run white-labeled data portals. - -```{div} -:style: "clear: both" -``` - -![](https://cratedb.com/hs-fs/hubfs/Screenshot%202023-07-21%20at%2013.17.45.png?width=2948&height=2312&name=Screenshot%202023-07-21%20at%2013.17.45.png){h=200px} -![](https://cratedb.com/hs-fs/hubfs/Screenshot%202023-07-21%20at%2013.24.01.png?width=2932&height=1716&name=Screenshot%202023-07-21%20at%2013.24.01.png){h=200px} - - -## Grafana - -```{div} -:style: "float: right" -[![](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/) -``` - -[Grafana OSS] is the leading open-source metrics visualization tool that helps you -build real-time dashboards, graphs, and many other sorts of data visualizations. -[Grafana Cloud] is a fully-managed service offered by [Grafana Labs]. - -Grafana complements CrateDB in monitoring and visualizing large volumes of machine -data in real-time. - -Connecting to a CrateDB cluster will use the Grafana PostgreSQL data source adapter. -The following tutorials outline how to configure Grafana to connect to CrateDB, and -how to run a database query. - -![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-connection.png){h=200px} -![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-panel1.png){h=200px} - -```{seealso} -[CrateDB and Grafana] -``` - -:::{dropdown} **Managed Grafana** -```{div} -:style: "float: right" -[![](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/) -``` - -Get Grafana fully managed with [Grafana Cloud]. - -- Offered as a fully managed service, Grafana Cloud is the fastest way to adopt - Grafana and includes a scalable, managed backend for metrics, logs, and traces. -- Managed and administered by Grafana Labs with free and paid options for - individuals, teams, and large enterprises. -- Includes a robust free tier with access to 10k metrics, 50GB logs, 50GB traces, - 50GB profiles, and 500VUh of k6 testing for 3 users. - -```{div} -:style: "clear: both" -``` -::: - - -## Metabase - -```{div} -:style: "float: right" -[![](https://www.metabase.com/images/logo.svg){w=180px}](https://www.metabase.com/cloud/) -``` - -[Metabase] is the ultimate data analysis and visualization tool that unlocks the full -potential of your data. Build for data and made for everyone, Metabase can be leveraged -with no SQL required. - -Fast analytics with the friendly UX and integrated tooling to let your company explore -data on their own. - -![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/metabase/metabase-question.png){h=140px} -![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/metabase/metabase-dashboard.png){h=140px} - -```{seealso} -[CrateDB and Metabase] -``` - -:::{dropdown} **Managed Metabase** -```{div} -:style: "float: right" -[![](https://www.metabase.com/images/logo.svg){w=180px}](https://www.metabase.com/) -``` - -With [Metabase Cloud], you will get a fast, reliable, and secure deployment -with none of the work or hidden costs that come with self-hosting. - -- **Save the time** needed for setup and maintenance of the platform, focusing only on the insights we can get from our data. -- **Trustworthy, production-grade deployment** by people who do this stuff for a living. - With the infrastructure, specialists, and thousands of Metabases in our cloud, we've put a lot of thought and resources into optimizing hosting. -- **Upgrades:** Automatically upgrade to the current version, so you're always getting the latest and greatest of Metabase. -- **Backups:** The way they should be: there when you need them, out of sight and out of mind when you don't. -- **SMTP server:** Even your alerts and dashboard subscriptions covered with a preconfigured and managed SMTP server. - - -```{div} -:style: "clear: both" -``` -::: - - -[Cluvio]: https://www.cluvio.com/ -[CrateDB and Grafana]: https://cratedb.com/integrations/cratedb-and-grafana -[CrateDB and Metabase]: https://cratedb.com/integrations/cratedb-and-metabase -[Explo]: https://www.explo.co/ -[Explo Explore]: https://www.explo.co/products/explore -[GeoViews]: https://geoviews.org/ -[Grafana Cloud]: https://grafana.com/grafana/ -[Grafana Labs]: https://grafana.com/about/team/ -[Grafana OSS]: https://grafana.com/oss/grafana/ -[Metabase]: https://www.metabase.com/ -[Metabase Cloud]: https://www.metabase.com/cloud/ -[Preset]: https://preset.io/ -[Preset Cloud]: https://preset.io/product/ diff --git a/docs/legacy.rst b/docs/legacy.rst index 7b56368..6864ca8 100644 --- a/docs/legacy.rst +++ b/docs/legacy.rst @@ -203,7 +203,7 @@ CrateDB integrates with many different tools. Some of these are: .. _crate-scala: https://github.com/alexanderjarvis/crate-scala .. _crate-connector: https://github.com/LiamHaworth/crate-connector .. _create a data enrichment pipeline: https://cratedb.com/docs/crate/howtos/en/latest/integrations/azure-functions.html -.. _create a Machine Learning pipeline: https://cratedb.com/docs/crate/howtos/en/latest/integrations/r.html +.. _create a Machine Learning pipeline: https://cratedb.com/docs/guide/topic/ml/r.html .. _DBD::Crate: https://github.com/mamod/DBD-Crate .. _get in touch: https://cratedb.com/contact .. _GitHub: https://github.com/crate/crate-clients-tools diff --git a/docs/status.md b/docs/status.md deleted file mode 100644 index ef46d23..0000000 --- a/docs/status.md +++ /dev/null @@ -1,339 +0,0 @@ -(build-status)= - -# Build Status - -The build status of relevant drivers, applications, and integrations -for CrateDB, on one page. - - - - -## Integrations - -End-to-end QA integration tests against CrateDB Nightly, -on behalf of [cratedb-examples] and [academy-fundamentals-course]. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Application - - - - - - - - - -
-Dataframe - - - - - -
-Framework - - - - - - - - - - - - - -
-Language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Testing - - - - - - - -
-Topic - -
-Academy -
- - -
-
-Machine Learning -
- - - - - - - - -
-
-Time Series -
- - -
-
- - -## Applications, Connectors, SDKs - -CI outcomes for a range of applications, connectors, and libraries connecting -to CrateDB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-CLI / UI - - - - - - - - - -
-Connector - - - - - - - - - - - - - - - - - -
-Documentation - - - -
-Metrics - - - -
-Operations - - - -
-SDK - - - - - -
- - - - - - - - -
-Testing - - - - - -
- - -## Drivers - -CI outcomes for a range of client drivers connecting your applications to CrateDB. - -### CrateDB -Adapters, drivers, dialects, and support utilities maintained by CrateDB. - - - - - - - -
- - - - - - - - - -
-
- -### PostgreSQL -Standard PostgreSQL drivers for different languages. - - - - - - - - - - - - - - -

- - -```{note} -Please note that the designated status of drivers maintained by community -authors and other maintainers reflect the build status of the development -head. It does not mean integration with GA releases isn't stable. This is -reflected within the topmost section of this page. -``` - - -[academy-fundamentals-course]: https://github.com/crate/academy-fundamentals-course -[cratedb-examples]: https://github.com/crate/cratedb-examples