cmu-db / peloton

The Self-Driving Database Management System
http://pelotondb.io
Apache License 2.0
2.03k stars 623 forks source link

Design the Self-Driving Architecture #837

Open linmagit opened 7 years ago

linmagit commented 7 years ago

This is probably going to be a long running discussion over time as we build the self-driving component for Peloton.

The high-level idea we have right now is that we want the computationally expensive part of our self-driving component, we called "the brain", to be a separate process outside Peloton. There would be a thread in Peloton called "the nerve center", that is responsible for talking with the brain. The brain shouldn't directly talk to any internal component of Peloton. In that case, (1) brain won't directly compete resources with normal queries in the database, such as opening up a transaction to access the catalog, (2) it's better modularization and isolation from a software engineering point of view, (3) if the brain dies or crashes, it won't affect the database itself, (4) I probably won't remain in the team at that point, but if we finally go distributed, we can directly port the brain to a stand-alone machine and put a GPU there.

We definitely need a bigger discussion on this in the team meeting.

tli2 commented 7 years ago

https://docs.google.com/document/d/1hBkoBrNvM80b53jv3AI2upjWGEMuD2Yej9lul3hPmco/edit?usp=sharing