Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denoland/deno-kv-benchmarks
Benchmark Deno KV vs Upstash Redis/AWS DynamoDB Global Tables/CF Workers KV/Cloud Firestore
https://github.com/denoland/deno-kv-benchmarks
cloudflare-workers deno denokv dynamodb upstash-redis
Last synced: 7 days ago
JSON representation
Benchmark Deno KV vs Upstash Redis/AWS DynamoDB Global Tables/CF Workers KV/Cloud Firestore
- Host: GitHub
- URL: https://github.com/denoland/deno-kv-benchmarks
- Owner: denoland
- License: mit
- Created: 2023-05-04T19:40:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-19T05:32:39.000Z (about 1 year ago)
- Last Synced: 2025-01-30T06:11:14.094Z (13 days ago)
- Topics: cloudflare-workers, deno, denokv, dynamodb, upstash-redis
- Language: TypeScript
- Homepage: https://deno-kv-benchmarks-test.deno.dev/
- Size: 35.5 MB
- Stars: 7
- Watchers: 14
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Deno KV vs Other Databases Benchmark
In an effort to benchmark Deno KV against other serverless databases, this
implements an application split into different services. Each service measures
read/write latency to databases and are hosted in a way to ensure that the
latency excludes any network latency—by e.g. provisioning both the serverless
function in the same AWS region as the respective database.For more details, check out
[the blog post summary](https://deno.com/blog/comparing-deno-kv).## Databases
- [Deno KV]
- [Upstash Redis]
- [AWS DynamoDB Global Tables]
- [Firestore]
- [Cloudflare Workers KV]## How to setup the benchmark
1. Setup the various cloud providers with Terraform by following the
instructions in the [provision README]. **All subsequent instructions must be
run with the environment variables listed in the provision README.**
2. Deploy the Deno backend component by running the deployment script
```bash
./setup/provision/utils/deploy-deno-kv-backend.sh
```
3. Populate the newly provisioned databases by running the population script
```bash
./setup/populate/populate-databases.sh
```
4. Deploy the frontend by running the deployment script
```bash
./setup/provision/utils/deploy-deno-kv-frontend.sh
```
5. View the frontend by visiting the link output by the deployment script.## Developing the frontend
The frontend requires `frontend/lib/config.json` to be present for its backend
endpoint in order to invoke the various services. To create the JSON file you
must build out the infrastructure as outlined in the [provision README], then
you can run```bash
./setup/provision/utils/update-deno-kv-frontend.sh
```which will create the `config.json` from the Terraform state file and required
environment variables.[Deno KV]: https://deno.com/kv
[Upstash Redis]: https://upstash.com/redis
[AWS DynamoDB Global Tables]: https://aws.amazon.com/dynamodb/global-tables/
[Firestore]: https://firebase.google.com/docs/firestore
[Cloudflare Workers KV]: https://www.cloudflare.com/products/workers-kv/
[provision README]: ./setup/provision/README.md