Bogdan's Docs

Table of Contents

Table of Contents

  • Minio
    • Cum folosesc Minio?
    • Minio Client

Ideas

  • Artificial Intelligence
    • Bond Pricing
    • Kubernetes Inference
    • Knowledge Bot
    • Ready to Use Models
    • Satellite Damage Detection

Curs IoT si AI (ro) Resources

  • Links
    • Artificial Intelligence
  • Recipes
    • MacOS
Bogdan's Docs
Docs » iot-si-ai:minio

Minio

Minio este un server de stocare de obiecte, open source, compatibil cu API-ul Amazon S3 (Simple Storage Service), care permite utilizatorilor să stocheze și să acceseze date și fișiere într-un mod distribuit și scalabil. Minio poate fi instalat și configurat pe propriul hardware sau poate fi utilizat ca un serviciu în cloud. Printre caracteristicile sale se numără replicarea și distribuirea automată a datelor, criptarea la repaus și în timpul tranzitului, și compatibilitatea cu o gamă largă de aplicații și instrumente de gestionare a datelor. Minio este utilizat în special în aplicații de stocare și gestionare a datelor în cloud, dar poate fi folosit și pentru stocarea și partajarea de fișiere între dispozitive și utilizatori în rețele private sau locale.

Există câteva motive pentru a utiliza Minio în loc de un NAS:

  • Scalabilitate: Minio poate fi scalat orizontal prin adăugarea de noi noduri la cluster. Pe de altă parte, capacitatea NAS-urilor este limitată la hardware-ul fizic disponibil, ceea ce poate fi costisitor de înlocuit sau de actualizat.
  • Costuri reduse: Utilizarea unui NAS poate fi foarte costisitoare în funcție de dimensiunea și capacitatea dispozitivului. Minio este o soluție open-source și gratuită, care poate fi rulată pe hardware existent sau pe mașini virtuale.
  • Portabilitate: Minio este o aplicație dezvoltată în limbajul Go, ceea ce înseamnă că poate fi rulată pe diferite platforme, inclusiv Linux, Windows și macOS. Acest lucru face ca Minio să fie mai portabil decât un NAS.
  • Compatibilitate: Minio este compatibil cu Amazon S3, ceea ce înseamnă că poate fi utilizat pentru a stoca date în cloudul public Amazon Web Services (AWS). De asemenea, Minio poate fi utilizat cu alte servicii compatibile cu S3.

În general, Minio poate fi o soluție mai flexibilă și mai economică pentru stocarea datelor decât un NAS tradițional, cu condiția să existe experți în administrarea și configurarea unei astfel de soluții în cadrul organizației.

Principalele avantaje ale Minio în procesarea datelor sunt următoarele:

  • Scalabilitate: Minio este proiectat să fie scalabil, permițând adăugarea de noduri de stocare pentru a crește capacitatea de stocare a clusterului. Acest lucru face ca Minio să fie ideal pentru organizarea și gestionarea datelor în creștere.
  • Eficienta: Minio oferă o performanță ridicată a datelor și o eficiență excelentă în utilizarea resurselor, fiind capabil să gestioneze fluxurile de date mari și sarcinile de lucru intensive.
  • Compatibilitate: Minio suportă protocoalele de stocare de date populare, precum Amazon S3 și Azure Blob Storage, ceea ce îl face compatibil cu multe aplicații existente.
  • Rezistență și durabilitate: Minio oferă redundanță de date, ceea ce garantează disponibilitatea și siguranța datelor chiar și în cazul unor defecte hardware sau software.
  • Securitate: Minio oferă opțiuni de securitate puternice, inclusiv criptarea datelor, autentificarea și autorizarea pentru a proteja datele împotriva accesului neautorizat și a atacurilor cibernetice.

Un Data Lake este un depozit centralizat de date brute și nedezvoltate, care pot fi structurate sau neestructurate, interne sau externe, care sunt stocate în diferite formate și nu sunt procesate înainte de a fi stocate. Scopul unui Data Lake este de a oferi un singur loc de stocare și acces la date pentru analiza și procesarea acestora în viitor.

Pe de altă parte, un Data Warehouse este o colecție centralizată de date integrate, care au fost prelucrate, curățate, organizate și stocate într-un mod specific. Acesta este conceput pentru a sprijini deciziile de afaceri, oferind date structurate pentru rapoarte, analize și alte aplicații de business intelligence.

Minio este o soluție de stocare a datelor scalabilă și performantă, care poate fi utilizată pentru construirea unui Data Lake. Deși nu este destinat explicit pentru construirea unui Data Warehouse, este posibil să se folosească Minio împreună cu alte soluții, cum ar fi Apache Hadoop sau Apache Spark, pentru a construi un Data Warehouse.

Cum folosesc Minio?

Pentru a testa Minio folosind o imagine oficiala Docker, urmează acești pași:

  • Instalează Docker pe calculatorul tău. Poți găsi instrucțiuni pe site-ul oficial: https://docs.docker.com/engine/install/.
  • Descarcă imaginea oficială Minio de pe Docker Hub folosind următoarea comandă:
docker pull minio/minio

Creează un container Minio pornind din imaginea descărcată și specifică portul pe care vrei să-l folosești pentru a accesa interfața web Minio. De asemenea, poți specifica numele containerului, cheia secretă pentru criptarea datelor și locația unde vor fi stocate datele. Exemplul de mai jos pornește un container Minio pe portul 9000 și folosește cheia secretă “mysecretkey” pentru criptarea datelor. Datele sunt stocate într-un director local numit “minio-data”:

    docker run -p 9000:9000 --name minio \
      -e "MINIO_ACCESS_KEY=minio" \
      -e "MINIO_SECRET_KEY=mysecretkey" \
      -v /path/to/minio/data:/data \
      -v /path/to/minio/config:/root/.minio \
      minio/minio server /data
  • Accesează interfața web Minio folosind adresa IP a calculatorului tău și portul specificat mai sus (de exemplu, http://127.0.0.1:9000). Autentifică-te folosind cheia de acces și cheia secretă specificate în comanda de mai sus.
  • Poți utiliza acum interfața web Minio pentru a încărca și descărca fișiere, precum și pentru a gestiona utilizatorii și politicile de acces.

Pentru opțiuni avansate de configurare și utilizare a Minio, poți consulta documentația oficială: https://docs.min.io/docs/.

Minio Client

Pentru a rula mc (Minio Client) folosind imaginea oficiala Docker, trebuie să executați următorul comandă în terminalul dumneavoastră:

podman run --rm -it --entrypoint=/bin/bash minio/mc

Această comandă va porni un container cu imaginea oficială Minio Client, va șterge containerul după ce acesta este oprit și va intra în container folosind shell-ul /bin/bash.

Pentru a te conecta la un server Minio disponibil pe calculatorul local folosind mc, urmează acești pași:

  • Deschide terminalul și asigură-te că Minio este pornit și rulează pe calculatorul tău local.
  • Rulează următorul comandă pentru a adăuga o configurație pentru serverul tău local în fișierul de configurare mc:
mc config host add myminio http://localhost:9000 minioadmin minioadmin

Acest lucru va adăuga un host nou numit myminio care se conectează la serverul tău Minio de la adresa http://localhost:9000 și folosește numele de utilizator și parola minioadmin (dacă acestea sunt valorile reale ale contului tău Minio, în caz contrar, înlocuiește-le cu valorile tale).

Verifică dacă serverul tău Minio este conectat corect folosind comanda:

mc admin info myminio

Această comandă ar trebui să afișeze informații despre serverul tău Minio.

Iată câteva exemple de folosire a CLI Minio (mc):

  • Listarea bucăților dintr-un depozit:
mc ls myminio/mybucket
  • Descărcarea unui fișier:
mc cp myminio/mybucket/myfile.txt /path/to/local/file.txt
  • Încărcarea unui fișier:
mc cp /path/to/local/file.txt myminio/mybucket/myfile.txt
  • Crearea unui nou depozit:
mc mb myminio/mynewbucket
  • Ștergerea unui fișier:
mc rm myminio/mybucket/myfile.txt

Acestea sunt doar câteva exemple de comenzi posibile cu CLI Minio (mc). Există multe altele, cum ar fi crearea de alias-uri pentru depozite, setarea de permisiuni, criptarea datelor și multe altele. Pentru a vedea toate opțiunile disponibile, puteți folosi comanda mc help.

Previous Next