pillaiindu

pillaiindu

What database WhatsApp used with Yaws?

WhatsApp used (or may be still they’re using) Yaws. What database they used with Yaws? I think Yaws only supported Mnesia, CouchDB, MongoDB, Redis and Riak.

So

  1. did they use one of these databases?
  2. Is it possible to create some compilicated system as WhatsApp using only Mnesia?
  3. Will a system solely based on Mnesia perform OK/better/worse than using something like Mongo or Postgres?
  4. Does Yaws support only the above 5 databased or does it also support MySQL or PostgreSQL ?

Most Liked

josevalim

josevalim

Creator of Elixir

Yaws is a web server. It likely works with any database of your choice. From my understanding of previous Whatsapp talks, they relied a lot on Mnesia but such talks are at least 4 years old at this point.

A system based solely on Mnesia may perform OK, better or worse than using Mongo or Postgres. It really depends on your domain, your engineering team, your design and the guarantees you expect from the system.

JeyHey

JeyHey

As far as I know, Whatsapp relied on Mnesia only as database (for non media content). The Mnesia tables had to be fragmented to hold all data. Whatsapp contributed to some optimizations and improvements of the Erlang code base related to handling the Mnesia database.
Whatsapp does not store any messages on their servers, thought. Accordingly, the database was for user credentials, the roster, group chat meta infos, non delivered messages and presence info only.

idi527

idi527

@irfan.aloha You might want to indicate the source of this information.

Where Next?

Popular in Questions Top

Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a > b) do {:ok, "a"} end if (a < b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: The documentation above suggests that while ...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41539 114
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 126479 1222
New

We're in Beta

About us Mission Statement