Show HN: Xata, serverless database on top of PostgreSQL and Elasticsearch
xata.ioHi!
Xata was on HackerNews once before (https://news.ycombinator.com/item?id=28590816) a bit over a year ago, when we were at the beginning of our development. We've promised we're going to do a Show HN page when we come out of Private Beta, and this just happened today.
Xata is a product in the serverless database space. We know that the space is fairly crowded now, with lots of great companies started recently. We're happy to see a fresh wave of database products, that are focused more on the developer experience, rather than a race to the bottom on performance and cost.
We are part of this wave, but we also think our offering is quite differentiated:
- First, out of all the options out there, we're aiming to be the easiest to get started with and the easiest to use. We are cloud-only and our product feels more like a SaaS-like experience than an IaaS experience. If you've hacked together an app with data stored in Airtable or GitHub, you should try Xata next time. It's just as easy to use but has constraints, data integrity, type-safe clients, etc.
- We offer functionality from multiple data stores. Today, the source of truth for the data is in PostgreSQL and we also replicate it in Elasticsearch. This means that we can offer free-text-search and aggregation functionality that goes beyond what's possible in PostgreSQL. In the future, we'll add more functionality around in-memory caching, queues, etc, so all data patterns that you need are available via a single, serverless, consistent API. This sounds complex (and it is), but the complexity is entirely on our side. Your application can just reap the benefits.
- It is vertically integrated and focused on developer workflows: we provide a nice web UI, a TypeScript/JavaScript SDK, and VS Code extension, all working together with minimal friction. The TypeScript SDK is somewhat similar with Prisma, because it gives you type safety for both the parameters and the return types. However, it is different because it is a pure-TypeScript implementation, which means it is more lightweight and can run in Cloudflare Workers, Deno Deploy, etc.
Some more links, if you want to dig into the details:
- For examples of the API, see our API Guide: https://xata.io/docs/api-guide/insert
- For technical details about the inner workings of Xata, see our fairly long How it Works guide: https://xata.io/docs/intro/how-it-works
- We think this approach is new and gave it a name: Serverless Data Platform, which is explained here: https://xata.io/docs/intro/serverless-data-platfrom
- For a high-level overview of the features available, see: https://xata.io/features
We would really love your feedback! This looks awesome! I'm going to put this on my list of serverless sql DBs alongside neon and cockroach for sure. Although I'm a bit bummed out because all sql syntax has been striped out, which makes sense, since we are no longer dealing with just sql here. I got one question though, I see the api calls for migrations, but is there a step by step guide on how we can actually do a migration? > Although I'm a bit bummed out because all sql syntax has been striped out, which makes sense, since we are no longer dealing with just sql here. Yes, we are hoping to add support for SQL as well, but we need to intermediate the API calls for a bunch of interesting features. > I got one question though, I see the api calls for migrations, but is there a step by step guide on how we can actually do a migration? We don't have docs for yet, but it's a UI driven process which resembles GitHub PRs, so it should be pretty straightforward. > UI driven process Interesting, although not something I personally like. I'm more used to doing this automatically through pipelines. Are there any plans to add an automated process, without ui or anything like that? Fully automated through the cli, like the terraform apply command or sequelize migrations. Ah yes, that makes sense and we should be able to do that based on the API. The migrations are ultimately JSON documents. Awesome! Will monitor the docs page for this. @tudorg sorry to ask another question after so long, but is there support for stored procedures and triggers? Differentiated by being a rip off of Airtable or PlanetScale and Neon? If it's somehow able to combine the functionalities of those separate products that would be pretty great actually!