Tigris Data (@TigrisData) header
Tigris Data (@TigrisData) profile picture

Tigris is the storage layer for any cloud. Low latency & zero egress fees. Now with bucket forking.

San Francisco Bay Area
Joined March 2022
Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)Photo by Tigris Data (@TigrisData)
Tigris Data retweeted
Wow Railway Buckets so good.
I benchmarked 5 object storage providers from 6 locations around the world I included: - @awscloud S3 - @Cloudflare R2 - @Railway Buckets - @Backblaze B2 - @neondatabase Storage It used Files SDK to make it as fair as possible Here's a summary 👇 (this is also a thread)
4
1
43
3,523
Gave the Bucket file explorer an overhaul on @prisma Compute. It can bulk upload and delete, do prefix filtering and understands folders. And it's gorgeous! Prisma Buckets are powered by @TigrisData so they are blazing fast. Free for the rest of the year, so give it a try!
3
3
1
24
57,534
Tigris Data retweeted
TAG is a self-hosted cache for object storage, and it is open source.
2
1
10
1,394
Tigris Data retweeted
My favorite number in this writeup is 9ms. That is a point lookup served through a cache out of object storage, not a database. Goldsky runs billions of these against one copy of the chain on Tigris.
Not long ago I'd have called building your own data lake format a waste of an engineering team's time. We built one anyway 🤡 It has been powering all our core products for months, and I'm excited to share how we did this. goldsky.com/blog/prism-geo-r…
1
3
25
2,984
Worth a read: @theprincessxena and @GarrenSmith from @TigrisData write about moving from FoundationDB to Kafka for their message queue. Also: @raindrop_ai raised a $35M Series A. And @AlphaSenseInc is hiring a Senior Product Security Engineer in the US. Links in bio
4
5
671
Tigris Data retweeted
BTW ObjGit is open source: github.com/tigrisdata/objgit
Git packfiles assume a local disk, so Xe ended up building a custom packfile format to run git directly on object storage. Worked out pretty well, git push down from 3.5 minutes to 14 seconds.
2
7
1
36
4,534
Tigris Data retweeted
For most products you can build persistence entirely on object storage now. Conditional writes closed the gap. Ampbase runs their whole control plane on Tigris this way.
4
3
17
7,948
Tigris Data retweeted
TAG (github.com/tigrisdata/tag) accelerates Tigris and @perfloop is now helping make TAG more resource efficient.
Replying to @TigrisData
@TigrisData is now a @perfloop customer. Tigris met Perfloop as a pull request: an optimization our system opened in their open source acceleration gateway, tigrisdata/tag, with the evidence attached. @ovaistariq read it and merged it, then asked on X: "How do I get access :)". He signed up the next evening. Within a week he had connected repos himself and brought his cofounders in. In the two weeks since, Tigris has merged sixteen more of Perfloop's pull requests, four of them in tag: github.com/tigrisdata/tag
4
2
25
2,565
sooo yeah we basically just used s3 to make things much faster and more scalable. seems to be the thing to do lately! @PlanetScale for lots of intermediate records, @TigrisData for big packfiles. perfect combo
Atuin's sync is now 32x faster. Thousands of records in single digit seconds. The hard part: Atuin is end-to-end encrypted. The server can't read, compress, or bundle your data, so every trick a normal sync server uses is off the table. Here's how we did it anyway 🧵
5
5
2
96
19,899
Tigris Data retweeted
Then the packfiles end up in object storage (@TigrisData ftw), behind presigned URLs, because that way we get a significant throughput bonus over hitting our API for everything. Combining this with parallel downloading of records stores leads to significant sync time improvement
1
2
7
668
Tigris Data retweeted
Tigris is a hidden gem. Performance is close to S3 and fine for most cases, but there is no bill on egress. This is so important for early stage startups and self-funded founders, thanks Ovais!
Continuing on the WAL-on-S3 discussion, it was good to see @trylle actually conducting performance and correctness tests. There are improvements to be made in Tigris but we are getting there.
4
1
11
2,121
Tigris Data retweeted
Continuing on the WAL-on-S3 discussion, it was good to see @trylle actually conducting performance and correctness tests. There are improvements to be made in Tigris but we are getting there.
3
4
1
50
8,329
Tigris Data retweeted
Replying to @joelmartinez
go one step further and make that globally distributed sqlite with @TigrisData
1
1
2
162
Tigris Data retweeted
I have always thought that a queue in the database is a bad idea. But we did it anyway, and it works surprisingly well for our replication system. We get this nice transactional property by committing the logs in the same FDB transaction as the object metadata.
4
1
31
2,344
Tigris Data retweeted
Replying to @ja3k_
We do :) BTW building a foundational service like S3 is a different class of problem than building a service on top of S3. That’s why you don’t see many people doing it. Then it’s not just building, you need to run so that it can scale infinitely.
1
16
516
Tigris Data retweeted
Our CI spins up a full multi-region deployment on every PR and it still cannot find our worst bugs. Those only show up when a region slows down mid-replication, and nobody sits down and writes that test. That's why we run every change through @AntithesisHQ.
1
3
22
1,255
Tigris Data retweeted
Do you know what your recovery story is if somebody deletes the wrong prefix tomorrow? Ransomware is the same question and so is an agent that decides clearing prod is a reasonable fix. For a storage service the answer to that should be in the product.
Deleting an object sounds like the easiest operation in a storage system. In an active-active setup it is one of the hardest. Tigris is geo-replicated and any region can write any object, so there is no primary to ask. Every region has to work it out on its own.
1
7
647
Tigris Data retweeted
Replying to @HimankChaudhary
@HimankChaudhary built Uber's cross-DC replication engine back in 2018. The thing that made it work is that Schemaless was append only, so replaying a write twice was harmless and at-least-once delivery worked well. We lean on the same property in Tigris for global buckets.
1
3
1
18
851