Zapowiedź ChiselStrike Turso
Dzisiaj z dumą ogłaszamy Turso, ofertę baz danych Edge, która w końcu zapewnia pełną ekspresyjną moc i usprawnione środowisko programistyczne SQLite blisko Twoich użytkowników, aby odblokować globalnie szybką wydajność zapytań. Turso eliminuje wąskie gardła aplikacji na krawędzi, zapewniając jednocześnie kontrolę nad bezpiecznym położeniem geograficznym i zgodnością danych. A wszystko to wykorzystuje nasz otwarty wkład SQLite, libSQL, aby zachować przenośność danych.
ChiselStrike Turso jest już dostępny jako prywatna wersja beta. Jeśli chcesz dołączyć, odwiedź naszą stronę internetową i dodaj swój adres e-mail do listy.
Ok, szefa nie ma.
Myślę, że inwestorzy, menedżerowie i dyrektorzy odeszli. Teraz mogę porozmawiać z tobą , deweloperem, ponieważ Turso zostało stworzone przez ludzi takich jak ty, dla ciebie. Odrzućmy modne hasła.
Co to do cholery jest Turso? ELI5.
ChiselStrike Turso to kompatybilna z SQLite baza danych, którą można wysyłać za pośrednictwem protokołu HTTP i łatwo replikować do wielu regionów na całym świecie. Zapisy mogą odbywać się z dowolnej lokalizacji repliki, ale są kierowane w sposób przezroczysty do lokalizacji podstawowej. Oznacza to, że zapisy nie będą dostępne w przypadku utraty łączności z podstawową, ale odczyty są dostępne ze wszystkich replik, nawet jeśli podstawowa jest nieosiągalna. Chociaż w takim przypadku możesz odczytać stare dane, nie będziesz czytać niespójnych danych (izolacja migawki na granicy transakcji).
Turso opiera się na sqld , „trybie serwera” naszego rozwidlenia SQLite o nazwie libSQL , czyli Open Source i Open Contribution. Możesz zbudować i wdrożyć go samodzielnie lub skorzystać z naszego hostowanego rozwiązania.
Produkt obsługuje całą infrastrukturę, w tym replikację i szyfrowanie, a ostatecznie kilka rzeczy, których prawdopodobnie będzie wymagał twój szef — ten, który zatrzymał się po pierwszym akapicie ogłoszenia. Ponieważ te rzeczy są cholernie nudne, upewnimy się, że zapakujemy to wszystko w zgrabną usługę.
Jaką różnicę robi wbudowana baza danych?
Wbudowane bazy danych — takie jak SQLite — są łatwe w konfiguracji, łatwe do rozpoczęcia i łatwe w użyciu. Testy jednostkowe i integracyjne są dziecinnie proste, ponieważ nie trzeba łączyć się z usługami, odradzać kontenerów dokowanych ani niczego podobnego. Na przykład ten kod umożliwia zmiennej środowiskowej łatwe przełączanie między zdalnym uruchamianiem sqld lub lokalnym plikiem przy użyciu naszej biblioteki klienta TypeScript:
import { connect } from “@libsql/client”
async function example(): Promise<void> {
const config = {
url: process.env.DB_URI ?? "file:foo.db"
};
const db = connect(config);
const rs = await db.execute("SELECT * FROM projects");
console.log(rs.results);
}
example()
To świetnie, ale ponieważ produkcyjne bazy danych w rzeczywistości takie nie są (lub nie były), ten rodzaj kodu rzadko przeżywa fazę prototypowania. Ale dzięki ChiselStrike Turso możesz dodawać lokalne pliki kompatybilne z SQLite do swoich potoków CI, uczynić je ekologicznymi i przenieść je do produkcji za pomocą jednej zmiany zmiennej środowiskowej.
Z wbudowanych baz danych można korzystać niemal wszędzie, korzystając z tego samego interfejsu, dzięki czemu można przesyłać dane naprawdę wszędzie — nawet na brzeg.
Co w ogóle oznacza baza danych Edge?
Edge to modne słowo. Przebicie się przez szum, umieszczenie bazy danych „na krawędzi” oznacza dla nas dwie rzeczy:
1. Świadomość tego, jak nowoczesne aplikacje wykorzystują krawędź.
Oczekuje się, że funkcje brzegowe będą działać szybko i z małymi opóźnieniami dla pobliskich użytkowników końcowych. Jednak gdy kod jest podłączony do tradycyjnej, scentralizowanej bazy danych, korzyści płynące z przetwarzania brzegowego są tracone z powodu obciążenia tego połączenia sieciowego. Aby zminimalizować problem opóźnień i wolnych sieci globalnych, przetwarzanie brzegowe najlepiej połączyć z brzegową bazą danych.
Turso zaprojektowano tak, aby umożliwić pisanie kodu klienta na dwa sposoby:
- Przez HTTP : jest dostępny wszędzie. Jest szybki, niezawodny, a cały stos już go obsługuje.
- Korzystanie z interfejsu API SQLite : Możesz uruchomić dokładnie ten sam kod w lokalnej bazie danych lub zdalnej, w tym za pomocą ORM, takich jak Prisma. Automatycznie prześlemy zapytania do najbliższej repliki.
Oto jak użyć Turso CLI do stworzenia bazy danych z replikami w Denver i Frankfurcie:
turso auth login
turso db create demo # create a database
turso db replicate demo den # replicate it in Denver.
turso db replicate demo fra # replicate it in Frankfurt
O co chodzi z nazwą „Turso”?
Nazwa Turso pochodzi od Iku-Turso, fińskiej marki piwa, której nazwa pochodzi od fińskiego mitologicznego stworzenia . Mój współzałożyciel jest Finem i użył tego jako kryptonimu. Wszyscy to uwielbiali, a ponieważ wcześniej w mojej karierze miałem szczęście z mitologicznymi stworzeniami , czułem się przytulnie i jak powrót do domu. Więc utknęło.
Co dalej?
Mamy nadzieję, że podczas prywatnej wersji beta udostępnimy więcej funkcji. Niektóre funkcje są już dostępne w repozytorium sqld, a niektóre są nadal rozwijane. Ale w szczególności:
- Obsługa protokołu Postgres : Będziesz mógł wysyłać zapytania do sqld za pomocą swoich ulubionych narzędzi postgres.
- Repliki lokalne : ChiselStrike Turso sprawia, że replikacja do ponad 20 regionów jest dziecinnie prosta. Ale co by było, gdybyś mógł w przejrzysty sposób zreplikować to w swojej infrastrukturze? W przypadku długotrwałego kodu będziesz w stanie całkowicie uniknąć podróży w obie strony przez sieć, przechowując lokalnie kopię swoich danych.
- Kontrole umieszczania danych : dzięki deklaratywnym deklaracjom będziesz mieć pewność, że określone dane muszą istnieć tylko w określonych regionach geograficznych, pomimo replikacji bazy danych skonfigurowanej gdzie indziej.
A jeśli chcesz zobaczyć go teraz w akcji, obejrzyj ten film:

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































