Hi i am working on Ejabberd where i have 10k to 20k concurrent user. SO which is better MySQL and Mnesia for that . Or i need to use combination on them or any other Database.
Mnesia is not intended to store large volume of data. You should look into the type of data that requires a quite large storage (several tens of thousands of record) and use MySQL for that type of data. For example, this may be relevant to move roster and pubsub to MySQL.
You could also decide to prepare for large growth and put all you can directly in MySQL.