Trino və Presto eyni koddan törəyən iki layihədir. Presto Facebook-da yaradılıb və 2013-cü ildə açıq mənbəyə çıxarılıb. 2018-ci ildə onun ilkin yaradıcıları şirkəti tərk edib layihəni PrestoSQL adı ilə fork ediblər və 2020-ci ilin dekabrında onu Trino adlandırıblar. Facebook-un xətti isə Linux Foundation-un Presto Foundation-u altında PrestoDB olaraq davam edib.

Hər ikisi datanı əvvəlcə yükləməyi tələb etmək əvəzinə olduğu yerdə oxuyan paylanmış SQL sorğu engine-idir. Hər ikisi açıq mənbəlidir. Hər ikisi istehsalatda çox böyük miqyasda işlədilir. Bazardakı çaşqınlıq tamamilə başadüşüləndir, çünki fork-dan sonrakı birinci il boyu onlar demək olar eyni proqram təminatı idi.

İndi eyni proqram təminatı deyillər və yeni tətbiq üçün seçim aydındır.

Fork nə haqqında idi

Ayrılmanı başa düşmək sonrakı fərqlənməni izah edir.

Təsisçi mühəndislər — engine-in böyük hissəsini yazan adamlar — Facebook-u tərk etdilər və layihənin inkişaf sürətini özləri ilə apardılar. Apara bilmədikləri şey Facebook-da qalan ad idi, ticarət nişanı məsələsi isə qısa müddət ərzində bir olan şeyin iki adının yaranmasına səbəb oldu.

Nəticə texniki yox, struktur idi. İnkişaf fəaliyyəti, konnektor ekosistemi və görünən icmanın çoxu təsisçilərlə birlikdə köçdü. Facebook öz xəttini öz çox böyük daxili iş yükləri üçün, ondan irəli gələn prioritetlərlə inkişaf etdirməyə davam etdi.

Heç bir layihə digərinin dizaynından imtina etmədi. Amma fərqli prioritetlərlə altı illik müstəqil inkişaf həqiqətən fərqli proqram təminatı yaradır və vəziyyət hazırda budur.

İndi nə ilə fərqlənirlər

İnkişaf sürəti və icma. Trino-nun töhfəçi bazası daha böyük, buraxılış ritmi daha sürətli və yeni konnektor işinin çoxu ondadır. Bu, yığılan fərqdir: yeni data mənbəyinin, yeni table format versiyasının və ya yeni autentifikasiya metodunun sizə nə qədər tez çatacağını məhz o müəyyən edir.

Konnektor əhatəsi. Trino relyasion bazaları, obyekt storage-ı, NoSQL anbarlarını və mesaj sistemlərini əhatə edən 30-dan çox istehsalat səviyyəli konnektorla gəlir, müəssisə distributivi isə bunu xeyli genişləndirir. PrestoDB-nin əhatəsi daha dardır və Meta-nın istismar etdiyi mənbələrə meyllidir.

ANSI SQL uyğunluğu. Trino standartlara uyğunluğa və aydın, proqnozlaşdırıla bilən semantikaya ciddi sərmayə qoyub. Standart SQL istinadına əsasən yazılmış sorğular adətən işləyir — analitikləriniz Oracle və ya SQL Server keçmişindən gəlirsə, bu, göründüyündən vacibdir.

Table format dəstəyi. Hər ikisi Iceberg, Delta Lake və Hudi-ni dəstəkləyir və hər ikisi yaxşılaşıb. Trino-nun dəstəyi ümumiyyətlə yeni spesifikasiya versiyalarını daha tez izləyib — hələ aktiv inkişafda olan format işlədirsinizsə, bu vacibdir; bax Iceberg, Delta Lake və Hudi.

Kommersiya dəstəyi. Trino-nun arxasında Starburst dayanır — müəssisə distributivi, təhlükəsizlik funksiyaları və dəstək müqavilələri ilə onun ətrafında qurulmuş ciddi şirkət. PrestoDB-nin kommersiya ekosistemi daha nazikdir. Adlı qarşı tərəflə dəstək müqaviləsinə ehtiyacı olan tənzimlənən institut üçün bu, çox vaxt xoş əlavə deyil, həlledici amildir.

Hansını seçmək

Yeni tətbiq üçün: Trino — ekosistem, konnektor əhatəsi, buraxılış sürəti və kommersiya dəstəyi hesabına. 2026-cı ildə bu, mübahisəli sual deyil və dürüst səbəb hər hansı tək texniki funksiya yox, icma cazibəsidir.

PrestoDB-nin lehinə hallar dardır, amma realdır. Onu artıq miqyasda işlədirsinizsə və tələblərinizi ödəyirsə, miqrasiyaya tələsməyə ehtiyac yoxdur — miqrasiyanın xərci realdır, fayda isə mərhələlidir. İş yükünüz Meta-nınkına yaxındırsa və həmin forma üçün edilmiş optimallaşdırmalardan faydalanırsınızsa, bu, qanuni səbəbdir. Və təşkilatınızda mövcud təcrübə PrestoDB-də cəmləşibsə, həmin təcrübənin dəyəri var.

Heç birini seçmək üçün yaxşı səbəb olmayan şey: maraqlı tərəfin dərc etdiyi benchmark rəqəmləri. Real miqyasda eyni engine-in iki konfiqurasiyası arasındakı fərq adətən engine-lər arasındakı fərqi üstələyir.

Aralarında miqrasiya

Adətən gözləniləndən asandır, çünki SQL səthi əsasən paylaşılır.

Sorğuların çoxu dəyişmədən köçür. Diqqət tələb edən şey konfiqurasiyadır — kataloq tərifləri, konnektor parametrləri, təhlükəsizlik inteqrasiyası — və bir xəttə xas funksiyalardan və ya davranışlardan asılılıq. Praktiki yanaşma yeni engine-i köhnəsinin yanında qaldırmaq, eyni mənbələrə yönəltmək və təmsilçi sorğu dəstini hər ikisindən keçirməkdir. Fərqlər tez üzə çıxır və onlar adətən planlaşdırma iclasının güman etdiyindən azdır.

Client uyğunluğu nadir hallarda miqrasiyanı bloklayır: hər ikisi üçün JDBC və ODBC sürücüləri var və BI alətləri adətən bağlantı sətrindən başqa dəyişiklik olmadan qoşulur.

Starburst nə əlavə edir

Bunu ayırmağa dəyər, çünki "Trino və Presto" ilə "açıq mənbəli Trino və Starburst" fərqli suallardır və qarışdırılır.

Açıq mənbəli Trino engine-dir. Starburst isə onun ətrafında qurulmuş müəssisə distributividir: əlavə və möhkəmləndirilmiş konnektorlar, sətir və sütun səviyyəli siyasət daxil olmaqla dəqiq giriş nəzarəti, idarə olunan kataloq qatı, sorğu nəticəsi keşi və materiallaşdırılmış view-lar, plus dəstək və təhlükəsizlik yamağı axını.

Nəzarət altındakı bank üçün adətən qərarı verən ikisi giriş nəzarəti və dəstəkdir. Engine-də mərkəzi tətbiq olunan dəqiq siyasət — hər mənbədə yenidən yazılmaq əvəzinə — federated girişi idarəetmə modeli ilə uyğunlaşdıran şeydir və onu özün qurmaq ciddi mühəndislik səyidir. Adlı dəstək qarşı tərəfi isə çox vaxt üstünlük deyil, satınalma tələbidir.

Güclü mühəndisliyi olan və rəsmi dəstək öhdəliyi olmayan kiçik tətbiq üçün açıq mənbəli Trino tamamilə yararlıdır və dürüst tövsiyə də budur. Təfərrüat Azərbaycanda Starburst və Trino yazısındadır.

Bu bazar üçün praktiki qeydlər

Bulud-nativ estate-lər üçün yazılmış materialdan fərqli olaraq burada daha vacib olan üç şey.

On-premise tətbiq hər ikisi üçün normaldır — bu kateqoriyadakı hər engine üçün eyni şeyi demək olmaz. Heç biri işləmək üçün bulud xidməti tələb etmir və hər ikisi sizin Kubernetes-inizdə və ya bare metal üzərində işləyir. Bunu erkən yoxlayın, çünki funksiyaları müqayisə etməzdən əvvəl bir neçə rəqibi siyahıdan çıxarır — bax Starburst, Dremio və Databricks.

Əsl test legacy konnektorların keyfiyyətidir. Estate-inizdə Oracle, MS SQL, ehtimal ki 1C və mainframe ixracları var. Pushdown-u konkret olaraq onlara qarşı yoxlayın. Müasir mənbələrdə performans sual doğurmur; tətbiqlərin həqiqətən uğur qazandığı və ya məyus etdiyi yer legacy mənbələrdə pushdown-dur.

Əməliyyat mənbələrində eyni vaxtlılıq limitləri seçim deyil. Federated sorğu sizin istehsalat core banking bazanızda icra olunur və JDBC bağlantı darboğazı o deməkdir ki, tək mənbə bağlantısı həm həmin sistemi, həm də sizin sorğu performansınızı məhdudlaşdırır. Limitləri ilk insidentdən sonra yox, analitiklər gəlməzdən əvvəl qoyun.

Əsas məqamlar

  • Eyni mənşə; 2018-də ilkin yaradıcılar Facebook-u tərk edəndə fork baş verib; PrestoSQL 2020-ci ilin dekabrında Trino olub, Facebook-un xətti isə PrestoDB kimi davam edib.
  • İnkişaf sürəti, konnektor əhatəsi, buraxılış ritmi və kommersiya ekosistemi təsisçilərlə birlikdə Trino-ya keçib.
  • Yeni tətbiq üçün Trino seçin. PrestoDB onu artıq miqyasda işlədirsinizsə və ya iş yükünüz Meta-nınkına oxşayırsa müdafiə oluna bilər.
  • Miqrasiya adətən sadədir — SQL-in çoxu dəyişmədən köçür; konfiqurasiya və xəttə xas funksiyalar diqqət tələb edir.
  • "Trino və Presto" ilə "Trino və Starburst" fərqli suallardır. Starburst dəqiq giriş nəzarəti, möhkəmləndirilmiş konnektorlar və dəstək əlavə edir.
  • Pushdown-u legacy mənbələrinizə qarşı yoxlayın və girişi açmazdan əvvəl əməliyyat konnektorlarında eyni vaxtlılıq limitləri qoyun.

Tənzimlənən Azərbaycan institutlarında federated analitika üçün Starburst on-premise tətbiq edirik. Əlaqəli oxu: data virtualization nədir.