paint-brush
Yeni Nesil Veri Çözümlerinin Geliştirilmesi: SingleStore, MinIO ve Modern Datalake Stackile@minio
3,941 okumalar
3,941 okumalar

Yeni Nesil Veri Çözümlerinin Geliştirilmesi: SingleStore, MinIO ve Modern Datalake Stack

ile MinIO6m2024/06/05
Read on Terminal Reader

Çok uzun; Okumak

singlestore.io, veri yoğunluklu iş yükleri için tasarlanmış, bulutta yerel bir veritabanıdır. SQL sorgularını makine kodunda derler ve şirket içi kurulumlar, genel/özel bulutlar ve Kubernetes operatörü aracılığıyla konteynerler dahil olmak üzere çeşitli ortamlara dağıtılabilir.
featured image - Yeni Nesil Veri Çözümlerinin Geliştirilmesi: SingleStore, MinIO ve Modern Datalake Stack
MinIO HackerNoon profile picture
0-item
1-item


Tek Mağaza veri yoğun iş yükleri için tasarlanmış bulutta yerel bir veritabanıdır. ANSI SQL'i destekleyen, dağıtılmış, ilişkisel bir SQL veritabanı yönetim sistemidir ve tanınan veri alımı, işlem işleme ve sorgu işlemedeki hızı nedeniyle. SingleStore ilişkisel, JSON, grafik ve zaman serisi verilerini depolayarak HTAP gibi karma iş yüklerine ve hem OLTP hem de OLAP kullanım senaryolarına hizmet edebilir. SQL sorgularını makine kodunda derler ve şirket içi kurulumlar, genel/özel bulutlar ve Kubernetes operatörü aracılığıyla konteynerler dahil olmak üzere çeşitli ortamlara dağıtılabilir.

Modern Datalake Mimarisi

İçinde Modern Datalake mimarisi SingleStore, İşleme Katmanına tam olarak sığar. Bu katman, dönüşümler için motorların işlendiği, diğer araçlar için verilerin sunulduğu, veri araştırmasının ve diğer kullanım durumlarının yaşandığı yerdir. SingleStore gibi işleme katmanı araçları diğerleriyle iyi çalışır: genellikle birden fazla işleme katmanı aracı aynı veri gölünden yararlanır. Genellikle bu tasarım, takım uzmanlığı durumunda uygulanır. Örneğin, hibrit vektör ve tam metin arama özelliğine sahip SingleStore gibi süper hızlı bellek içi veri işleme platformları, yapay zeka iş yükleri için optimize edilmiştir. özellikle üretken yapay zeka kullanım durumları için.

Önkoşullar

Bu öğreticiyi tamamlamak için bazı yazılımların kurulumunu yapmanız gerekir. İhtiyacınız olan şeylerin bir dökümü aşağıda verilmiştir:


  • Docker Motoru : Bu güçlü araç, uygulamaları konteyner adı verilen standartlaştırılmış yazılım birimlerinde paketlemenize ve çalıştırmanıza olanak tanır.

  • Docker Oluşturma : Bu, bir orkestratör görevi görerek çok kapsayıcılı uygulamaların yönetimini basitleştirir. Karmaşık uygulamaların kolaylıkla tanımlanmasına ve çalıştırılmasına yardımcı olur.


Kurulum: Yeni başlıyorsanız, Docker Masaüstü yükleyici, hem Docker'ı hem de Docker Compose'u kendi platformunuza (Windows, macOS veya Linux) yüklemek için tek noktadan kullanışlı bir çözüm sağlar. Bu genellikle bunları tek tek indirip yüklemekten daha kolay olur.


Docker Desktop'ı veya Docker ile Docker Compose kombinasyonunu yükledikten sonra, terminalinizde aşağıdaki komutu çalıştırarak bunların varlığını doğrulayabilirsiniz:


 docker-compose --version


Ayrıca alabileceğiniz bir SingleStore lisansına da ihtiyacınız olacak. Burada .



Hem lisans anahtarınızı hem de root şifrenizi not edin. Hesabınıza rastgele bir root şifresi atanacaktır ancak SingleStore kullanıcı arayüzünü kullanarak root şifrenizi değiştirebileceksiniz.

Başlarken

Bu eğitim şunlara bağlıdır: bu depo . Repoyu istediğiniz bir konuma kopyalayın.


Bu depodaki en önemli dosya, SingleStore veritabanına ( singlestore ), bir MinIO örneğine ( minio ) ve MinIO hizmetine bağlı bir mc konteynerine sahip bir Docker ortamını tanımlayan docker-compose.yaml dosyasıdır.


Mc kapsayıcısı, ilk önce MinIO'nun erişilebilir olmasını bekleyen, MinIO'yu ana bilgisayar olarak ekleyen, classic-books paketini oluşturan, kitap verilerini içeren bir books.txt dosyasını yükleyen, paket politikasını herkese açık olarak ayarlayan ve ardından çıkan bir entrypoint dosyası içerir.


 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:


Bir belge düzenleyici kullanarak yer tutucuları lisans anahtarınız ve kök parolanızla değiştirin.


Bir terminal penceresinde repoyu kopyaladığınız yere gidin ve tüm kapsayıcıları başlatmak için aşağıdaki komutu çalıştırın:


 docker-compose up


Bir tarayıcı penceresi açın, şuraya gidin http://localhost:8080/ ve 'root' kullanıcı adı ve root şifrenizle giriş yapın.


MinIO'yu kontrol edin

Şu yöne rotayı ayarla http://127.0.0.1:9001 MinIO WebUI'yi başlatmak için. minioadmin:minioadmin için Kullanıcı Adı ve Şifre ile giriş yapın. Mc konteynerinin classic-books adında bir kova yaptığını ve kovanın içinde bir nesnenin olduğunu göreceksiniz.


SQL ile keşfedin

SingleStore'da SQL Düzenleyiciye gidin ve aşağıdakileri çalıştırın komutlar :


 -- 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;


Bu SQL betiği, klasik kitaplarla ilgili verileri işlemek için bir dizi eylem başlatır. books adında yeni bir veritabanı oluşturarak başlar. Bu veritabanı içerisinde başlık, yazar, yayın tarihi gibi detayları tutacak şekilde tasarlanmış classic_books adlı bir tablo oluşturulur.


Bunu takiben, classic-books etiketli bir S3 klasöründen veri çıkarmak ve bunu classic_books tablosuna yüklemek için minio adlı bir işlem hattı kurulur. Bölge, uç nokta URL'si ve kimlik doğrulama kimlik bilgileri dahil olmak üzere bu işlem hattına yönelik yapılandırma parametreleri tanımlanır.


Daha sonra, veri alma ve doldurma sürecini başlatmak için 'minio' boru hattı etkinleştirilir. Veriler tabloya başarıyla yüklendikten sonra, bir SELECT sorgusu classic_books saklanan tüm kayıtları alır ve görüntüler.


Veri çıkarma ve görüntülemenin tamamlanmasının ardından minio hattı durdurulur ve kaldırılır, classic_books tablosu books veritabanından çıkarılır ve books veritabanının kendisi de kaldırılarak temiz bir sayfa sağlanır ve veri yönetimi işlemleri tamamlanır. Bu komut dosyası, SingleStore'daki MinIO'daki verilerle oynamaya başlamanızı sağlamalıdır.


Bu Yığın üzerinde derleme yapın

Bu eğitim, nesne depolamada verilerin depolanması, işlenmesi ve sorgulanmasıyla denemelere olanak tanıyan sağlam bir veri yığınını hızlı bir şekilde oluşturur. Hızı ve çok yönlülüğüyle bilinen bulut tabanlı bir veritabanı olan SingleStore'un MinIO ile entegrasyonu, modern datalake yığınında önemli bir tuğla oluşturur.


Sektör trendi depolama ve bilişimin ayrıştırılmasına doğru yönelirken, bu kurulum geliştiricilere yenilikçi veri yönetimi stratejilerini keşfetme gücü veriyor. İster veri yoğun uygulamalar oluşturmak, ister gelişmiş analizler uygulamak veya yapay zeka iş yükleriyle denemeler yapmak istiyor olun, bu eğitim bir başlangıç noktası görevi görür.


Sizi bu veri yığınını temel almaya, farklı veri kümeleri ve yapılandırmalarla denemeler yapmaya ve veri odaklı uygulamalarınızın tüm potansiyelini açığa çıkarmaya davet ediyoruz. Sorularınız veya fikirleriniz için [email protected] adresinden bize ulaşmaktan veya bize katılmaktan çekinmeyin. Gevşek Kanal .