Wywiady
Karthik Ranganathan, współzałożyciel i współprezes Yugabyte – seria wywiadów

Karthik Ranganathan jest współzałożycielem i współprezesem Yugabyte, firmy stojącej za YugabyteDB, otwartoźródłową, wysokowydajną, rozproszoną bazą danych PostgreSQL. Karthik jest doświadczonym ekspertem danych i byłym inżynierem Facebooka, który założył Yugabyte wraz z dwoma kolegami z Facebooka, aby rewolucjonizować rozproszone bazy danych.
Czym skłoniło Cię do współzałożenia Yugabyte, i jakie luki na rynku widzieliście, co skłoniło Was do stworzenia YugabyteDB?
Moi współzałożyciele, Kannan Muthukkaruppan, Mikhail Bautin i ja, założyliśmy Yugabyte w 2016 roku. Jako byli inżynierowie w Meta (wówczas zwane Facebook), pomogliśmy zbudować popularne bazy danych, w tym Apache Cassandra, HBase i RocksDB, a także uruchamialiśmy niektóre z tych baz danych jako usługi zarządzane dla wewnętrznych obciążeń.
Stworzyliśmy YugabyteDB, ponieważ widzieliśmy lukę na rynku w zakresie chmurowych, transakcyjnych baz danych dla aplikacji biznesowych. Zbudowaliśmy YugabyteDB, aby spełnić potrzeby organizacji przechodzących z systemów lokalnych na chmurowe i połączyć siłę niezwiązanych z relacjami baz danych z skalowalnością i odpornością architektur chmurowych. Podczas budowy Cassandra i HBase w Facebooku (co było kluczowe w rozwiązaniu znaczących potrzeb skalowania Facebooka), widzieliśmy wzrost mikrousług, konteneryzacji, wysokiej dostępności, geograficznego rozproszenia i Interfejsów Programowania Aplikacji (API). Rozpoznaliśmy również wpływ, jaki technologie open-source mają na rozwój branży.
Ludzie często uważają, że rynek baz danych transakcyjnych jest zatłoczony. Chociaż tradycyjnie było to prawdą, dziś Postgres stał się domyślnym API dla chmurowych, transakcyjnych baz danych. Coraz więcej chmurowych baz danych wybiera obsługę protokołu Postgres, który został wbudowany w tkankę YugabyteDB, czyniąc ją najbardziej zgodną z Postgres bazą danych na rynku. YugabyteDB zachowuje moc i znajomość PostgreSQL, jednocześnie ewoluując w kierunku rozproszonej, przedsiębiorczej bazy danych odpowiedniej dla nowoczesnych, chmurowych aplikacji. YugabyteDB pozwala przedsiębiorstwom na efektywne budowanie i skalowanie systemów za pomocą znanych modeli SQL.
Jak Twoje doświadczenia w Facebooku wpłynęły na Twoją wizję dla firmy?
W 2007 roku rozważałem, czy dołączyć do małej, ale rozwijającej się firmy – Facebooka. Wówczas strona miała około 30-40 milionów użytkowników. Myślałem, że może się podwoić, ale nie mógłbym być bardziej w błędzie! Podczas moich ponad pięciu lat w Facebooku, liczba użytkowników wzrosła do 2 miliardów. To, co mnie przyciągnęło do firmy, to była kultura innowacji i odwagi, zachęcająca ludzi do “szybkiego niepowodzenia”, aby katalizować innowacje.
Facebook rozrastał się tak bardzo, że techniczne i intelektualne wyzwania, których pragnąłem, nie były już obecne. Przez wiele lat marzyłem o założeniu własnej firmy i rozwiązywaniu problemów dotykających zwykłych użytkowników – to skłoniło mnie do współzałożenia Yugabyte.
Nasza misja polega na uproszczeniu chmurowych aplikacji, skupiając się na trzech podstawowych funkcjach niezbędnych dla nowoczesnego rozwoju:
- Po pierwsze, aplikacje muszą być nieprzerwanie dostępne, zapewniając czas pracy niezależnie od kopii zapasowych lub awarii, szczególnie podczas uruchamiania na tanim sprzęcie w chmurze.
- Po drugie, zdolność do skalowania na żądanie jest kluczowa, umożliwiając deweloperom budowanie i wydawanie szybko bez opóźnień związanych z zamawianiem sprzętu.
- Po trzecie, z wieloma centrami danych, które są teraz łatwo dostępne, replikacja danych w różnych regionach staje się niezwykle ważna dla niezawodności i wydajności.
Te trzy elementy dają deweloperom elastyczność i swobodę, których potrzebują, aby innowować, bez ograniczeń infrastrukturalnych.
Czy mógłbyś podzielić się podróżą od powstania Yugabyte w 2016 roku do jego obecnego statusu jako lidera w rozproszonych bazach danych SQL? Jakie były najważniejsze kamienie milowe?
W Facebooku często rozmawiałem z deweloperami, którzy potrzebowali określonych funkcji, takich jak indeksy wtórne w bazach danych SQL lub okazjonalne transakcje między węzłami. Niestety, odpowiedź była zwykle “nie”, ponieważ istniejące systemy nie były zaprojektowane z myślą o tych wymaganiach.
Dziś doświadczamy przesunięcia w kierunku chmurowych, transakcyjnych aplikacji, które muszą rozwiązać problemy skalowalności i dostępności. Tradycyjne bazy danych po prostu nie mogą spełnić tych potrzeb. Nowoczesne firmy wymagają relacyjnych baz danych, które działają w chmurze i oferują trzy podstawowe funkcje: wysoką dostępność, skalowalność i geograficzne rozproszenie, a jednocześnie obsługują możliwości SQL. To są filary, na których zbudowaliśmy YugabyteDB i bazy danych, których rozwiązania się skupiamy.
W lutym 2016 roku założyciele rozpoczęli rozwój YugabyteDB, globalnej, rozproszonej bazy danych SQL zaprojektowanej dla chmurowych, transakcyjnych aplikacji. W lipcu 2019 roku ogłosiliśmy bezprecedensowe ogłoszenie i wydaliśmy nasze wcześniej komercyjne funkcje jako open source. To potwierdziło nasze zaangażowanie w zasady open source i oficjalnie uruchomiło YugabyteDB jako w pełni open-source system zarządzania relacyjnymi bazami danych (RDBMS) na licencji Apache 2.0.
Najnowsza wersja YugabyteDB (zaprezentowana we wrześniu) zawiera ulepszoną zgodność z Postgres. Zawiera Adaptive Cost-Based Optimizer (CBO), który optymalizuje plany zapytań dla dużych, wieloregionalnych aplikacji, oraz Smart Data Distribution, który automatycznie określa, czy przechowywać tabele razem dla niższej latencji, czy fragmentować i rozproszyć dane dla większej skalowalności. Te ulepszenia pozwalają deweloperom uruchamiać aplikacje PostgreSQL na YugabyteDB wydajnie i skalować bez potrzeby kompromisów lub skomplikowanych migracji.
YugabyteDB jest znany ze swojej zgodności z PostgreSQL i Cassandra-inspirowanym API. Jak ten wielo-API approach korzysta deweloperom i przedsiębiorstwom?
Wielo-API approach YugabyteDB korzysta deweloperom i przedsiębiorstwom, łącząc siłę wysokowydajnej bazy danych SQL z elastycznością potrzebną dla globalnych, internetowych aplikacji.
Obsługuje skalowanie RDBMS i wysokowydajne obciążenia OLTP, utrzymując niską latencję zapytań i wyjątkową odporność. Zgodność z PostgreSQL pozwala na bezproblemową modernizację istniejących aplikacji Postgres, wymagając minimalnych zmian.
W najnowszej wersji rozproszonej platformy bazy danych, wydanej we wrześniu 2024 roku, funkcje takie jak Adaptive CBO i Smart Data Distribution poprawiają wydajność, optymalizując plany zapytań i automatycznie zarządzając umieszczaniem danych. To pozwala deweloperom osiągnąć niską latencję i wysoką skalowalność bez kompromisów, czyniąc YugabyteDB idealnym dla szybko rozwijających się, chmurowych aplikacji, które wymagają niezawodnego zarządzania danymi.
Sztuczna inteligencja jest coraz częściej integrowana z systemami baz danych. Jak Yugabyte wykorzystuje AI do poprawy wydajności, skalowalności i bezpieczeństwa swoich systemów SQL?
Wykorzystujemy AI do poprawy naszej rozproszonej bazy danych SQL, rozwiązując wyzwania związane z wydajnością i migracją. Nasz nadchodzący Performance Copilot, ulepszenie naszego Performance Advisor, uprości rozwiązywanie problemów, analizując wzorce zapytań, wykrywając anomalie i zapewniając czasowe zalecenia do rozwiązywania problemów z wydajnością bazy danych.
Jesteśmy również integrujemy AI z YugabyteDB Voyager, naszym narzędziem do migracji bazy danych, które upraszcza migracje z PostgreSQL, MySQL, Oracle i innych chmurowych baz danych do YugabyteDB. Naszym celem jest przyspieszenie przejść z systemów legacy, automatyzując konwersję schematu, tłumaczenie SQL i transformację danych, z proaktywnymi kontrolami zgodności. Te innowacje koncentrują się na tym, aby YugabyteDB był bardziej inteligentny, wydajny i łatwiejszy w użyciu dla nowoczesnych, rozproszonych aplikacji.
Jakie są kluczowe zalety korzystania z open-source systemu SQL, takiego jak YugabyteDB w chmurowych aplikacjach w porównaniu z tradycyjnymi, własnościowymi bazami danych?
Przezroczystość, elastyczność i solidne wsparcie społeczności są kluczowymi zaletami korzystania z open-source systemu SQL, takiego jak YugabyteDB w chmurowych aplikacjach. Kiedy uruchomiliśmy YugabyteDB, rozpoznaliśmy sceptycyzm wokół modeli open-source. Współpracowaliśmy z użytkownikami, którzy wyrazili silną preferencję dla w pełni otwartej bazy danych, aby zaufać swoim krytycznym danym.
Początkowo działałem na modelu open-core, ale szybko zrozumiałem, że musi to być kompletnie otwarte rozwiązanie. Deweloperzy coraz częściej zwracają się do PostgreSQL jako logicznej alternatywy dla Oracle, ale PostgreSQL nie został zaprojektowany dla dynamicznych platform chmurowych. YugabyteDB wypełnia tę lukę, obsługując głębię funkcji PostgreSQL dla nowoczesnych infrastruktur chmurowych. Poprzez pełne otwarcie usuwamy bariery dla przyjęcia.
To sprawia, że jesteśmy bardzo atrakcyjni dla deweloperów budujących aplikacje biznesowe i dla inżynierów operacyjnych, którzy je uruchamiają na chmurowych platformach. Nasz focus jest na tworzeniu bazy danych, która nie tylko jest otwarta, ale także łatwa w użyciu i zgodna z PostgreSQL, która pozostaje ulubioną przez deweloperów ze względu na dojrzały zestaw funkcji i potężne rozszerzenia.
Jakie trendy obserwujesz na rynku baz danych przedsiębiorstw, i jak Yugabyte jest pozycjonowany, aby spełnić te wymagania?
Większa skala w bazach danych przedsiębiorstw często prowadzi do zwiększonej częstotliwości awarii, szczególnie gdy organizacje mają do czynienia z rozszerzonymi śladami i większymi objętościami danych. Kluczowe trendy kształtujące krajobraz bazy danych obejmują przyjęcie DBaaS oraz przesunięcie z publicznej chmury do środowisk chmury prywatnej. Dodatkowo, integracja generatywnej sztucznej inteligencji przynosi okazje i wyzwania, wymagając automatyzacji i optymalizacji wydajności, aby zarządzać rosnącym obciążeniem danych.
Organizacje coraz częściej zwracają się ku DBaaS, aby uproszczyć operacje, pomimo początkowych obaw dotyczących kontroli i bezpieczeństwa. To podejście poprawia wydajność w różnych infrastrukturach, a focus na rozwiązaniach chmury prywatnej pomaga firmom redukować koszty i poprawiać skalowalność dla swoich obciążeń.
YugabyteDB rozwiązuje te ewoluujące wymagania, łącząc siłę relacyjnych baz danych z skalowalnością architektur chmurowych. Funkcje takie jak Smart Data Distribution i Adaptive CBO poprawiają wydajność i obsługują dużą liczbę obiektów bazy danych. To sprawia, że jest to wybór konkurencyjny dla uruchamiania szerokiego zakresu aplikacji.
Ponadto, YugabyteDB pozwala przedsiębiorstwom na migrację aplikacji PostgreSQL, utrzymując podobne poziomy wydajności, co jest kluczowe dla nowoczesnych obciążeń. Nasze zaangażowanie w rozwój open-source zachęca do udziału społeczności i zapewnia elastyczność dla klientów, którzy chcą uniknąć zakleszczenia u dostawcy.
Wraz ze wzrostem obliczeń brzegowych i IoT, jak YugabyteDB rozwiązuje wyzwania stawiane przez te technologie, szczególnie w zakresie dystrybucji danych i opóźnień?
Rozproszona architektura SQL YugabyteDB jest zaprojektowana, aby rozwiązać wyzwania stawiane przez rozwój obliczeń brzegowych i IoT, zapewniając skalowalną i odporną warstwę danych, która może działać bezproblemowo w kontekstach chmury i brzegu. Jej zdolność do automatycznego fragmentowania i replikowania danych zapewnia efektywną dystrybucję, umożliwiając szybki dostęp i przetwarzanie w czasie rzeczywistym. To minimalizuje opóźnienia, pozwalając aplikacjom reagować szybko na interakcje użytkowników i zmiany danych.
Poprzez oferowanie elastyczności w dostosowaniu konfiguracji do konkretnych wymagań aplikacji, YugabyteDB zapewnia, że przedsiębiorstwa mogą skutecznie zarządzać swoimi potrzebami danych, gdy ewoluują w coraz bardziej zdecentralizowanym krajobrazie.
Jako współprezes, jak balansujesz podwójne role prowadzenia innowacji technologicznych i zarządzania wzrostem firmy?
Nasza firma ma na celu uproszczenie chmurowych aplikacji, co skłania mnie do pozostawania na bieżąco z trendami technologicznymi, takimi jak sztuczna inteligencja generatywna i przełączanie kontekstów. Śledzenie innowacji wymaga ciekawości, pragnienia wpływu i zaangażowania w ciągłe uczenie się.
Balansowanie innowacji technologicznych i wzrostu firmy jest fundamentalnie kwestią skalowania – czy to skalowania systemów, czy skalowania wpływu. W rozproszonych bazach danych koncentrujemy się na budowaniu technologii, które skalują wydajność, obsługują ogromne obciążenia i zapewniają wysoką dostępność w globalnej infrastrukturze. Podobnie, skalowanie Yugabyte oznacza rozwój bazy klientów, poprawę zaangażowania społeczności i rozwój ekosystemu – przy jednoczesnym utrzymaniu doskonałości operacyjnej.
Wszystko to wymaga zdyscyplinowanego podejścia do wydajności i efektywności.
Technicznie optymalizujemy wykonywanie zapytań, redukujemy opóźnienia i poprawiamy przepływność systemu; organizacyjnie upraszczamy procesy, skalujemy zespoły i poprawiamy współpracę międzyfunkcyjną. W obu przypadkach sukces wynika z wyposażenia zespołów w odpowiednie narzędzia, informacje i procesy, aby podejmować mądre, oparte na danych decyzje.
Jak widzisz ewolucję rozproszonych baz danych SQL w ciągu najbliższych 5-10 lat, szczególnie w kontekście AI i machine learning?
W ciągu najbliższych kilku lat, rozproszone bazy danych SQL ewoluują, aby obsłużyć złożoną analizę danych, umożliwiając użytkownikom dokonywanie prognoz i wykrywanie anomalii z minimalnymi umiejętnościami technicznymi. Istnieje ogromna specjalizacja baz danych w kontekście AI i machine learning, ale to nie jest zrównoważone. Bazy danych muszą ewoluować, aby spełnić wymagania AI. Dlatego iterujemy i poprawiamy możliwości na podstawie pgvector, zapewniając, że deweloperzy mogą używać Yugabyte do swoich potrzeb baz danych AI.
Ponadto możemy oczekiwać ciągłego zaangażowania w rozwój open-source w kontekście AI. Pięć lat temu uczyniliśmy YugabyteDB w pełni open-source na licencji Apache 2.0, potwierdzając nasze zaangażowanie w ramy open-source i aktywnie budując naszą społeczność open-source.
Dziękujemy za wszystkie szczegółowe odpowiedzi, czytelnicy, którzy chcą dowiedzieć się więcej, powinni odwiedzić YugabyteDB.












