recompileme
- badger (embeddable db engine based on LSM Tree)
- leveldb /goleveldb (embeddable db engine based on LSM Tree)
- bolt/LMDB/pogreb (embeddable db engine with active use of MMAP)
- rocksdb and so on
redis is more about in-memory data-structures, then about key/value store.
Redis is in-memory database. It put keys and values in-memory. If you don't have enough memory you don't may store data. Redis has 2 mode for persistence - AOF and RDB. RDB is snapshot (default), AOF is append only file. In AOF mode redis will write at the end of file and call fsync() every second. Redis is single threaded app (you don't may read data concurrently or utilize all multithread power of your server). And last - you may use redis with redis protocol from any kind of app. It's database.
Pudge is key/value store, database engine. You may write another database with pudge or write server with http/grpc/redis/memcache or other protocol, but in general - pudge is embeddable database. If you need database server on top of pudge you may found some examples in readme.
Pudge has 2 store mode. On disk(default) and in-memory. In on disk mode pudge write data on every set, but pudge may write over old unused data in case of upsert (at the any point of file). Pudge run fsync() every second, like redis in AOF mode. In this mode pudge store in-memory only keys, but values stored on disk. In in-memory mode pudge store keys and values in-memory. In this mode pudge store data on disk only onClose command, like redis in RDB mode. Pudge is multithread app. It has one writer, but readers don't block readers.
Tarantool - much slower, because it's a database, but pudge - is an engine. No overhead on connection/transfer. In that case, i must compare with http://sophia.systems/ But now tarantool don't use sophia. I write https://github.com/recoilme/okdbc on top of sophia - high-level cross-platform sockets interface to sophia db. You may take a look on benchmark: https://github.com/recoilme/okdbc#similar-benchmark-for-memc...
memcached-1.4.34:
SET 69520.84 requests per second
GET 53244.68 requests per second
okdb (based on sophia, ex-engine for tarantool)
SET 48804.88 requests per second
GET 56191.01 requests per second
pudge in-memory mode:
SET 439581 requests per second
GET 1652069 requests per second
pudge write on disk mode:
SET 43843 requests per second
GET 666067 requests per second
But speed it's not the main thing
So, pudge as fast or faster then Memcache or Redis or Aerospike or any other database, including in-memory but pudge it's not a database, it's a database engine. With connection overhead it will be probably slower than in-memory DB's if you implement it badly
From that time was added:
* Rating system (like on HN)
* Tags
* Monsters/avatars
* Email integration
* Telegram integration
* Statistics server
* Android app (beta)
* and many other improvements
Show HN: Typegram – open source publishing platform
Means that post body must be more than 10 symbols http://tst.tgr.am/i/tst/recoilme/24_.png
Link to the picture - should be a link, for example
http://en.tgr.am/m/img/logo_big.png
I do not know how to explain more precisely..
May be empty space in that field?
I haved an app (closed now) - SwapChat before they go to Russian app store( And i know about "gram" but i have this domain... So silly I just think may be go to the store with some another name.. I'm really don't know what to do with "gram"
May please try again and show me the error text? In case of to short text, for example - error messages may look very ugly(
All articles on English language, for example - on subdomain http://en.tgr.am/all - here: http://en.tgr.am/all
It's first public beta and i want to catch as many feedbacks as possible before going forward. Most activity from first adopters on http://ru.tgr.am On others languages - it may contain only auto-translated welcome post(