Cloud indfødte, kaos-tolerant FaunaDB tilføjer understøttelse af SQL, GraphQL, og CQL

0
184

Kreml blade bagdør konto i tusindvis af ubeskyttet virksomhedens databaser
“Admin@kremlin.ru” konto spottet på tusindvis af russisk-forbundet, internet-udsat MongoDB databaser.

I dag er applikationer, der vil have det hele, og de databaser, der tænder dem er tvunget til at følge: Auto-installation og skalerbarhed både on-premise og i skyen, multi-cloud, hybrid cloud, plus robusthed, geo-distribution, og SQL.

Vi har set, at den liste af databaser med alle disse er ganske kort. I dag er der imidlertid en anden database, der gør, at listen: FaunaDB. FaunaDB blev skabt af tidligere Twitter-medarbejder nummer 15 Evan Weaver til at beskæftige sig med de problemer, han har oplevet på første hånd på Twitter. FaunaDB har været en NoSQL-løsning, men ikke længere.

FaunaDB lige skiftet lejre natten, bliver mere og mere interessant for en bredere, forskelligartet målgruppe, ved at tilføje understøttelse for GraphQL for web-applikationer, samt CQL for key-værdi, access og SQL til relationelle arbejdsmængder. ZDNet havde en Q&A med Weaver til at finde ud af, hvordan og hvorfor den kom til at være, og hvad det betyder for FaunaDB og database-brugere i almindelighed.

Den nye FaunaDB: FQL, SQL, GraphQL

Den første ting vi undrede os over, var, hvilken form af SQL vil være understøttet. Er det SQL-lignende, eller plain gamle ANSI SQL? Weaver sagde, at målet er en variant af ANSI SQL-ligesom andre relationelle databaser:

“Ligesom de databaser der vil sandsynligvis være et par brugerdefinerede søgeord, og et par steder, hvor den specifikation, som er uklart, eller er vi nødt til at afvige lidt. Som andre i vores plads, vil vi begynde med det grundlæggende og holde forlænge og udvide sig over tid til at opfylde kundens use cases. Vi mener, at SQL er vigtigt at virksomheden, men ansøgninger er under udvikling, og så er udvikler færdigheder.”

sql-1.png

Ved at tilføje SQL-støtte, FaunaDB har vendt sig fra NoSQL til SQL natten over.

×

sql-1.png

Hvor meget varians der er i denne variant, og om der virker for dem, brugere bliver nødt til at se for sig selv. I alle tilfælde, at dette åbner døren til et langt bredere publikum, der er uvillige eller ude af stand til at lære detaljerne i FaunaDB egne query language, FQL, for at bruge det. Men det er ikke alle — de nye FaunaDB kommer med GraphQL og CQL, for, som hver tjener et andet formål.

GraphQL er en måde at strømline adgang til REST Api ‘ er, og har masser af trækkraft. Men det er ikke noget, vi er vant til at se databaser støtte indbygget. Weaver bemærkede, at der var et forsøg på at sikre, at GraphQL er indlejret lokalt og samler åbent for at FQL og tilbyder alle de samme garantier:

“Med Dyr’ s tilgang til Api ‘ er, kan du manipulere nogen underliggende datasæt via en API, og altid bevare en stærk sammenhæng, p-niveau adgangskontrol, QoS, temporalitet, og som, selv hvis der ikke er en del af API-query-sproget i sig selv. Dette er grundlæggende for vores API-filosofi og meget vigtig forskel.

Vi kan gøre dette, fordi disse Api ‘ er, køre mod en fælles Calvin drevet kerne. Andre databaser med flere grænseflader typisk bolt helt ny forespørgsel udøvere og ofte nye storage-motorer, og er multi-API kun af navn, hvilket fører til et væld af integration problemer ikke noget bedre end at køre flere forskellige databaser, side ved side.”

Weaver bemærkes, at GraphQL fællesskab er på den blødende kant af applikationsudvikling og forventer, at alt skal være globale og serverless; nu, sagde han, det har øjeblikkelig adgang til en indfødt serverless GraphQL cloud via FaunaDB.

Multi-model?

Hvis GraphQL er en hilsen til fremtiden, og SQL er et nik til fortiden, hvad er pointen i at tilføje understøttelse for CQL? CQL er forespørgslen sprog, der bruges af Apache Cassandra og sine kommercielle version, DataStax Virksomhed (DSE), blandt plakat børn af NoSQL. Det var ikke noget, vi havde forventet at se som nyt element i en konkurrerende database løsning, især annonceret på samme tid som SQL.

Men så igen, FaunaDB er ikke den første til at gøre dette. Udover ScyllaDB, et fald i erstatning for DSE, Azure CosmosDB understøtter også CQL. Rationalet er naturligvis den samme: Onboarding Cassandra/DSE brugere. Weaver sagde CQL er en god nøgle/værdi-interface, men primært af interesse for kunder, der allerede kører Cassandra:

“De er trætte af de operationelle mareridt og manglende data er korrekte. Du kan ikke køre mission critical arbejdspres på Cassandra, hvis du er kørt fast i denne position, du er på jagt efter en ægte erstatning. Du kan flytte dine apps, og rewire dem til at FaunaDB Cloud eller en Virksomhed med lavere indsats end at vedtage FaunaDB native interface FQL direkte.”

Så, med FaunaDB tilbyder nu en bred vifte af forespørgsel sprog ud over sin egen, hvad der ville Weaver forventer, at brugerne primært bruge fremadrettet? Kunder vil bruge API ‘ en, der bedst passer til deres applikationer, sagde Weaver, men han forventer bred vedtagelse, til GraphQL. FaunaDB er også udråbt som en multi-model-database, og det var noget, der fandt vi en smule forvirrende.

01-nosql-and-multi-model-database-24-638.jpg

Multi-model-support er noget, flere og flere databaser tilbyder, og FaunaDB krav mult-model støtte, for,

×

01-nosql-and-multi-model-database-24-638.jpg

For eksempel, FaunaDB siger, at det understøtter graf og timelige, men hvad der præcist menes med dette var ikke klart for os. GraphQL støtte, er ikke ensbetydende graf. Som for data temporalitet, det kan være meget nyttigt, og det er ikke noget, mange databaser tilbyder. Men vi tror ikke rigtig på det som en model i sig selv. Weaver sagde, at de mener, af multi-API, som adskiller sig fra multi-model:

“FaunaDB er både multi-model-og multi-API. FQL forener relationelle, document, key/value, tidsmæssige og graf adgang til data. Du kan vælge en af de modeller, din ansøgning behov, og nu er den bedste standard Api ‘ er for hver model.

FaunaDB ikke lade brugerne definere og installere deres egne skemaer via GraphQL i databasen. Du behøver ikke at vide noget om FQL at bruge GraphQL. Det er ikke bare et springbræt til FQL, som er mere som power user mode. Hvis du kan lide hvad du har med GraphQL du kan stoppe der. Vi understøtter en delmængde af grafen domæne allerede, specielt graf opbevaring og gennemflyve. De manglende funktioner for en graf er at implementere en standard graf query language, og graf analytics, som er på vores køreplan.

Temporalitet er om ændring datafangst til høj-værdi data. Use cases for temporalitet fokus på audit logning, aktivitet feeds, mobile sync, og lignende. Det er ikke tid-serie, som handler om at samle lav værdi data over tid. Der er en OLAP-use case, at vi på nuværende tidspunkt ikke støtte.”

Kaos tolerance, Calvin, Skruenøgle, og Jepsen

Hvis du så en henvisning til FaunaDB “Calvin drevet core” tidligere, du kan være undrende, hvad det er, og hvorfor du bør pleje. Da vi er ved at gå i gang på lidt af et under kølerhjelmen tour, kan vi lige så godt tilføje Skruenøgle, Jepsen, kaos og tolerance til mix. Turen vil være kort, og med den tid, det er overstået, kan du få en idé om, hvordan disse ting kan oversætte til database use cases.

Husk, at korte liste af databaser FaunaDB lige har gjort? Nogle andre poster på listen, som er Azure CosmosDB, Google Skruenøgle, og en række Nøgle-kloner. Skruenøgle databasen er baseret på Skruenøgle protokollen, mens FaunaDB er baseret på en anden protokol kaldet Calvin. Formålet med både Nøgle og Calvin er at levere ekstern konsistens, lav latency globale replikation, og høj ledighed.

I modsætning til Spanner, der er bare en implementation for Calvin: FaunaDB. Så de egenskaber, Calvin er det centrale, at det, der adskiller FaunaDB fra andre muligheder, såsom CockroachDB, for eksempel. Den forskel, ifølge Weaver (der også nævner Daniel Abadi, opfinderen af Calvin), er i kaos, tolerant karakter af Calvin:

“Vi valgte Calvin, fordi det er optimalt for cloud. Calvin leverer eksterne sammenhæng, lav latenstid globale replikation, og høj ledighed og kaos tolerance uden at være afhængig af vægure, specialiseret hardware, eller tilpassede netværk.

Vi definerer kaos tolerance tolerance over for afvigelser fælles i skyer og det offentlige internet: ur kører skævt, pakketab, netværk partitioner, vm vandringer, diskfejl, osv. Google Skruenøgle leverer rigtigheden garantier svarende til Calvin, men det bruger synkroniseret atomure og kræver end-to-end kontrol af netværk, hardware og software til omhyggeligt bundet behandling ventetid.

Men i modsætning til Calvin, Skruenøgle bruger to faser, som tilføjer ekstra ventetid for skriver. Andre leverandører, der har forsøgt at kopiere Skruenøgle har ikke formået at levere noget tæt på det samme niveau af ydeevne og korrekthed uden Googles tilpassede operationelle miljø eller Calvin.

Som virksomheder omfavne mobilitet og multi-cloud-miljøer, at deres data skal være bærbar, så godt. Calvin giver os, at arkitektur: distribueret stærkt, konsistent og pålidelig, uanset hvor du opererer, og hvordan du vælger at flytte dine data. I FaunaDB, kan du blot slå knuder på forskellige skyer og de data, der kopierer sig selv. Det virker bare.”

daniele-levis-pelusi-276120-unsplash.jpg

“Vi forventer, at alt skal være delvist ikke hele tiden. Og vi brugte en masse tid på at automatisere i meget robust måder den traditionelle operationelle slid af database administration,” siger FaunaDB Evan ‘ s Weaver,

Foto af Daniele Levis Pelusi på Unsplash

×

daniele-levis-pelusi-276120-unsplash.jpg

Til at dette “bare virker”, hævder, FaunaDB har gjort Jepsen tests central i sin go-to-market strategi. Jepsen er en indsats for at forbedre sikkerheden af distribuerede systemer, ved at opretholde en open source-software bibliotek til test, samt indlæg, taler og rapporter udforske bestemte systemer ” failure modes.

Weaver sagde, at FaunaDB publikum, især tidligt stadie i deres marked, er meget bekendt med Jepsen og i stigende grad behandle det som et afgørende krav for at vedtage nye distribuerede systemer. Som man kunne forvente, til noget, der er dybt teknisk, FaunaDB er at nå ud til CTOs, Enterprise Arkitekter og Ingeniør Fører lave database beslutninger for deres distribuerede applikationer, eller ældre apps, der re-platformed for Cloud.

Cloud, Kubernetes, og dommen

Ovenstående kan være en smule på den komplekse side for folk over CTO og teknik føre publikum. Men du behøver ikke at være i, at publikum til at sætte pris på mindre nuanceret emner og funktioner som f.eks managed cloud og støtte til Kubernetes, som dem, der er mere kendt for at oversætte til noget alle sætter pris: Effektiv drift. Og FaunaDB har kunder, som Nvidia og Capital One til at vise for.

Weaver sagde FaunaDB blev bygget for public cloud, og støtte til Kubernetes vil være der i en måned, men kunder køre det på Kubernetes nu med brugerdefinerede integration “fint.” De kompromiser, når man går med databaser, der tilbydes af cloud-leverandører er klar. Men hvorfor vælge FaunaDB over en Skruenøgle klon alternativ? I den sidste ende, spurgte vi Weaver blankt:

“FaunaDB tilbyder en højere grad af transaktionsbeslutning korrekthed, højere gennemløb, lav latens især på globalt plan, temporalitet/security/multi-lejemål, og, på trods af navnet, er mere robust end CockroachDB. Lukning integration hul med SQL-efterlader ingen grund til at vælge CockroachDB, Yugabyte, eller selv Google Skruenøgle, da vores serverless cloud er billigere.”

En anden forskel er, at FaunaDB er ikke open source. Weaver bemærkes, at de som open source, men det har været hurtigere til at innovere og til at levere en enterprise-class system med proprietære licenser lige nu. Hidtil, han fortsatte med at tilføje, at de ikke har set mange indvendinger:

“FaunaDB Cloud er gratis at prøve, og der er en gratis prøveperiode download til virksomhedens rådighed, så ingen er afskåret fra at få våde fødder eller bygge en første use case. Hvis du ønsker en database, der er modstandsdygtige over for kaos, bevarer dine data sikkert, og er enkel at betjene, du er nødt til at vælge FaunaDB. Den fremtidige udvikling vil omfatte yderligere Api ‘ er, analytics støtte, og flere andre spændende og nye kapaciteter.”

Det ser ud som et par stykker af puslespillet kan ikke være 100% færdig endnu, og vi har vores tvivl med hensyn til multi-model aspekt. Ganske vist, men FaunaDB allerede er interessant tilbyder bare blev mere og mere interessant for flere mennesker med tilføjelse af SQL, GraphQL, og CQL

Big Data

AI og big data vs etik: Hvordan sørg for, at din artificial intelligence-projekt er på vej den rigtige vej

Ønsker at være en data videnskabsmand? Fem måder at få det job i data videnskab

Data videnskab, etik, og den “massive scumbags’ problem

Sikkerhed i data: Gennemførelse af data-drevet trafiksikkerhed

Californien ønsker Silicon Valley til at betale dig en data udbytte (CNET)

4 trin til at brugeren buy-in for big data (TechRepublic)

Relaterede Emner:

Big Data Analytics

Innovation

CXO

Kunstig Intelligens

Virksomhedens Software

Opbevaring