paint-brush
Разработка решений для обработки данных следующего поколения: SingleStore, MinIO и современный стек Datalakeк@minio
3,998 чтения
3,998 чтения

Разработка решений для обработки данных следующего поколения: SingleStore, MinIO и современный стек Datalake

к MinIO6m2024/06/05
Read on Terminal Reader

Слишком долго; Читать

Singlestore.io — это облачная база данных, предназначенная для рабочих нагрузок с интенсивным использованием данных. Он компилирует SQL-запросы в машинный код и может быть развернут в различных средах, включая локальные установки, общедоступные/частные облака и контейнеры с помощью оператора Kubernetes.
featured image - Разработка решений для обработки данных следующего поколения: SingleStore, MinIO и современный стек Datalake
MinIO HackerNoon profile picture
0-item
1-item


Один магазин — это облачная база данных, предназначенная для рабочих нагрузок с интенсивным использованием данных. Это распределенная реляционная система управления базами данных SQL, которая поддерживает ANSI SQL и признанный за скорость приема данных, обработки транзакций и обработки запросов. SingleStore может хранить реляционные данные, данные JSON, графики и данные временных рядов, обслуживая смешанные рабочие нагрузки, такие как HTAP, а также сценарии использования OLTP и OLAP. Он компилирует SQL-запросы в машинный код и может быть развернут в различных средах, включая локальные установки, общедоступные/частные облака и контейнеры с помощью оператора Kubernetes.

Современная архитектура Datalake

в Современная архитектура Datalake , SingleStore полностью вписывается в уровень обработки. На этом уровне находятся механизмы обработки для преобразований, предоставления данных другим инструментам, исследования данных и других вариантов использования. Инструменты уровня обработки, такие как SingleStore, хорошо работают вместе с другими: часто несколько инструментов уровня обработки используют одно и то же озеро данных. Обычно такая конструкция реализуется в случае специализации инструмента. Например, сверхбыстрые платформы обработки данных в памяти, такие как SingleStore с гибридным векторным и полнотекстовым поиском, оптимизированы для рабочих нагрузок ИИ. особенно для случаев использования генеративного ИИ.

Предварительные условия

Для завершения этого руководства вам потребуется настроить некоторое программное обеспечение. Вот разбивка того, что вам понадобится:


  • Докер-движок : Этот мощный инструмент позволяет упаковывать и запускать приложения в стандартизированных программных модулях, называемых контейнерами.

  • Докер Составление : действует как оркестратор, упрощая управление многоконтейнерными приложениями. Это помогает с легкостью определять и запускать сложные приложения.


Установка: Если вы начинаете заново, Докер Рабочий стол Установщик предоставляет удобное универсальное решение для установки Docker и Docker Compose на вашей конкретной платформе (Windows, macOS или Linux). Зачастую это оказывается проще, чем загружать и устанавливать их по отдельности.


После установки Docker Desktop или комбинации Docker и Docker Compose вы можете проверить их наличие, выполнив следующую команду в своем терминале:


 docker-compose --version


Вам также понадобится лицензия SingleStore, которую вы можете получить здесь .



Запишите свой лицензионный ключ и пароль root. Вашей учетной записи будет назначен случайный пароль root, но вы сможете изменить свой пароль root с помощью пользовательского интерфейса SingleStore.

Начиная

Это руководство зависит от этот репозиторий . Клонируйте репозиторий в любое место по вашему выбору.


Самый важный файл в этом репозитории — docker-compose.yaml , который описывает среду Docker с базой данных SingleStore ( singlestore ), экземпляром MinIO ( minio ) и контейнером mc , который зависит от службы MinIO.


Контейнер mc содержит сценарий entrypoint , который сначала ожидает, пока MinIO станет доступным, добавляет MinIO в качестве хоста, создает корзину classic-books , загружает файл books.txt , содержащий данные книг, устанавливает общедоступную политику корзины и затем завершает работу.


 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:latest ports: - "9000:9000" - "9001:9001" volumes: - data1-1:/data1 - data1-2:/data2 environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: ["server", "/data1", "/data2", "--console-address", ":9001"] mc: image: minio/mc:latest depends_on: - minio entrypoint: > /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,JD 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://локальный хост:8080/ и войдите в систему, используя имя пользователя root и пароль root.


Проверьте МинИО

Перейдите к http://127.0.0.1:9001 для запуска веб-интерфейса MinIO. Войдите, используя имя пользователя и пароль для minioadmin:minioadmin . Вы увидите, что контейнер mc создал корзину под названием classic-books и что в ней есть один объект.


Исследуйте с помощью SQL

В SingleStore перейдите в редактор SQL и выполните следующую команду: команды :


 -- Create a new database named 'books' CREATE DATABASE books; -- Switch to the 'books' database USE 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' table CREATE 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 . В этой базе данных создается таблица classic_books , предназначенная для хранения таких сведений, как название, автор и дата публикации.


После этого настраивается конвейер с именем minio для извлечения данных из корзины S3 с меткой classic-books и загрузки их в таблицу classic_books . Определены параметры конфигурации для этого конвейера, включая регион, URL-адрес конечной точки и учетные данные аутентификации.


Впоследствии конвейер «минио» активируется, чтобы начать процесс извлечения и заполнения данных. После успешной загрузки данных в таблицу запрос SELECT извлекает и отображает все записи, хранящиеся в classic_books .


После завершения извлечения и просмотра данных конвейер minio останавливается и удаляется, таблица classic_books удаляется из базы данных books , а сама база данных books удаляется, обеспечивая чистый лист и завершая операции по управлению данными. Этот сценарий поможет вам начать работать с данными в MinIO в SingleStore.


Используйте этот стек

В этом руководстве быстро создается надежный стек данных, который позволяет экспериментировать с хранением, обработкой и запросом данных в объектном хранилище. Интеграция SingleStore, облачной базы данных, известной своей скоростью и универсальностью, с MinIO образует важный кирпичик в современном стеке озер данных.


Поскольку отраслевая тенденция склоняется к разделению хранилищ и вычислений, эта установка дает разработчикам возможность исследовать инновационные стратегии управления данными. Если вы заинтересованы в создании приложений с интенсивным использованием данных, реализации расширенной аналитики или экспериментировании с рабочими нагрузками ИИ, это руководство послужит стартовой площадкой.


Мы приглашаем вас использовать этот стек данных, экспериментировать с различными наборами данных и конфигурациями и раскрыть весь потенциал ваших приложений, управляемых данными. Если у вас есть какие-либо вопросы или идеи, пишите нам по адресу [email protected] или присоединяйтесь к нашему Слабый канал .