StarRocks
Overview
StarRocks is an open-source, high-performance MPP analytical database built for real-time OLAP. It serves sub-second queries over large datasets with a vectorized execution engine, a cost-based optimizer, and materialized views for query acceleration. StarRocks can query data stored in its own native tables or, through external catalogs, in lakehouse formats like Iceberg, Hudi, Delta Lake, and Hive. It runs self-managed or as the managed CelerData service.
The frontend (FE) node exposes a MySQL-compatible endpoint on port 9030, so Arris
connects to StarRocks over the MySQL wire protocol.
Driver
- Crate:
mysql_async - Version:
0.36 - Protocol: MySQL wire protocol on the FE query port
9030
Connection fields
| Field | Description |
|---|---|
| Host | Hostname or IP address of the StarRocks FE node. |
| Port | FE MySQL-protocol query port. Defaults to 9030. |
| Database | Name of the default database to connect to. |
| User | Authentication username (for example root). |
| Password | Authentication password. Stored in the macOS Keychain. |
| SSL Mode | One of disable, prefer, require, verify-ca, or verify-full. |
| Options | Additional connection parameters as key1=val1&key2=val2. |
All connections also support an optional SSH tunnel. Configure the bastion host, port, user, and private key file under the SSH section of the connection form. See SSH tunnels for details.
URI format
Instead of filling in each field individually, you can paste a connection URI into the
Paste URI field. Arris parses the URI and populates all fields automatically.
StarRocks uses the mysql URI scheme because it speaks the MySQL protocol.
mysql://user:password@host:9030/dbname?ssl-mode=REQUIRED SSL & TLS
StarRocks supports five SSL modes. Arris defaults to prefer, which uses SSL if
the server supports it but falls back to unencrypted if not.
| SSL Mode | Behavior |
|---|---|
disable | Never use SSL. Not recommended for production. |
prefer | Use SSL if available, fall back to unencrypted. |
require | Always use SSL. Fail if the server does not support it. |
verify-ca | Require SSL and verify the server certificate against a CA. |
verify-full | Require SSL, verify the CA, and verify the server hostname matches the certificate. |
Schema browser
Once connected, Arris fetches the schema tree from information_schema and groups
it by object type. In StarRocks, databases act as schema-level containers, so the tree shows
databases at the top level, each containing its own object groups.
The schema tree displays the following object types, grouped by category:
- Tables: base tables (Primary Key, Duplicate Key, Aggregate, and Unique Key models)
- Views: logical views and asynchronous materialized views
StarRocks has no user-defined stored procedures, triggers, or events, so those groups do not appear. Double-click any table or view to open it in a new tab with browse mode.
Supported SQL commands
| Command | Notes |
|---|---|
SELECT | Query data with WHERE filters, JOINs, aggregates, and window functions (ROW_NUMBER, RANK, LAG, LEAD, SUM() OVER). |
INSERT | Insert single or multiple rows. |
UPDATE / DELETE | Supported on Primary Key tables. Duplicate Key and Aggregate tables do not support row-level UPDATE. |
CREATE / DROP | Create and drop tables, views, and materialized views. |
EXPLAIN | Text execution plans (EXPLAIN, EXPLAIN COSTS, EXPLAIN ANALYZE). StarRocks has no JSON plan format. |
StarRocks does not support interactive multi-statement transactions over a session, so Arris runs each statement in auto-commit mode.
Federation
StarRocks participates in cross-source federated queries. Join a StarRocks table with a table from another connection in a single query:
SELECT c.first_name, o.amount
FROM starrocks_prod.appdb.orders AS o
JOIN postgres_prod.public.customers AS c
ON c.customer_id = o.customer_id
WHERE o.status = 'completed'
ORDER BY o.amount DESC
LIMIT 20;