is this proprietary or opensource? if opensource where is the source?
gwen-shapira 13 days ago [-]
We are planning to open source it soon. Last few cleanups :)
13 days ago [-]
qianli_cs 13 days ago [-]
Looks so cool! Will this be extensible to supporting transactions across logical DBs/tenants?
gwen-shapira 13 days ago [-]
This is a great question.
At this point, all transactions go through a single transaction coordinator that uses 2PC to coordinate all transactions. This makes many aspects of coordination fast, reliable and simple. It works well because OLTP systems typically have few DDLs an hour, if that (although we tested with hundreds of DDLs per second, just to be sure).
When we look at other types of transactions, OLTP systems need to handle many orders of magnitude more. Even small apps typically have hundreds of transactions an hour, while large systems require millions of TPS.
Getting from the current architecture to something that handles all transactional load of an OLTP system will be a journey. And arguably one better served with a different architecture, one not based on 2PC.
[1] https://docs.citusdata.com/en/stable/develop/reference_ddl.h...
At this point, all transactions go through a single transaction coordinator that uses 2PC to coordinate all transactions. This makes many aspects of coordination fast, reliable and simple. It works well because OLTP systems typically have few DDLs an hour, if that (although we tested with hundreds of DDLs per second, just to be sure).
When we look at other types of transactions, OLTP systems need to handle many orders of magnitude more. Even small apps typically have hundreds of transactions an hour, while large systems require millions of TPS.
Getting from the current architecture to something that handles all transactional load of an OLTP system will be a journey. And arguably one better served with a different architecture, one not based on 2PC.