Devreal

SF Scala: Evan Weaver Interview

SF Scala: Evan Weaver Interview

Recording: SF Scala: Evan Weaver Interview

hello everybody I'm Alexi crapper the organizer office of Scala he were a locational former and with us we have Evan Evan this is the CEO and founder of fauna and we actually met I would say about a year ago or more and talked about fauna as new kind of database and now it opens his doors for the subscriber meter for the first time so we're really excited to be here and I'd like to catch up and see what's new with form thanks Lexi yeah we moved into this place about two months ago before that we were in the top floor of a converted Victorian near South Park oh yes that's where I first met you so before that way or my basement that was a long time ago but yeah we're 14 people now preparing for our public launch of phone NDB in March so we're rolling out previews especially previews of the serverless cloud product and basically finishing of the business side of things with billing systems improving tutorials documentation all that kind of stuff that you need to use phone as a self-service adopter in particular and the database has been in production for a couple years now I'm in particular Nvidia is our biggest early partner neiva on-premises deployment which is in three data centers couple dozen nodes and they've scaled it up and down over time so I remember we talked about Fona and I thought it's really a cool way kind of to to use the database right because it's more than a key value store right it's it's an object store can you talk a little bit about for now as kind of your core database what does it give you more than kind of traditional databases give you yes so fauna is a temporal object-relational consistent distributed database our goal is to basically marry all the kind of different query patterns you it typically is from different domains like relational document graph even search analytics eventually into a single coherent system so you can scale that underlying piece of infrastructure and use it for all your different workloads and share data across teams share data across data centers because it's a globally distributed system as well and basically get back to a world where you can integrate through the database and trust that the database will be the single lever you can move when you need to scale your application up and down right and so it for this you need basically two so you all right everything inside of the base Iran analytics queries inside other ways so you have your own DSL for the queries we should control what support yeah the interface is a functional interface similar to link in the c-sharp world you use embedded ESL's in your application languages and that means that your queries are type safe you don't to learn new syntax you just have to learn phonosemantics and it's pretty functional too in a functional programming way and you do things like my app and fold over the core database primitives and page through indexes and you can do compute and you can do set arithmetic and that kind of thing and ultimately you can write our very rich query even more rich than sequel allows remote it to the database and trust that the database will execute it in the maximally optimal way against the underlying data interesting so I already like it right because you know I'd like you know I'd like my my query language to be more fun than psycho and if it's functional it's even better so so is it is it similar in a way I mean this is closer to functional languages right because you know the problem of sequel it's it's so declarative right so basically you can lose track right and to create a bunch of temporary tape tables have you kind of decomposed it in weird ways so how does it feel to write like a long complicated form of queries to give it a program you like a little free program which is gonna be basically run on the cluster yeah it's it's exactly like that so you're dealing with immutable data structures and parallel computation but the commutation is explicit oh like you're you essentially you essentially compose the query plan in your in your query so you know what the database is gonna do it's not gonna change its mind and start optimizing in a different way as your data set gross you don't run explain to understand which index it's gonna use you say these are my indexes I'm gonna start with them then I want to do these operations I'm gonna do this this set algebra gets some results cursor through it that kind of thing so it's very explicit and that lets us guarantee a very consistent performance profile as you scale your systems up and down you can trust that the execution pattern isn't gonna change interesting so how do you feed your data base right like I think there is a lot of activity in open source text to put together data pipelines right sort of Kafka feeding spark reading Cassandra right on top of messes how do you compare to this mac stack effectively so umm I mean funny in a way it's a traditional relational database it's just not SQL so you can use it as a sink for data you compute somewhere else but you can also keep your core business objects in it in a fully normalized way compose them with queries push a lot of it um especially index computation that you might do in a second system like spark or elasticsearch intifada in terms of a source though because the underlying data model is temporal you can get change feeds for any query out of the system yes you can say like oh here's a distributed graph join an activity feed well what happened between the last time I looked at now and you get a bunch of rather than just a different results that you get a bunch of change events that you can use to synchronize something downstream so the goal eventually is to internalize all those concerns right now it works really well as a canonical store for fully normalized Business Objects in particular social graphs that kind of thing or as a low latency distributed sync for stuff you might compete at upstream like he went essentially a document database that you can index and scale because you have all this offline commutation from ml privacy so where are you going to put it mm-hmm wow this sounds really really cool I mean it sounds almost like you know if I want to build a startup I can take this and solve all the problems so I wonder what does you like impression from customers what are the early experiences when they take this instead of a bunch of other things I will do it what what what are the thing I mean like the usually people don't believe it can be true like your queries are isolated like you can dynamically provision where your data lives you can use our server less cloud and not even think about the backend at all and people have been so badly burned in particular by the no SQL movement that they want to they want us to show them so we have to do a lot of work to prove that the databases sound and secure and performance is good and show that on their data sets like you're important here's the query pattern so you can replicate what you already do but now you get all these scalability isolation performance benefits out of the system and people people like the interface they're tired of SQL it's unsafe it's hard to reason about the performance profile the security model doesn't work with the way people write modern applications and like the proof of that is people put our Elms in front of other relational databases for operational workloads so not having to deal with that and meaning directly talk to your database again it's um what's the word refreshing mm-hmm so so is it Soho is kind of your go-to markets stage so you know out of stealth or yeah we're out of stealth we have beta customers both on-premises and in the service cloud we're looking for more and we're preparing for our GA lodge in the next couple months so if somebody wants to try for my Oh hold the go about it I just go there website click the request invite link and we'll hook you up and so can you can you dim what the center metal like with a realistic application yes all this yeah Chris Anderson I'm Chris Anderson who was one of the Couchbase founders joined our team recently yeah he's working on a surrealist presentation that'll have a do aw s lambda executing the computer and phone as the backend and then you have a fully server less end-to-end stack where you never have to think about provisioning and you can do even a globally distributed dynamic application you know fully service model I will claim dibs on this presentation once already so it can show it's also sounds a little exciting you know it's kind of it makes a lot of sense and yeah I mean like I can't wait to see it so you know thank you very much for inviting us looking forward to playing more with this yeah are you once we play more of this we'll come back an eskimo questions thank you thanks really appreciated