Sobes.tech
Junior

Tarantool ilə iş təcrübəniz nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Tarantool ilə bağlı təcrübəm onun yaddaşda məlumatların saxlanılması və tətbiq serveri kimi istifadəsini əhatə edir.

Əsas istifadə ssenariləri:

  • Keşləşdirmə: Tarantool'u yüksək performanslı keş kimi istifadə etmək, əsas verilənlər bazalarına yükü azaltmaq və məlumatlara giriş sürətini artırmaq üçün. Mən keşin uğursuzluğa davamlılığını təmin etmək üçün replikasiyanı konfiqurasiya etdim.
  • Real vaxt sistemləri: Minimal gecikmələr tələb edən tapşırıqlar üçün istifadə olundu, məsələn, real vaxt hadisələrinin işlənməsi və sessiya məlumatlarının saxlanması.
  • Məlumatlar şinası/kuşu: Tarantool'u mesaj mübadiləsi üçün yüngül və sürətli məlumat şinası kimi istifadə etdim. Lua skriptləri əsasında sadə növbələr tətbiq etdim.

Tarantool kontekstində işlədiyim texnologiyalar:

  • Lua: Lua skriptlərini yazdım, səhvləri tapdım və optimallaşdırdım, biznes məntiqini birbaşa Tarantool'da həyata keçirmək, məlumat sxemlərini təyin etmək və sorğularla işləmək.
  • Konnektorlar/Drayverlər: Rəsmi konnektorları müxtəlif proqramlaşdırma dilləri üçün (Python, Go, Node.js) istifadə etdim, xarici tətbiqlərdən Tarantool ilə əlaqə qurmaq üçün.
  • Monitorinq: Tarantool'u monitorinq sistemləri ilə (Prometheus, Grafana) inteqrasiya etdim, performans metriklərini, CPU yüklərini, yaddaş və şəbəkə istifadəsini və replikasiya vəziyyətini izləmək üçün.
  • Yerləşdirmə: Tarantool'u CI/CD boru xətlərinə daxil etdim. Həm konteynerlərdə (Docker), həm də virtual maşınlarda yerləşdirdim.

Lua skripti üçün nümunə strukturu, sahə və indeksin təyin edilməsi:

-- Sahə yaradılması
box.schema.space.create('users')

-- Birincil indeksin yaradılması
box.space.users:format({{name = 'id', type = 'unsigned'}})
box.space.users:create_index('primary', {type = 'hash', parts = {'id'}})

-- Məlumatların daxil edilməsi
box.space.users:insert({1, 'Alice'})
box.space.users:insert({2, 'Bob'})

Məlumatların seçilməsi üçün nümunə sorğu:

-- Bütün məlumatların seçilməsi
box.space.users:select()

-- Birincil açar ilə seçmə
box.space.users:select(1)

Tarantool'u replikasiya və sharding vasitəsilə miqyaslandırmaq bacarığım var (uyğun modullar və ya yanaşmalar istifadə etməklə). Yaddaş idarəetməsi və parametrlərin tənzimlənməsi xüsusiyyətlərini bilirəm, optimal performansı təmin etmək üçün. Tarantool'da MVCC prinsiplərini başa düşürəm.

İş prosesində, Tarantool'a məlumatların köçürülməsi, replikasiya və səhv idarəetməsi ilə bağlı tapşırıqları həll etdim.

Ümumiyyətlə, Tarantool ilə təcrübəm əsas məlumat əməliyyatlarını və onun infrastruktur, monitorinq və avtomatlaşdırma ilə əlaqəli daha inkişaf etmiş aspektləri əhatə edir.