Distributed Prediction Market for Organizations
Thomas Mitchell
Louis Cao
Presenting Polaris:
Polaris Brings to Organizations
Logic Influences
Tickets - Horse Racing
Live Trading - Iowa
Binary Outcomes - Modern
Relational Model
Consistency Model
Backend API
Idempotent
SELECT transaction_id
FROM market_transaction
WHERE market_id = %s AND transaction_id = %s
and then:
if cursor.fetchone() is not None:
return transaction_id
Atomic
except Exception as e:
db.rollback()
Safety
WHERE m.id = %s AND (ol.user_id IS NOT NULL OR uor.user_id IS NOT NULL)
Event Bus
Topic-based Servers
Server-side caching
DB Fault Tolerance
Data Replication
System
Design
Topics
Normal Operation | Fallback |
|
|
Write
Read
Event-bus v.s. Multi-server
Testing
Bet (3 Brokers)
Throughput v.s. Users
View - Caching
Time (Caching)
Event-bus (3 brokers) v.s. Multi-server - Write
Event-bus (3 brokers) v.s. Multi-server - Write