(11) Did Facebook develop a custom in-memory database to manage its News Feeds? - Quora



(11) Did Facebook develop a custom in-memory database to manage its News Feeds? - Quora

Most of this stuff is not secret. We presented the basics of the  newsfeed backend at f8 a couple of years ago, and at a few other  tech-talks.

 It's nothing complicated. Just an in-memory store of recent actions  taken by each user on the site. These actions can be queried and  merged into stories which can then be ranked and returned to the user.

 The challenges were mainly in dealing with the huge load, as well as  robustly handling various failure and timeout scenarios.

The basic architecture is similar to an in-memory search cluster. There are a bunch of leaf nodes that store user actions in RAM (on the heap), sharded by actor. The leaves support a variety of filtering primitives, so you can just have them return actions of a certain type, or with particular attributes. Then there are aggregation nodes that query the leaves, merge and rank the results, and return them to the client.

Read full article from (11) Did Facebook develop a custom in-memory database to manage its News Feeds? - Quora


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts