"dj_onlinefactor"
Tecblog from Netflix(03/27/2013)
Gap: offline/online processing
Mobile
Data
Algorithm/Model
Software Architecture
BackType/Twitter
Scalability
Fault-tolerance
Higher level abstraction than message passing
Redis/hiredis(a c++ wrapper)
Beantalkd/beanstalkpp(internal version)
Paracel(communication to parameter servers)
Libraries & tools @douban
Process data
Async computation
Matrix factorization
Process events
Async computation
Regression
Process requests
Sync computation
Balltree
# Make socket socket = TSocket.TSocket('beater7', 9090) # Buffering is critical. Raw sockets are very slow transport = TTransport.TFramedTransport(socket) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = RorService.Client(protocol) # Connect transport.open() rep = Request() rep.rating = '2619286,9087,3.45' rep.ktop = 10 rep.method = 'tree' rep.whitelist = ['16685', '13984', '13925'] rep.blacklist = ['10294', '3223', '1'] # get result req = client.search(rep) print req.error, req.results
Bugfix
Unified interface for testing
Similarity/clustering/realtime recommendation framework
Reliability: fault-tolerance
Dj @FM, Recommender @Dongxi
contact info