An easy to setup and use serverless database service with plenty of storage even on the free tier for personal projects. Paid plans start at only $20 per month.
Price: $0.00. Pro starts at $20/month
- Serverless database platform.
- Great documentation and examples.
- Free tier very usable for personal projects.
- Easy to use web interface.
- Handy starter guides.
- Had some issues installing on my Astro project.
- Lots to learn to become effienct with the tool.
Getting started with Xata is as easy as visiting their website and creating an account. You can also setup an account with your Github or Google account, or if you don’t like those options you can use your email. Once you get signed in you will be able to create new databases and import your existing data. You can also easily edit the data in your workspace and grab code samples to connect Xata to your website.
This is the easiest serverless database service that I have tried. After spending hours trying to get Cloudflare D1 working with an Astro server side rendered website I finally just gve up on Cloudflare D1 and moved the whole project to Xata. With some help from Google and tutorials on the Internet on how to setup Xata with Astro I was able to quickly get the Xata data added into an Astro project. Compared to the amount of time I spent trying to get Cloudflare D1 working with Astro, integrating Xata with the Astro project was a dream. I still need to improve the code and improve how I fetch the data from my Xata database.
This video, while not the one that I used to help get setup does cover the basics of getting going.
The Not So Great
The one problem I had getting going with Xata was when I went to install it on my Windows dev machine. Using the terminal in Visual Studio Code entering the command
npm install -g @xata.io/cli
would not work. I kept getting the error
At line:1 char:16
+ npm install -g @xata.io/cli
The splatting operator '@' cannot be used to reference variables in an expression. '@xata' can be used only as an argument to a command. To reference variables in an
expression use '$xata'.
+ CategoryInfo : ParserError: (:) , ParentContainsErrorRecordException
+ FullyQualifiedErrorId : SplattingNotPermitted
The fix was simple enough, I had to escape the @ in the command like this
npm install -g `@xata.io/cli
and it installed perfectly. I am still learning NPM and Astro so while it was slightly frustrating that I ran into this issue it was by no means an impossible hurdle to overcome, unlike my experience with Cloudflare D1 earlier in the day. I was a bit surprised that this is not something that others have not seem to encountered. It must be something unique perhaps to my setup but it is an easy enough fix.
The other challenge with Xata, is simply the amount of information you need to learn to get going. Granted they have plenty of code samples and examples, but the amount of reading required to learn the platform and how to integrate it can be daunting. I found the Get started with Astro and Xata and it was very helpful to get going. If I hadn’t found that I think I might have put off integrating Xata into my Astro project until another day.
There are times when you might need to add a database to your serverless application, like an Astro website. While I am a huge fan of static Astro websites there are use cases when you might need a database to store information you collect from users, like comments and form submissions. Xata is a user friendly serverless database that is easy to integrate and makes it easy to get started. Xata also removes the headache of having to babysit a database server to and lets you focus on your content and website. The free tier is also very generous and will be more than enough for most hobby projects, even large hobby projects. If you are tired of looking after database servers and want to move to serverless websites and databases I suggest you take a look at Xata. They have made it easy to get going.