Eine Einführung in DataBend, ein Open-Source-, Cloud-natives und Echtzeitanalyse-modernes Data Warehouse, und seine Anwendungsfälle in Kombination mit anderen Open-Source-Dateispeichern

Einführung in DataBend

Databend ist ein Open-Source-, Cloud-natives und Echtzeitanalyse-basiertes modernes Data Warehouse, das effiziente Datenspeicherungs- und -verarbeitungsfunktionen bietet. Es wurde in der Rust-Sprache entwickelt und unterstützt das Apache Arrow-Format für leistungsstarke spaltenorientierte Speicherung und Abfrageverarbeitung.

Hauptmerkmal:

  1. Cloud-natives Design : Databend basiert auf Kubernetes, verfügt über elastische Skalierungs- und horizontale Erweiterungsfunktionen und kann problemlos in öffentlichen Cloud- oder privaten Cloud-Umgebungen bereitgestellt werden.
  2. SQL-Unterstützung : Databend verfügt über vollständige SQL-Abfragefunktionen und ist mit dem MySQL-Protokoll kompatibel, sodass Benutzer die vertraute SQL-Syntax für die Datenabfrage und -verarbeitung verwenden können.
  3. Leistungsoptimierung : Databend ermöglicht das schnelle Lesen und Analysieren großer Datensätze durch eine vektorisierte Abfrageausführungs-Engine und eine spaltenorientierte Speichertechnologie.
  4. Objektspeicherintegration : Databend kann Daten auf verschiedenen Objektspeicherdiensten wie AWS S3, Azure Blob Storage, Google Cloud Storage usw. speichern, um eine kostengünstige Großspeicherung zu erreichen.
  5. Echtzeitanalyse : Databend unterstützt die Datenaufnahme in Echtzeit und die sofortige Antwort auf Abfragen und eignet sich für Anwendungsszenarien wie BI-Analyse, Protokollanalyse und Echtzeitberichte.
  6. Community-gesteuert : Als Open-Source-Projekt wird Databend von einer aktiven Entwickler-Community gepflegt und beigesteuert und kontinuierlich iterativ aktualisiert, um neue Funktionen hinzuzufügen und bestehende Funktionen zu verbessern.

Beispiel für ein Nutzungsszenario:

  • Datenanalysten können Databend verwenden, um komplexe Datenabfragen und Datenanalysen durchzuführen.
  • Entwickler können Echtzeit-Datenpipelines erstellen, Streaming-Daten in Databend schreiben und diese sofort abfragen und analysieren.
  • Datenwissenschaftler können Databend und andere Tools (wie Python oder R) kombinieren, um eine Datenvorverarbeitung durchzuführen, bevor sie das Modell für maschinelles Lernen trainieren.

Bereitstellungs- und Nutzungsschritte:

  1. Laden Sie den Quellcode oder das Binärpaket von Databend herunter oder klonen Sie es.
  2. Konfigurieren Sie die erforderlichen Umgebungsvariablen und Dienstparameter gemäß der offiziellen Dokumentation, z. B. Datenbank-URL, Verbindungsanmeldeinformationen und Zugriffsinformationen für den Objektspeicher.
  3. Starten Sie den Databend-Dienst. Start-, Stopp- und Verwaltungsvorgänge können normalerweise über Befehlszeilentools durchgeführt werden.
  4. Verwenden Sie einen MySQL-Client oder eine Anwendung, die das MySQL-Protokoll unterstützt, um eine Verbindung zur Databend-Datenbank herzustellen und mit der Erstellung von Tabellen, dem Einfügen von Daten und der Ausführung von SQL-Abfragen zu beginnen.

Databend Cloud – Open-Source-Cloud-Data-Warehouse-Alternative zu Snowflake | Databend Cloud

Databend-Installation

Das Folgende ist ein vereinfachter Databend-Installations- und Konfigurationsschritt. Die spezifischen Details können je nach tatsächlicher Situation angepasst werden. Informationen zum Betrieb finden Sie in den neuesten offiziellen Dokumenten.

1. Vorbereitung der Umgebung

Stellen Sie sicher, dass die Rust-Toolchain (Rustup) und Docker auf Ihrem Computer installiert sind. Wenn es noch nicht installiert ist, klicken Sie bitte auf den folgenden Link, um es zu installieren:

2. Installieren Sie Databend

Kompilieren und installieren Sie Databend mit der Rust-Toolchain:

# 克隆 Databend 仓库
git clone https://github.com/datafuselabs/databend.git
cd databend

# 使用 nightly 版本的 Rust 编译器构建 Databend
rustup default nightly
cargo build --release

# 创建 Databend 的数据存储目录(例如 /var/lib/databend)
sudo mkdir -p /var/lib/databend
sudo chown $(id -u):$(id -g) /var/lib/databend

3. Konfigurieren Sie Databend und führen Sie es aus

Databend bietet Bereitstellungsmethoden im Standalone-Modus und im verteilten Modus. Hier stellen wir zunächst die Konfiguration und den Start im Standalone-Modus vor:

# 运行一个单节点的 Databend 服务
./target/release/databend-server --config-path=config.toml.example

# 或者如果你想在后台运行(daemon mode),可以加上 `--log-file` 参数指定日志文件
./target/release/databend-server --config-path=config.toml.example --log-file=/var/log/databend/server.log &

Der obige Befehl config.toml.example ist eine Beispielkonfigurationsdatei. Sie müssen sie entsprechend den tatsächlichen Anforderungen ändern. Legen Sie beispielsweise die Abhöradresse, den Port, das Datenverzeichnis und andere Informationen fest.

4. Datenbankverbindung konfigurieren

Standardmäßig überwacht Databend nach dem Start den lokalen  3307 Port als SQL-Abfrageschnittstelle. Sie können über jeden Client, der das MySQL-Protokoll unterstützt, eine Verbindung zu Databend herstellen.

mysql -h localhost -P 3307 -u root

5. Persistenten Speicher konfigurieren (optional)

Wenn Sie Daten dauerhaft an einem bestimmten Ort (z. B. S3 oder MinIO) speichern möchten, müssen Sie das entsprechende Speicher-Backend in der Konfigurationsdatei hinzufügen und die entsprechenden Zugangsdaten angeben.

6. Verteilte Bereitstellung

Für Produktionsumgebungen oder groß angelegte Tests müssen Sie möglicherweise einen Cluster mit mehreren Knoten bereitstellen. Informationen zum Erstellen eines verteilten Clusters finden Sie im Kubernetes Helm Chart oder in der Docker Compose-Datei von Databend.

Vorsichtsmaßnahmen:

  • Stellen Sie in einer Produktionsumgebung bitte sicher, dass sicherheitsrelevante Optionen, wie Passwortverschlüsselung, Zugriffskontrolle usw., korrekt konfiguriert sind.
  • Für die Unterstützung dauerhafter Speicherung kann Databend so konfiguriert werden, dass es verschiedene Objektspeicherdienste nutzt, darunter unter anderem AWS S3, MinIO, Google Cloud Storage usw.

Detaillierte Anleitungen und Best Practices finden Sie in der neuesten Version der Databend-Dokumentation: Databend – The Future of Cloud Data Analytics. | Databend

Installation und Konfiguration basierend auf Docker

atabend stellt Docker-Images bereit, sodass Benutzer Databend-Datenbanken schnell über Docker-Container bereitstellen und ausführen können. Im Folgenden finden Sie einen detaillierten Konfigurationsschritt für die Installation von Databend mit Docker:

1. Rufen Sie das Databend Docker-Image ab

Stellen Sie zunächst sicher, dass Docker installiert ist, und führen Sie den folgenden Befehl im Terminal aus, um das neueste Databend Docker-Image abzurufen. Bitte beachten Sie, dass sich der tatsächliche Bildname bei Versionsaktualisierungen ändern kann. Bitte beachten Sie die offizielle Dokumentation für die neueste Version.

docker pull databend-docker:databend-query # 查询引擎(databend-query)
docker pull databend-docker:databend-meta # 元数据服务(databend-meta)

2. Erstellen Sie ein Verzeichnis für den dauerhaften Speicher (optional)

Um Daten nach dem Neustart des Containers beizubehalten, können Sie auf dem lokalen Host ein Verzeichnis zur dauerhaften Speicherung von Metadaten und Dienstdaten erstellen:

mkdir -p /path/to/databend/meta-data
mkdir -p /path/to/databend/query-data

3. Führen Sie den Databend Meta-Dienst aus

docker run -d --name databend-meta \
  -v /path/to/databend/meta-data:/var/lib/databend-meta \
  -e "DATABEND_QUERY_HTTP_PORT=8001" \
  databend-docker:databend-meta

Hier -v ordnen die Parameter Verzeichnisse auf dem Host  /var/lib/databend-meta Verzeichnissen innerhalb des Containers zu.

4. Führen Sie die Databend-Abfrage-Engine aus

docker run -d --name databend-query \
  --link databend-meta:databend-meta \
  -v /path/to/databend/query-data:/var/lib/databend-query \
  -p 8080:8080 \
  databend-docker:databend-query

Die Parameter hier  --link werden verwendet, um die Abfrage-Engine und den Metadatendienstcontainer zu verbinden, sodass die Abfrage-Engine auf den Metadatendienst zugreifen kann. Gleichzeitig  -p werden die Parameter verwendet, um den HTTP-Port der Abfrage-Engine dem Host zuzuordnen.

5. Umgebungsvariablen konfigurieren (optional)

Bei Bedarf können Sie andere Umgebungsvariablen festlegen, um das Verhalten der Datenbank zu konfigurieren, z. B. Protokollebene, Abhöradresse usw. Eine Liste der verfügbaren Umgebungsvariablen finden Sie in der Databend-Dokumentation.

6. Greifen Sie auf Databend zu und testen Sie es

Nach dem Starten des Containers können Sie auf folgende Weise auf die Databend-Abfrage-Engine zugreifen:

  • HTTP-API : Zugriff im Browser oder Postman  http://localhost:8080/ (sofern der lokale Port zugeordnet ist).
  • SQL-Client : Stellen Sie eine Verbindung zu Databend über MySQL-Client-Tools wie MySQL Workbench oder Befehlszeilentools her. Der Port ist normalerweise  3307. Für den Benutzernamen und das Passwort ist möglicherweise die Anzeige spezifischer Dokumentation oder die Konfiguration von Umgebungsvariablen erforderlich.

Bitte beachten Sie immer die neueste offizielle Dokumentation, da sich bestimmte Parameter und Konfigurationen im Laufe der Zeit ändern können. Die obigen Beispiele basieren auf einer angenommenen Standardkonfiguration.

Installation und Nutzung unter Centos 9

Die allgemeinen Schritte zur Installation von Databend auf dem CentOS 9-System (vorbehaltlich der neuesten offiziellen Dokumente):

1. Stellen Sie sicher, dass die Umgebung bereit ist

  • Das CentOS 9-System verfügt bereits über die erforderlichen Entwicklungstools und abhängigen Bibliotheken.
  • Die Programmiersprachenumgebung Rust ist installiert.
# 更新系统并安装必要软件包
sudo dnf update -y
sudo dnf install -y curl git make gcc-c++ zlib-devel openssl-devel

# 安装Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

2. Installieren Sie Databend

  • Verwenden Sie Rusts Cargo, um den Serverteil von Databend (metasrv und databend-query) zu erstellen und zu installieren.
# 克隆Databend源代码
git clone https://github.com/datafuselabs/databend.git
cd databend

# 构建并安装
cargo build --release --bin metasrv
cargo build --release --bin databend-query

# 创建用于存放运行时数据的目录
mkdir -p /var/lib/databend/meta /var/lib/databend/data

3. Konfigurieren und starten Sie den Dienst

  • Konfigurieren Sie den Metadatenspeicher, den Protokollpfad und andere Parameter von Databend und starten Sie den Dienst.
# 编写配置文件(这里仅提供示例配置)
cat << EOF > /etc/databend/config.toml
[meta_service]
listen = "127.0.0.1:9191"
data_dir = "/var/lib/databend/meta"

[databend_query]
http_server_address = "0.0.0.0:8000"
query_pool_size = 4
local_data_path = "/var/lib/databend/data"
EOF

# 启动metasrv服务
./target/release/metasrv --config /etc/databend/config.toml &

# 启动databend-query服务
./target/release/databend-query --config /etc/databend/config.toml &

4. Überprüfen Sie die Installation

  • Überprüfen Sie dies, indem Sie lokal oder über das Netzwerk eine Verbindung zum Databend Query API-Port herstellen.
# 如果是在本地机器上安装,可以尝试执行一个简单的查询
curl -G "http://localhost:8000/v1/query" --data-urlencode 'sql=SELECT version()' 

# 应该返回类似如下信息:
{"results":[{"meta":{"columns":[{"name":"version","type":5}],"rows":[["nightly"]]},"stats":{"elapsed_time":...}}]}

Vorsichtsmaßnahmen:

  • Bei der tatsächlichen Bereitstellung müssen Sie möglicherweise dauerhaften Speicher für Databend einrichten, z. B. durch das Mounten geeigneter Festplattenpartitionen oder die Verwendung von Cloud-Speicherdiensten.
  • Stellen Sie in der Produktionsumgebung sicher, dass Sie die stabile Version anstelle der nächtlichen Version verwenden und diese gemäß den offiziell empfohlenen Best Practices konfigurieren und verwalten.
  • Databend unterstützt auch die Bereitstellung über Docker-Container. Für die Produktionsbereitstellung ist die Verwendung von Docker Compose oder Kubernetes bequemer und einfacher zu warten.

Detaillierte Installationsanweisungen finden Sie immer in der neuesten Version der offiziellen Databend-Dokumentation: https://docs.databend.rs/

Kombination aus Databend, LakeFS und MinIO

Einführung, Bereitstellungsschritte und Codebeispiele des leistungsstarken, skalierbaren, verteilten Objektspeichersystems MinIO – CSDN-Blog

 

Funktionseinführung von Databend, LakeFS und MinIO:

  1. Datenbiegung :

    • Databend ist ein Open-Source-Echtzeit-Analyse-Data-Warehouse, das auf Rust basiert und mit dem Apache Arrow-Format kompatibel ist.
    • Es bietet eine Cloud-native Architektur ähnlich wie Snowflake und unterstützt Abfragen mit hoher Parallelität sowie das Einfügen und Aktualisieren von Daten nahezu in Echtzeit.
    • Unterstützt die SQL-Abfragesprache, kann Daten auf PB-Ebene verarbeiten und ein interaktives Analyseerlebnis mit einer Latenzzeit von weniger als einer Sekunde bieten.
    • Es integriert mehrere Datenquellen und kann verschiedene BI-Tools über JDBC/ODBC zur Datenanalyse verbinden.
  2. LakeFS :

    • LakeFS ist ein Objektspeicherverwaltungstool, das auf einem Git-ähnlichen Zweigmodell basiert und für AWS S3 oder andere S3-kompatible Speicherdienste (wie MinIO) geeignet ist.
    • Es bietet Versionskontrollfunktionen für Data Lakes und ermöglicht Benutzern das Erstellen von Verzweigungen, Zusammenführungen, Rollbacks und anderen Vorgängen für im Objektspeicher gespeicherte Datensätze.
    • Benutzer können Datenentwicklungs-, Test- und Produktionsprozesse in verschiedenen Zweigen durchführen, was die Funktionen zur Verwaltung von Datenbeständen verbessert und die Steuerung und Prüfung von Datenpipelines vereinfacht.
  3. MinIO :

    • MinIO ist ein leistungsstarkes, verteiltes Objektspeichersystem, das vollständig mit der Amazon S3 API kompatibel ist.
    • Es kann lokal oder in der Cloud für die Speicherung großer unstrukturierter Daten bereitgestellt werden, einschließlich Rohdaten, Sicherungs- und Archivdaten, die für die Big-Data-Analyse erforderlich sind.
    • Bietet hohe Verfügbarkeit, Skalierbarkeit und Sicherheit und eignet sich für den Einsatz als Objektspeicherlösung innerhalb eines Unternehmens oder in einer Hybrid-Cloud-Umgebung.

Methoden und Beispiele für die Kombination der drei:

Angenommen, Sie möchten MinIO als zugrunde liegenden Speicher verwenden, mit LakeFS Versionsverwaltungs- und Verzweigungsvorgänge für die darauf befindlichen Daten durchführen und Databend zum Abfragen und Analysieren der Daten verwenden. Im Folgenden sind die allgemeinen Konfigurationsschritte und die Verwendung aufgeführt:

Konfigurationsschritte:

  1. Stellen Sie MinIO bereit :

    • Installieren und starten Sie MinIO auf einem Servercluster oder einem einzelnen Computer und stellen Sie sicher, dass dieser über das Netzwerk erreichbar ist und über den entsprechenden Zugriff und die privaten Schlüssel konfiguriert ist.
  2. LakeFS konfigurieren

    • lakectl init <lakefs-server-url> my-repo s3://<minio-bucket-name>
  3. Laden Sie Daten in LakeFS hoch

    • lakectl cp local-data.csv lakefs://my-repo/main/data.csv
      lakectl branch create my-repo/dev --parent main
      lakectl cp local-data-dev.csv lakefs://my-repo/dev/data.csv
  4. Konfigurieren Sie die Databend-Datenquelle :

    • Legen Sie in Databend eine S3-Datenquelle so fest, dass sie auf einen der Zweige von LakeFS (z. B. den Hauptzweig) verweist, damit Databend die Daten unter diesem Zweig zur Analyse lesen kann.
    • Aktualisieren Sie die Katalogkonfigurationsdatei von Databend, fügen Sie S3-Speicherverbindungsinformationen hinzu und geben Sie den Bucket-Namen (hier ist der von LakeFS virtualisierte Bucket) und die korrekte Endpunkt-URL (LakeFS-Serveradresse) an.
  5. Führen Sie Abfragen in Databend aus

    • SELECT * FROM "s3://my-repo/main/data.csv" (format CSV);

Beispielszenario:

  • Datenentwicklungsphase :

    • Mitglieder des Entwicklungsteams führen Vorgänge wie Datenbereinigung und -konvertierung im Entwicklungszweig von LakeFS durch und übermitteln die Änderungen nach Abschluss.
  • Codeüberprüfung und Zusammenführung :

    • Führen Sie Änderungen vom Entwicklungszweig zum Hauptzweig über die Zusammenführungsfunktion von LakeFS zusammen.
  • Datenüberprüfung und -analyse :

    • Der Datenanalyst wählt den Hauptzweig als Datenquelle in Databend aus und führt SQL-Abfragen aus, um die Datenqualität und Analyseergebnisse zu überprüfen.
  • Fehlerbehebung und Rollback :

    • Wenn ein Problem mit den Hauptzweigdaten festgestellt wird, können Sie über LakeFS ein Rollback auf eine bestimmte Version durchführen und diese nach der Reparatur mit dem Hauptzweig zusammenführen. Databend ruft automatisch die neuesten Versionsdaten für Abfragen und Analysen ab.

Bitte beachten Sie, dass die tatsächliche Integration eine detaillierte Konfiguration der Parameter gemäß den jeweiligen offiziellen Dokumenten erfordert und möglicherweise zusätzliche Anpassungsschichten oder Middleware erforderlich sind, um eine nahtlose Verbindung zwischen Komponenten sicherzustellen. Da sich die Schnittstellen zwischen Projekten ändern können, prüfen Sie bitte die neueste Dokumentation und Anleitungen.

 

Acho que você gosta

Origin blog.csdn.net/zrc_xiaoguo/article/details/135438964
Recomendado
Clasificación