做的比較好的返利網站知乎網站搭建一般要多少錢
SingleStore 是專為數據密集型工作負載而設計的云原生數據庫。它是一個分布式關系 SQL 數據庫管理系統(tǒng),支持 ANSI SQL,并因其在數據引入、事務處理和查詢處理方面的速度而受到認可。SingleStore 可以存儲關系、JSON、圖形和時間序列數據,以滿足 HTAP 等混合工作負載以及 OLTP 和 OLAP 用例的需求。它將 SQL 查詢編譯為機器代碼,并可以通過 Kubernetes Operator 部署在各種環(huán)境中,包括本地安裝、公共/私有云和容器。
現(xiàn)代數據湖架構
在現(xiàn)代 Datalake 架構中,SingleStore 完全適合處理層。此層是用于轉換的處理引擎、為其他工具提供數據、數據探索和其他用例的位置。處理層工具(如 SingleStore)可以很好地與其他工具配合使用:通常多個處理層工具來自同一個數據湖。通常,這種設計是在工具專用化的情況下實現(xiàn)的。例如,具有混合矢量和全文搜索功能的超快速內存數據處理平臺(如 SingleStore)針對 AI 工作負載進行了優(yōu)化,尤其是針對生成式 AI 用例。
先決條件
要完成本教程,您需要設置一些軟件。以下是您需要的內容的細分:
-
**Docker 引擎:**這個強大的工具允許您在稱為容器的標準化軟件單元中打包和運行應用程序。
-
**Docker Compose:**它充當業(yè)務流程協(xié)調程序,簡化多容器應用程序的管理。它有助于輕松定義和運行復雜的應用程序。
**安裝:**如果您要重新開始,Docker 桌面安裝程序提供了一個方便的一站式解決方案,用于在特定平臺(Windows、macOS 或 Linux)上安裝 Docker 和 Docker Compose。這通常被證明比單獨下載和安裝它們更容易。
安裝 Docker Desktop 或 Docker 和 Docker Compose 的組合后,可以通過在終端中運行以下命令來驗證它們的存在:
docker-compose --version
您還需要一個 SingleStore 許可證,您可以在此處獲取。
記下您的許可證密鑰和 root 密碼。系統(tǒng)將為您的帳戶分配一個隨機的 root 密碼,但您可以使用 SingleStore UI 更改您的 root 密碼。
開始
本教程依賴于此存儲庫。將存儲庫克隆到所選位置。
此存儲庫中最重要的文件是 docker-compose.yaml
描述具有 SingleStore 數據庫 ( singlestore
)、MinIO 實例 ( minio
) 和依賴于 MinIO 服務的 mc
容器的 Docker 環(huán)境。
mc 容器包含一個 entrypoint
腳本,該腳本首先等待 MinIO 可訪問,將 MinIO 添加為主機,創(chuàng)建 classic-books
存儲桶,上傳包含書籍數據 books.txt
的文件,將存儲桶策略設置為 public,然后退出。
version: '3.7'services:singlestore:image: 'singlestore/cluster-in-a-box'ports:- "3306:3306"- "8080:8080"environment:LICENSE_KEY: ""ROOT_PASSWORD: ""START_AFTER_INIT: 'Y'minio:image: minio/minio:latestports:- "9000:9000"- "9001:9001"volumes:- data1-1:/data1- data1-2:/data2environment:MINIO_ROOT_USER: minioadminMINIO_ROOT_PASSWORD: minioadmincommand: ["server", "/data1", "/data2", "--console-address", ":9001"]mc:image: minio/mc:latestdepends_on:- minioentrypoint: >/bin/sh -c "until (/usr/bin/mc config host add --quiet --api s3v4 local http://minio:9000 minioadmin minioadmin) do echo '...waiting...' && sleep 1; done;echo 'Title,Author,Year' > books.txt;echo 'The Catcher in the Rye,J.D. Salinger,1945' >> books.txt;echo 'Pride and Prejudice,Jane Austen,1813' >> books.txt;echo 'Of Mice and Men,John Steinbeck,1937' >> books.txt;echo 'Frankenstein,Mary Shelley,1818' >> books.txt;/usr/bin/mc cp books.txt local/classic-books/books.txt;/usr/bin/mc policy set public local/classic-books;exit 0;"volumes:data1-1:data1-2:
使用文檔編輯器,將占位符替換為您的許可證密鑰和 root 密碼。
在終端窗口中,導航到克隆存儲庫的位置,然后運行以下命令以啟動所有容器:
docker-compose up
打開瀏覽器窗口,導航到 http://localhost:8080/,然后使用用戶名“root”和您的root密碼登錄。
檢查 MinIO
導航到 http://127.0.0.1:9001 以啟動 MinIO WebUI。使用用戶名和密碼登錄 minioadmin:minioadmin
。您將看到 mc 容器創(chuàng)建了一個調用 classic-books
的存儲桶,并且存儲桶中有一個對象。
使用 SQL 進行探索
在 SingleStore 中,導航到 SQL 編輯器并運行以下命令:
-- Create a new database named 'books'
CREATE DATABASE books;-- Switch to the 'books' databaseUSE books;-- Create a table named 'classic_books' to store information about classic books
CREATE TABLE classic_books
(title VARCHAR(255),author VARCHAR(255),date VARCHAR(255)
);-- Define a pipeline named 'minio' to load data from an S3 bucket called 'classic-books'
-- The pipeline loads data into the 'classic_books' tableCREATE PIPELINE IF NOT EXISTS minio
AS LOAD DATA S3 'classic-books'
CONFIG '{"region": "us-east-1", "endpoint_url":"http://minio:9000/"}'
CREDENTIALS '{"aws_access_key_id": "minioadmin", "aws_secret_access_key": "minioadmin"}'
INTO TABLE classic_books
FIELDS TERMINATED BY ',';-- Start the 'minio' pipeline to initiate data loading
START PIPELINE minio;-- Retrieve and display all records from the 'classic_books' table
SELECT * FROM classic_books;-- Drop the 'minio' pipeline to stop data loading
DROP PIPELINE minio;-- Drop the 'classic_books' table to remove it from the database
DROP TABLE classic_books;-- Drop the 'books' database to remove it entirely
DROP DATABASE books;
此 SQL 腳本啟動一系列操作來處理與經典書籍相關的數據。它首先建立一個名為 books
的新數據庫。在此數據庫中,將創(chuàng)建一個名為的 classic_books
表,該表旨在保存標題、作者和出版日期等詳細信息。
在此之后,將設置一個名為 minio 的管道,用于從標記 classic-books
的 S3 存儲桶中提取數據并將其加載到表中 classic_books
。定義了此管道的配置參數,包括區(qū)域、終端節(jié)點 URL 和身份驗證憑據。
隨后,“minio”管道被激活,開始數據檢索和填充過程。成功將數據加載到表中后,SELECT 查詢將檢索并顯示存儲在 classic_books
中的所有記錄。
在完成數據提取和查看后, minio 管道將停止并刪除, classic_books
表將從 books
數據庫中刪除,數據庫 books
本身將被刪除,從而確保干凈的石板并結束數據管理操作。此腳本應幫助您開始在 SingleStore 的 MinIO 中處理數據。
在此堆棧上構建
本教程快速設置了一個強大的數據堆棧,允許在對象存儲中存儲、處理和查詢數據進行試驗。SingleStore(一個以其速度和多功能性而聞名的云原生數據庫)與 MinIO 的集成構成了現(xiàn)代數據湖堆棧中的重要一塊磚。
隨著行業(yè)趨勢傾向于存儲和計算的分解,這種設置使開發(fā)人員能夠探索創(chuàng)新的數據管理策略。無論你是對構建數據密集型應用程序、實施高級分析還是試驗 AI 工作負載感興趣,本教程都可以作為啟動板。
我們邀請您在此數據堆棧的基礎上進行構建,嘗試不同的數據集和配置,并釋放數據驅動應用程序的全部潛力。