Closed KabDeveloper closed 5 years ago
@bcashier matchengine does not use redis. marketprice uses redis for storing kline info. 'in memory database' in the description implies that it internally stores(holds) all data in its memory in various data structures.
@objectt First many thanks for your answer :)
Please what do you mean by kline infos ? (sorry for my ignorance)
Can you developpe more the process used to store in memory and what kind of data stored if possible ? And important thing, why not using REDIS instead ? Why is this solution is better than other ?
Sorry for all my questions and hope I will get detailed infos since I am stuck on this long ago and I am thirsty to know more about it ... You can take the time it takes to answer, be comfortable with it.
Thank you again.
@bcashier
@objectt
Thank you sir for your time and effort given to answer my question :)
I misunderstand you in one point: MySQL is not an In Memory DB no ? List of In Memory Database from here: https://en.wikipedia.org/wiki/List_of_in-memory_databases
Where are stored orders received from WEB/API before they go to MySQL database to save history ?
In my understanding, I see your matching server working like this (Correct me if I am wrong of course):
Is this the process used ? I think from the schema here it's what I understand: https://user-images.githubusercontent.com/1209350/32476113-5ffc622a-c3b0-11e7-9755-924f17bcc167.jpeg
What kind of data is stored in memory? information of all orders user balances market info
This datas must be stored in a MySQL database and not In memory database.
Please correct me and give me more infos if possible :)
Thank you again sir :)
@bcashier
MySQL is not an in-memory database.
All orders are stored within the application's memory (not in a separate in-memory database). 'In-memory database' that the author is referring to is not a separate process. It means the data is held by the application within its memory.
New orders are stored in application's memory (in a skiplist)
Application periodically dumps current data(=status) to MySQL (loaded on startup)
Finished(matched, cancelled) orders are immediately sent to MySQL
@objectt This is what I am looking for !
Thank you sir :)
Hi,
As in memory DB, what are you using please ? is it Redis ? and what is the use case of in memory database at this stage ?
Are the orders received from REDIS and then used inside an another in memory database or ? a clear informations will be awesome please :)
Thank you