dragonfly
CarrierWave
Our great sponsors
dragonfly | CarrierWave | |
---|---|---|
49 | 3 | |
23,037 | 8,763 | |
3.7% | -0.2% | |
9.9 | 8.2 | |
3 days ago | about 16 hours ago | |
C++ | Ruby | |
BSL 1.1 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dragonfly
-
Redict is an independent, copyleft fork of Redis
https://github.com/dragonflydb/dragonfly is another option. Not a fork but API-compatible reimplementation.
-
Redis License Changed
Check out DragonflyDB (BSL): https://www.dragonflydb.io/
BSL is not OSI-approved, but it’s a much more reasonable AWS-resistant license. It’s the same license CockroachDB uses, for example.
KeyDB (BSL, acquired by Snapchat) is also an option: https://keydb.dev/
BSL is a much better license, but it’s a gamble on how long KeyDB will be supported. I don’t want to mess around with such a core part of my architecture.
-
Dragonfly Cache Design
If you have not heard about Dragonfly - please check it out. It uses - what I hope - novel and interesting ideas backed up by the research from recent years [1] and [2]. It's meant to fix many problems that exist with Redis today. I have been working on Dragonfly for the last 7 months and it has been one of the more interesting and challenging projects I've ever done!
-
Generating Income from Open Source
I recently ran across the the license for Dragonfly [1] which has some restrictions (rights reserved), but 5 years after the license date the license switches to Apache 2.0. Basically a timed-limited rights reservation. I don't hate it. I might even contribute to such a project for free.
I would consider something like this: When I release code, it's rights reserved for 5 years, then open-source (and this baked into an irrevocable license). Anyone may use the software for non-commercial purposes. Anyone may contribute, those who contribute will be granted permission for commercial use if I deem their contributions significant enough. Anyone may distribute the software under these terms.
If such a model became popular, I have a hard time imagining it could make things any worse. It might even accelerate open-source development. You might say, "but it's not open-source", fair enough, but we can view it as open-source contribution with a delay. For example, if this model became wildely popular this year, and we saw great progress with this model, then come 2028 we would be flooded with new open-source software and ultimately might be better off than it would have been without this model.
(And this whole thing makes me rethink copyright and patents and how much they really contribute to society. Perhaps they should be shortened?)
[1]: https://github.com/dragonflydb/dragonfly/blob/main/LICENSE.m...
-
Dragonfly – The most performant in-memory data store on Earth
2. You are right, I need to shut the fuck up and let self-righteous hn crowd with torches do what they do best - find a weakness, and push it until they get bored and switch to beat another builder. You asked me about my perspectives and priorities? These are my priorities: https://github.com/dragonflydb/dragonfly/graphs/contributors
> Developers do not want to manage a cluster of single cpu processes. Not on their laptops and not in the production. And it's not just about management complexity. See this https://github.com/dragonflydb/dragonfly/issues/1229 and it's just one example. Single cpu - is just not enough for today use-cases.
That may all very well be the case – let us assume it is for the sake of the argument although I have some comments about that as well – but that still means the argument is "Redis is too complex to run on multiple CPUs" and/or "Redis is poor for these workloads" (I didn't investigate that issue in-depth), and not "Redis is unable to do much work with this very powerful AWS instance". There two are very different things. There is no nuance anywhere in the benchmark. A reader might very well believe that this is all the performance they're going to get out of Redis on that machine, which that's clearly not the case.
License is important: https://github.com/dragonflydb/dragonfly/blob/main/LICENSE.m...
Dragonfly Business Source License 1.1
License: BSL 1.1
Licensor: DragonflyDB, Ltd.
Licensed Work: Dragonfly including the software components, or any portion of them, and any modification.
Change Date: March 15, 2028
Change License: Apache License, Version 2.0, as published by the Apache Foundation.
Additional Use Grant: You may make use of the Licensed Work (i) only as part of your own product or service, provided it is not an in-memory data store product or service; and (ii) provided that you do not use, provide, distribute, or make available the Licensed Work as a Service. A “Service” is a commercial offering, product, hosted, or managed service, that allows third parties (other than your own employees and contractors acting on your behalf) to access and/or use the Licensed Work or a substantial set of the features or functionality of the Licensed Work to third parties as a software-as-a-service, platform-as-a-service, infrastructure-as-a-service or other similar services that compete with Licensor products or services.
Nokia was designed as strongest and most affordable phone, yet you use Iphone that costs 1000$. it's not about how it was designed but whether it addresses your current needs. Developers do not want to manage a cluster of single cpu processes. Not on their laptops and not in the production. And it's not just about management complexity. See this https://github.com/dragonflydb/dragonfly/issues/1229 and it's just one example. Single cpu - is just not enough for today use-cases.
-
The first version of Redis, written in Tcl
I think this is relevant... These are 3 OSS databases that can be an alternative to Redis:
- KeyDB: https://github.com/snapchat/keydb
- Dragonfly: https://github.com/dragonflydb/dragonfly
- Skytable: https://github.com/skytable/skytable
I have used keyDB before. The raft consensus makes building an HA Redis easy.
CarrierWave
-
I've done a mistake when I've chosen ActiveStorage (Rails 7. Start Kit, Release 1.7)
Don't you know `carrierwave` and `shrine` work already with this secure way to name folders/files? - https://github.com/carrierwaveuploader/carrierwave - https://github.com/shrinerb/shrine
-
Carrier Wave and How to Test Uploading a New Image to a ActiveRecord::Base Model
We’re a Rails shop at Forem. In the Forem code base we use the CarrierWave gem to help with our file uploads.
-
CarrierWave VS kt-paperclip - a user suggested alternative
2 projects | 1 Oct 2021
What are some alternatives?
Shrine - File Attachment toolkit for Ruby applications
KeyDB - A Multithreaded Fork of Redis
PaperClip - Easy file attachment management for ActiveRecord
skytable - Skytable is a modern scalable NoSQL database with BlueQL, designed for performance, scalability and flexibility. Skytable gives you spaces, models, data types, complex collections and more to build powerful experiences
Refile - Ruby file uploads, take 3
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
Memcached - memcached development tree
DragonFly - A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!
Aerospike - Aerospike Database Server – flash-optimized, in-memory, nosql database
glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
webdis - A Redis HTTP interface with JSON output
midi-redis - A toy memory store with great performance