Optimizing search through distributed space partitioning RUMBLE Gal Yaroslavsky
What is Rumble? Content aggregator Users “vote” and influence content Submissions are geographically fixated Content ranking based on locality
What are the requirements? Fast search results Fast insertions Space efficient Dynamic balancing & quick updates
Initial thoughts Peer-to-peer Servers are geographically distributed, client polls from surroundings latency – slow results data replication – redundancy update cascade – slow updates Peer-to-peer Servers are geographically distributed, client polls from surroundings
Initial thoughts Client-server. Single server Discretized search space certain areas are more popular than others – not space efficient still O(n) no fault tolerance
Initial thoughts Client-server Single server In-Memory Data Grid Discretized search space Spatial Database using a spatial database incurs large overhead not optimized certain types of queries
Initial thoughts Client-server Single server In-Memory Data Grid Discretized search space Spatial Database
Distributed Search Tree © Client-server REST with optional authentication. In-memory data grid Asynchronous operation. Concurrency. Dynamic addition and removal of cluster members Recursive space partitioning Subdivide dense regions into quadrants
Cluster Congregation Connect to database Join cluster ( Hazelcast) Join web proxy
Buckets, Bottles, Spills and Fills ® All operations on the Distributed Search Tree can be summarized as Buckets, Bottles, Spills and Fills
Technology Client Server Android Volley Asynchronous Networking Google Maps Static Map Images Google Maps APIv2 Jetty Session management RESTful requests Oracle MySQL Server Hazelcast Distributed, Open Source In-Memory Data Grid; Cluster
Client Webserver (Jetty) Hazelcast Cluster Failover Webserver (Jetty) Request Processing Volley
Future thought and implementation Social media integration Partition cluster members to preform unique actions Query by region -> draw on your screen Name-identified tags, !PSUHarrisburg