Namdak Tonpa (maxim) wrote,
Namdak Tonpa
maxim

Aerospike

Консультрую молодых харьковчан и один безумный китайский стартап, думаю всем будет тоже интересно почитать:

1. Aerospike is fully open source written in C, and we can use it raw (although we don't really need it)

2. Official Erlang aerospike is a limited and not full featured. e.g. http://www.aerospike.com/download/client/erlang/2.1.2/ "Please note Erlang client only works with server 3.9.1 and older." while the current version is 3.12.1

3. Aerospike is really fast as it claims, here is most stressful test of database and most skilled guy is the world, he did analyze the aerospike for Stripe payment startup https://aphyr.com/posts/324-jepsen-aerospike

4. The nice thing is that if we are not using update/deletes, only non-removable writes and get could use aerospike even for payment processing (no write loss) — that is really fantastic http://www.aerospike.com/blog/intel-optanetm-ssds-aerospike-database-new-level-fast-operational-stores-hybrid-transactionalanalytical-processing/

5. Aerospike supports FusionIO SSD cards and latest Intel SSD which mean we are ready for the future clouds and latest technology available on the market. https://habrahabr.ru/post/155627/ https://itpeernetwork.intel.com/reaching-one-million-database-transactions-per-second-aerospike-intel-ssd/



According to the new Optane SSD product brief, the P4800X drive performs five to eight times faster than Intel's flash-based DC P3700 in internal tests at low queue depths using a mixed workload. Intel claimed the P4800X can reach as much as 500,000 IOPS -- or approximately 2 GBps -- at a queue depth of 11.

Intel said the Optane P4800X add-in card lists at $1,520 at a capacity point of 375 GB, or $4.05 per gigabyte.


6. The problem 2 could be solvable with 3-rd parties https://github.com/EnvisionX/erlang-aerospike libraries, EnvisionX is AD provider, so it seems they know what they are doing. Need to investigate deeply the quality of the code. Maybe we will need to write a simpler version for our backed team under Synrc umbrella. Already started a preparations to KVS unification library

7. Aerospike is using LuaJIT for stored procedures which explain the low latency numbers. As LuaJIT is the fastest JIT runtime in the world comparable or better that Java HotSpot in which Oracle invested millions of dollars :-)

8. Aerospike itself could be managed to power the Pub-Sub core messaging platform. Which means it is possible to use it directly with N2O without backed EMQTT orchestration. I'm thinking about reducing the complexity and cost of the solution.

От себя добавлю пару ссылок, для тек кому весь этот консалтинг до пизды, и им показуй код сука:

https://github.com/aerospike/aerospike-server/tree/master/as/src/storage/{drv_kv,drv_ssd,*}.c
https://github.com/aerospike/aerospike-server/tree/master/as/src/fabric/{paxos,*}.c
https://github.com/aerospike/aerospike-server/tree/master/as/src/base/{bin,index,scan,*}.c

Эй вы, на галерке, говнотрейдеры из Линкса, берите код, выдирайте куски и переписывайте на раст! Не ебите себе мозг. Пока это лучший сторадж который я видел своими молодыми глазами, после MUMPS. Тоже самое советую сделать Рашковскому с его PumpkinDB/Forth на расте, за его комитами я слежу и то, что он делает мне очень нравится, настоящая вторая жизнь форту, и применение правильное — для управления курсорами.

________________
[1]. http://www.vldb.org/pvldb/vol9/p1389-srinivasan.pdf
Tags: kernel, voxoz
Subscribe
Comments for this post were disabled by the author