gdub01
Ai.google: KV storage is old,"stateful application servers or custom in-memory stores" better
Currently #1 on HN https://ai.google/research/pubs/pub48030.
Remote, in-memory key-value (RInK) stores such as Memcached and Redis are widely used in industry and are an active area of academic research. Coupled with stateless application servers to execute business logic and a database-like system to provide persistent storage, they form a core component of popular data center service architectures. We argue that the time of the RInK store has come and gone: their domain-independent APIs (e.g., PUT/GET) push complexity back to the application, leading to extra (un)marshalling overheads and network hops. Instead, data center services should be built using stateful application servers or custom in-memory stores with domain-specific APIs, which offer higher performance than RInKs at lower cost.
Just interesting because elixir seems to have a lot of the ability to do this out of the gates. Still a little harder to scale across a number of nodes than using redis, but the building blocks are all here for stateful servers are immediately accessible which is awesome. Anyways, just thought it was interesting =)
Most Liked
amnu3387
:mnesia.start()
![]()
peerreynders
I’m not saying you are wrong that mnesia could be used in that capacity.
I was casting a much wider net to speculate where this could be going (considering another recent trend)?
Whether in the long run this is pushing towards an architectural style that allows an ephemeral deploy of a stateful application or application shard to an edge compute node to serve 1 to n users primarily from a local cache - something that is neither “serverless” or “serverful” because most of the processing doesn’t happen on the client or near persistent storage.
dimitarvp
I never believed in Redis or Memcached even in my Rails days – to me they were a bandaid. I always thought, even as far back as when I coded C, C++ and Java, that every runtime needs its own builtin caching system, or, at least, a system allowing you to put stuff in in-memory database and use it almost transparently.
That’s one of my reasons for sticking with Elixir – it has that and more. OTP itself, plus ETS, persistent_term, atomics / counters, and a few more, gives you an experience that Redis and Memcached can only dream of (sans some querying though).
I don’t think Amazon, Google and Microsoft (and any cloud compute/storage provider) would risk their business like that. But even in my small country some internet business prefer to co-locate their own servers with their corporate ISP of choice.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









