HNHacker News
TopNewBestAskShowJobs

recompileme

40 karma · joined August 5, 2014

submissionscomments
recompileme··on Show HN: Fast and simple key/value store written using Go's standard library
and in general, pudge much more comparable to:

- 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.

recompileme··on Show HN: Fast and simple key/value store written using Go's standard library
Thank you for your interest. I will try to explain difference redis vs pudge, sorry for my bad english.

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.

recompileme··on Show HN: Fast and simple key/value store written using Go's standard library
Yes, you right. But Redis and Aerospike are in-memory DB's. Pudge store data on disk.

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

recompileme··on Show HN: Typegram – open source publishing platform
thank you! I believe in open source and I'm not concentrated on the money. We are working on a mobile app for creating/read texts with a very simple interface and real-time delivery content, like in messengers - https://user-images.githubusercontent.com/3045439/47013080-b... Hope it will fly)
recompileme··on Show HN: Typegram – open source publishing platform
Yes, I posted a link on GitHub in the main thread,69 days ago: https://news.ycombinator.com/item?id=17698719

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

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Thanks for the feedback! Error messages should be more clear, and I fix the link, thank you Individual accounts were a difficult decision. But I think it's good overall. For example, I can just move the folder "ko" to a Korean server and run the typegram. This strange solution (total separation) seems to me extremely interesting
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Thank you very much. I'm very tired of the saturated and overloaded interfaces
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Yes, this project heavily inspired by telegram (channels), telegra.ph(editor) and medium. Is starting from writing full medium clone) After that - i start again, now from an empty list. I try don't copy/paste and think many about the balance of futures/simplicity
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
welcome to contribute! Right now i open the new issue faster than close(
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Thank you! Here a huge merit of https://egorabaturov.com/
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Second error: Error:Field validation for 'Body' failed on the 'min' tag

Means that post body must be more than 10 symbols http://tst.tgr.am/i/tst/recoilme/24_.png

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Sorry for this incomprehensible error message (

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?

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Thank you! I have unsuccessfully battled with Snap too

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"

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Oh, sorry about that(

May please try again and show me the error text? In case of to short text, for example - error messages may look very ugly(

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Yes, of course, you totally right, i need rss feed (https://github.com/recoilme/tgram/issues/10) json - api and many other things.. I work on this project around six month - and this post - i don't know how to say it.. It's very hard to stay motivated in silence.. I want to find more contributors/early adopters.
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Thank you! https version must work to, but not totally finished(
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Sorry for my love of zen interfaces( I'm from 90's and love sites without "landings page". I love to explore new things, but maybe it was over zen

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(

recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Yes. But i try totally reinvent all
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
I will try to be short: it's blog platform like medium
recompileme··on Typegram – Platform for writers and their subscribers with a minimalistic design
Maker here. I'm open for questions and suggestions. But my English is not good, sorry about that(