3 ms·
I will be happy if someone from Fauna team helps me to improve my code. https://github.com/upstash/latency-comparison https://github.com/upstash/latency-compari
by noahfschr 5y ago
I will be happy if someone from Fauna team helps me to improve my code.
https://github.com/upstash/latency-comparison https://github.com/upstash/latency-comparison
Upstash is not non-durable. It is based on multitier storage (memory + EBS) implementing Redis API. In a few weeks, I will add upstash premium which replicates data to multiple zones, to the benchmark app.
In the blog post, I mentioned the qualities where Fauna is stronger than the others: https://blog.upstash.com/latency-comparison#why-is-faunadb-slow-in-this-benchmark https://blog.upstash.com/latency-comparison#why-is-faunadb-s...
- evanweaver 5y agoYour own docs say that by default “writes are not guaranteed to be durable even if the client receives a success response”.
- noahfschr 5y agoUpstash has two consistency modes. Eventual consistency and Strong consistency. Please see: https://docs.upstash.com/overall/consistency https://docs.upstash.com/overall/consistency In my code, Upstash database was eventually consistent. Similarly the index in the FaunaDB was not serialized. But both of those should not affect the latency numbers in the histogram because those numbers are all read latency.
- rbranson 5y agoThat's an apples to oranges comparison though. Upstash couples durability with consistency/isolation. Regardless of configuration, FaunaDB and DynamoDB both always ensure durability of acknowledged writes with a fault tolerance of greater than 1 node failure. To compare them on equal footing, Upstash would need to be configured for strong consistency, at least according to the docs.
- ec109685 5y agoDynamoDB also guarantees your write is distributed to multiple data centers as well.
- evanweaver 5y agoNo it doesn't. The write is not durable in other datacenters when the client acknowledgement is returned. It is still possible to lose data.
- ec109685 5y agoIt won’t lose data in the event of a data center failure. Each of the replicas is in a different AZ, and at least two of three have to durably write the data before the put succeeds.
- evanweaver 5y agoAn AZ is not a datacenter.
- ec109685 5y agoThis is what I was referring to: An Availability Zone (AZ) is one or more discrete data centers with redundant power, networking, and connectivity in an AWS Region. AZs give customers the ability to operate production applications and databases that are more highly available, fault tolerant, and scalable than would be possible from a single data center. All AZs in an AWS Region are interconnected with high-bandwidth, low-latency networking, over fully redundant, dedicated metro fiber providing high-throughput, low-latency networking between AZs. All traffic between AZs is encrypted. The network performance is sufficient to accomplish synchronous replication between AZs. AZs make partitioning applications for high availability easy. If an application is partitioned across AZs, companies are better isolated and protected from issues such as power outages, lightning strikes, tornadoes, earthquakes, and more. AZs are physically separated by a meaningful distance, many kilometers, from any other AZ, although all are within 100 km (60 miles) of each other.
- 5y ago