Najlepsze rozwiązania dotyczące biblioteki Kusto Ingest

W tym artykule wyjaśniono najlepsze rozwiązania dotyczące pozyskiwania danych za pomocą biblioteki Kusto Ingest.

Preferuj pozyskiwanie bezpośrednio w kolejce

W przypadku scenariuszy produkcyjnych użyj klienta pozyskiwania w kolejce. Aby uzyskać więcej informacji, zobacz Pozyskiwanie w kolejce i Bezpośrednie pozyskiwanie.

Używanie pojedynczego wystąpienia klienta pozyskiwania

Implementacje klientów kusto ingest są bezpieczne wątkowo i wielokrotnego użytku. Dla każdego klastra docelowego należy użyć pojedynczego wystąpienia klienta pozyskiwania w kolejce lub bezpośredniego na proces. Uruchomienie wielu wystąpień może przeciążyć klaster, powodując brak odpowiedzi lub powolne odpowiadanie na prawidłowe żądania.

Stan operacji śledzenia limitu

W przypadku dużych strumieni danych ogranicz użycie pozytywnych powiadomień dla żądań pozyskiwania. Nadmierne śledzenie może prowadzić do zwiększonego opóźnienia pozyskiwania, a nawet całkowitego braku odpowiedzi klastra. Aby uzyskać więcej informacji, zobacz Stan operacji.

Optymalizowanie pod kątem przepływności

Podczas planowania potoku pozyskiwania należy wziąć pod uwagę następujące czynniki, ponieważ mogą one mieć znaczący wpływ na przepływność pozyskiwania.

Czynnik Opis
Rozmiar danych Pozyskiwanie danych jest bardziej wydajne, gdy odbywa się to w dużych fragmentach. Zalecamy wysyłanie danych w partiach od 100 MB do 1 GB (bez kompresji).
Format danych Plik CSV jest najszybszym formatem pozyskiwania. W przypadku tej samej ilości danych kod JSON może trwać 2 razy lub 3 razy dłużej. Aby uzyskać więcej informacji, zobacz Formaty danych obsługiwane na potrzeby pozyskiwania.
Szerokość tabeli Pozyskiwanie tylko niezbędnych danych. Każda kolumna musi być zakodowana i zindeksowana, co oznacza, że szersze tabele mogą mieć niższą przepływność. Kontroluj, które pola są pozyskiwane, dostarczając mapowanie pozyskiwania.
Lokalizacja danych źródłowych Unikaj odczytu między regionami, aby przyspieszyć pozyskiwanie.
Ładowanie klastra Gdy klaster ma duże obciążenie zapytań, pozyskiwanie trwa dłużej.

Uwaga

Klient pozyskiwania w kolejce dzieli duże zestawy danych na fragmenty i agreguje je, co jest przydatne, gdy dane nie mogą być dzielone na partie przed pozyskiwaniem.

Optymalizowanie pod kątem kosztów

Używanie bibliotek klienta Kusto do pozyskiwania danych do klastra pozostaje najtańszą i najbardziej niezawodną opcją. Zachęcamy naszych klientów do przejrzenia metod pozyskiwania, aby zoptymalizować koszt i skorzystać z cen usługi Azure Storage, dzięki czemu transakcje obiektów blob będą znacznie opłacalne.

W przypadku ekonomicznego pozyskiwania:

  • Ogranicz liczbę pozyskanych fragmentów danych, takich jak pliki, obiekty blob i strumienie.
  • Pozyskiwanie dużych fragmentów z maksymalnie 1 GB nieskompresowanych danych.
  • Wybierz przetwarzanie wsadowe.
  • Podaj dokładny, nieskompresowany rozmiar danych, aby uniknąć dodatkowych transakcji magazynu.
  • Unikaj ustawiania FlushImmediately wartości .true
  • Unikaj wysyłania małych ilości danych z tagamiingest-by zakresu lub drop-by .

Uwaga

Nadmierne wykorzystanie ostatnich dwóch metod może zakłócić agregację danych, prowadzić do dodatkowych transakcji magazynu oraz zaszkodzić pozyskiwaniu i wydajności zapytań.