Skip to content Skip to footer

Czym jest ClickHouse w local-ai-packaged i do czego służy

Wprowadzenie

Cześć! Uruchamiasz projekt local-ai-packaged na Ubuntu Desktop (np. na laptopie z AMD Ryzen 9 5900HS i NVIDIA RTX 3060, serwer 192.168.76.171) i zauważyłeś w wyniku polecenia docker ps kontener localai-clickhouse-1, działający na portach 127.0.0.1:8123 (HTTP) i 127.0.0.1:9000 (TCP)? Zastanawiasz się, czym jest ClickHouse i jakie pełni funkcje w Twoim środowisku AI? Ten idiotoodporny poradnik wyjaśni, czym jest ClickHouse, do czego służy w local-ai-packaged i jak wspiera lokalne wdrożenia AI, takie jak Flowise, Supabase czy Ollama. Artykuł jest po polsku, z gotowymi komendami i opisami zrzutów ekranu, idealny dla klientów agencja-ai.com!

Czym jest ClickHouse?

ClickHouse to open-source’owy, kolumnowy system zarządzania bazą danych (DBMS) zaprojektowany do przetwarzania analitycznego online (OLAP). Został stworzony przez Yandex, początkowo do obsługi Yandex.Metrica, a od 2016 roku jest dostępny na licencji Apache 2.0 ‽web:1. ClickHouse przechowuje dane w formacie kolumnowym, co pozwala na efektywną kompresję i szybkie wykonywanie zapytań analitycznych na dużych zbiorach danych w czasie rzeczywistym. Jest znany z wysokiej wydajności, zdolności do obsługi petabajtów danych i łatwości skalowania ‽web:7.

W projekcie local-ai-packaged, ClickHouse jest uruchomiony jako kontener Docker (localai-clickhouse-1) i dostępny na portach 127.0.0.1:8123 (interfejs HTTP) oraz 127.0.0.1:9000 (protokół TCP), co umożliwia wykonywanie zapytań SQL i integrację z innymi usługami.

Kluczowe cechy ClickHouse:

  • Kolumnowy format przechowywania: Dane są przechowywane w kolumnach, co zwiększa kompresję i przyspiesza zapytania analityczne ‽web:14.
  • Wysoka wydajność: Obsługuje miliardy wierszy na sekundę, idealny dla analiz w czasie rzeczywistym ‽web:21.
  • Skalowalność: Umożliwia skalowanie poziome przez dodawanie serwerów do klastra ‽web:24.
  • SQL: Wspiera rozszerzony język SQL z funkcjami do agregacji, analizy i przetwarzania danych ‽web:2.
  • Integracje: Współpracuje z narzędziami takimi jak Apache Kafka, Superset czy Grafana ‽web:16.

Do czego służy ClickHouse w local-ai-packaged?

W projekcie local-ai-packaged, ClickHouse pełni rolę magazynu danych analitycznych dla aplikacji AI, takich jak Flowise, Supabase czy Ollama. Jego zadaniem jest przechowywanie i szybkie przetwarzanie dużych ilości danych generowanych przez te aplikacje, np. logów, metryk czy wyników analiz AI. Oto szczegółowe funkcje ClickHouse:

  • Analiza logów AI: Przechowuje i analizuje logi generowane przez aplikacje AI, np. zapytania do Ollama czy dane wejściowe/wyjściowe Flowise ‽web:5.
  • Metryki aplikacji: Umożliwia przechowywanie metryk wydajności, np. czasu odpowiedzi modeli AI czy użycia GPU NVIDIA RTX 3060.
  • Integracja z Supabase: Przechowuje dane analityczne z Supabase, np. statystyki użytkowania aplikacji, które mogą być używane do optymalizacji.
  • Wsparcie dla Flowise: Umożliwia analizę przepływów pracy Flowise, np. statystyk dotyczących wywołań modeli językowych.
  • Real-time analytics: Dzięki wysokiej wydajności ClickHouse, zapytania analityczne są wykonywane w czasie rzeczywistym, co wspiera dynamiczne aplikacje AI.

Zrzut ekranu: Interfejs HTTP ClickHouse otwarty w przeglądarce na http://127.0.0.1:8123, pokazujący wyniki przykładowego zapytania SQL.

Jak ClickHouse działa w local-ai-packaged?

W local-ai-packaged, ClickHouse jest skonfigurowany w pliku docker-compose.yml i uruchamiany za pomocą skryptu start_services.py. Przykładowa konfiguracja w docker-compose.yml wygląda następująco:

services:
  clickhouse:
    image: clickhouse/clickhouse-server:latest
    ports:
      - "127.0.0.1:8123:8123"
      - "127.0.0.1:9000:9000"
    environment:
      - CLICKHOUSE_USER=admin
      - CLICKHOUSE_PASSWORD=password
    volumes:
      - clickhouse-data:/var/lib/clickhouse
volumes:
  clickhouse-data:

Wyjaśnienie:

  • ports: Mapuje porty hosta 127.0.0.1:8123 (HTTP) i 127.0.0.1:9000 (TCP) na porty kontenera.
  • environment: Ustawia dane logowania (np. użytkownik: admin, hasło: password).
  • volumes: Przechowuje dane w wolumenie clickhouse-data dla trwałości.

Zrzut ekranu: Edytor tekstu z otwartym plikiem docker-compose.yml, pokazującym konfigurację ClickHouse.

Kroki do przetestowania ClickHouse

  1. Uruchom local-ai-packaged z profilem GPU:
  2. cd ~/local-ai-packaged
    python3 start_services.py --profile gpu-nvidia --environment public
    
  3. Sprawdź dostępność ClickHouse:
  4. curl http://127.0.0.1:8123
    

    Otwórz przeglądarkę i wejdź na http://127.0.0.1:8123. Powinieneś zobaczyć komunikat powitalny ClickHouse.

  5. Przetestuj zapytanie SQL za pomocą clickhouse-client:
  6. docker exec -it localai-clickhouse-1 clickhouse-client -u admin --password password
    CREATE TABLE test (id UInt32, name String) ENGINE = MergeTree() ORDER BY id;
    INSERT INTO test VALUES (1, 'Jan'), (2, 'Anna');
    SELECT * FROM test;
    

    Jeśli używasz Konga, przetestuj przez trasę (np. /clickhouse):

    curl -H "apikey: my-key" http://192.168.76.171:8000/clickhouse
    

    Zrzut ekranu: Terminal z wynikiem zapytania SELECT * FROM test w clickhouse-client.

Dlaczego ClickHouse jest ważny w local-ai-packaged?

ClickHouse jest kluczowym komponentem w local-ai-packaged, ponieważ:

  • Wysoka wydajność: Obsługuje zapytania na miliardach wierszy w milisekundach, idealny dla analityki w czasie rzeczywistym ‽web:21.
  • Integracja z AI: Przechowuje i analizuje dane generowane przez aplikacje AI, takie jak logi Ollama czy metryki Flowise.
  • Skalowalność: Umożliwia łatwe skalowanie na serwerze 192.168.76.171 z GPU NVIDIA RTX 3060 ‽web:24.
  • Kompresja danych: Kolumnowy format pozwala na efektywną kompresję, oszczędzając miejsce na dysku ‽web:14.
  • Łatwość użycia: Rozszerzony język SQL ułatwia integrację z narzędziami wizualizacyjnymi, np. Superset czy Grafana ‽web:8.

Uwaga: Jeśli napotykasz problemy z GPU, sprawdź nasz poradnik o sterownikach NVIDIA dla Dockera.

Najlepsze praktyki

  • Bezpieczeństwo: Skonfiguruj Konga z wtyczką key-auth dla ClickHouse:
  • # Edytuj kong.yaml
    services:
      - name: clickhouse
        url: http://clickhouse:8123
        routes:
          - name: clickhouse-route
            paths:
              - /clickhouse
    plugins:
      - name: key-auth
        config:
          key_names:
            - apikey
    
  • Monitorowanie: Sprawdzaj logi ClickHouse:
  • docker logs localai-clickhouse-1
    
  • Trwałość danych: Regularnie twórz kopie zapasowe wolumenu clickhouse-data:
  • cp -r /var/lib/docker/volumes/clickhouse-data /var/lib/docker/volumes/clickhouse-data-backup
    
  • Firewall: Otwórz tylko potrzebne porty:
  • sudo ufw allow 8123
    sudo ufw allow 9000
    

Rozwiązywanie problemów

  • ClickHouse niedostępny: Sprawdź, czy porty 8123 i 9000 są otwarte:
  • sudo netstat -tuln | grep -E '8123|9000'
    
  • Błąd logowania: Upewnij się, że używasz poprawnych danych logowania z docker-compose.yml (np. admin:password).
  • Problemy z siecią: Sprawdź sieć Docker:
  • docker network inspect localai
    

    Zobacz nasz poradnik o widoczności usług.

  • Problemy z GPU: Upewnij się, że sterowniki NVIDIA działają:
  • docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi
    

    Zobacz nasz poradnik o NVIDIA dla Dockera.

  • Kontakt: Napisz na agencja-ai.com/kontakt.

Zwiększanie sprzedaży instrukcji

  • Polski język: Proste instrukcje po polsku przyciągają użytkowników.
  • Demo: Pokaż interfejs ClickHouse na http://127.0.0.1:8123 lub przez Konga na https://clickhouse.agencja-ai.com.
  • PDF: Udostępnij ten artykuł jako PDF na agencja-ai.com.

Podsumowanie

ClickHouse w local-ai-packaged to wysokowydajna, kolumnowa baza danych OLAP, która przechowuje i analizuje duże ilości danych generowanych przez aplikacje AI, takie jak Flowise czy Ollama, na serwerze 192.168.76.171 z GPU NVIDIA RTX 3060. Dostępny na portach 127.0.0.1:8123 (HTTP) i 127.0.0.1:9000 (TCP), wspiera real-time analytics i integracje z Supabase czy Grafana. Ten poradnik zwiększy atrakcyjność Twoich instrukcji na agencja-ai.com. Potrzebujesz więcej poradników, np. o optymalizacji zapytań SQL w ClickHouse lub integracji z Flowise? Napisz do nas! 😄

Źródła: ClickHouse, local-ai-packaged, Docker, Wikipedia, Decube, OpenMetal, Instaclustr

Leave a comment

0.0/5