Hacker Newsnew | past | comments | ask | show | jobs | submit | infra_dev's commentslogin

This is possible to do, but lots of engineering. You can provide the experience of a single DB while each tenant can be placed in their own dedicated Postgres compute. This would help the application to stay the same while tenants are moved to independent computes (you can even move only a few tenants and leave the rest on a shared Postgres compute).


Nile is a Serverless Postgres that virtualizes tenants/customers. It is specifically built for SaaS companies similar to Figma https://www.thenile.dev/. I am the CEO of Nile.


I am the CEO of Nile, serverless Postgres for modern SaaS. We have built Postgres specifically for SaaS use cases. Take a look if it is interesting https://www.thenile.dev/


Interesting. Let me have a look.


Nile CEO here. We raised money to build a serverless Postgres offering to build and scale SaaS applications. Happy to answer any questions.


I am the CEO of Nile. We are serverless Postgres built explicitly for modern SaaS workloads. We do provide true serverless with no cold start time. We are able to do this because we made Postgres tenant aware. We hope to share more details on how we do it soon. https://www.thenile.dev/


Nile CEO here. We are specifically building Nile for modern SaaS which are multi-tenant applications. This lets us build tenant virtualization into the database to support tenant data isolation, performance isolation, query insights by tenants, flexible tenant placement (any region or dedicated database) for compliance and latency reasons, and even tenant-specific vector embeddings. We want to build a highly reliable database and have prior experience doing this. We are funded well to continue investing in this vision. Let me know what you consider critical to adopt a system like Nile.


Sorry to hear that. We understand each one will have a different set of problems. From our experience and talking to others, it is usually not as simple as adding a tenant_id column. You typically care about security from day one and want to be really careful how you isolate customers. You would also want to add user and organization management easily to the product. We have made these steps really easy without having to spend time writing complex permission logic and potentially buggy code. We also are able to provide query insights by tenant since the database understands tenant boundaries. There are also other things that I have mentioned in the blog. Having said that, if our users want autogenerated APIs, we would be more than happy to invest in it. We did have plans for it but in our conversations most did not bring it up. Hopefully, we can convert you to love Nile as we grow.


> You would also want to add user and organization management easily to the product.

That's usually something that I'd outsource as much as possible to Auth0 (yikes, considering the last days), as building out the UIs and state handling for all user auth and management flows is a huge chore. I think recently Clerk has set a new standard on how easy that can be. I'd be surprised if a database product could compete in a meaningful way in that area.

I'm looking forward to see what Nile evolves to! (IIRC Supabase also didn't look that enticing when it first appeared on the map). In general I'm really happy to see databases as such an active space of innovation again.


Sorry to hear your problems. We would be a great fit for your use case. We are serverless and support spiky workloads. You can map your clients to tenants in Nile. Let us know if anything changes on your side in the future. I would love to connect.


Hey kiwicopple, big virtual hi. I am a fan of your work.


congrats on the launch!


Currently, we support only AWS but do want to support other cloud providers. Technically, you can even have one DB that spans across cloud providers with your tenants, but we have not yet seen many use cases for multi-cloud.

W.r.t replicating data across tenants, could you give an example use case for it?


Let's say I'm building a CRM and I want to have an "industry" or "cities" table that is the same across all tenants. I want a copy of cities in each tenant for referential integrity, but I also need to update it periodically across all tenants.


Great question. Nile supports shared tables for this purpose. Shared tables are regular tables that can be shared across all the tenants in another table. We have example use cases and how this works in Nile here https://www.thenile.dev/docs/tenant-sharing. Let me know if this works for you.


That sounds like exactly what I was looking for. Impressive!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: