
Sign up to save your podcasts
Or


This paper introduces Kafka, a novel distributed messaging system designed for high-throughput log processing. Kafka addresses limitations in existing messaging systems and log aggregators by offering a scalable, efficient architecture with a simple API. Key features include a pull-based consumption model, efficient storage and data transfer mechanisms, and the use of ZooKeeper for distributed coordination. Performance tests demonstrate Kafka's superior throughput compared to ActiveMQ and RabbitMQ, highlighting its suitability for handling massive volumes of log data. The authors detail Kafka's implementation at LinkedIn, illustrating its use in both online and offline applications.
https://notes.stephenholiday.com/Kafka.pdf
This research paper details LinkedIn's solution for optimizing low-latency graph computations within their large-scale distributed graph system. To improve performance, they implemented a modified greedy set cover algorithm to minimize the number of machines needed for processing second-degree connection queries. This optimization significantly reduced latency in constructing network caches and overall graph distance calculations, resulting in a better user experience. The paper also discusses the distributed graph architecture, including its partitioning and caching mechanisms, and compares their approach to related work in distributed graph processing. The improvements achieved demonstrate the effectiveness of the modified set cover algorithm in handling the challenges of large-scale graph queries in a real-world online environment.
This research paper details Monolith, a real-time recommendation system developed by Bytedance. Monolith addresses challenges in building scalable recommendation systems, such as sparse and dynamic data, and concept drift, by employing a collisionless embedding table and an online training architecture. Key innovations include a Cuckoo HashMap for efficient sparse parameter representation, incorporating features like expirable embeddings and frequency filtering, and a system for real-time parameter synchronization between training and serving. The authors present experimental results demonstrating Monolith's superior performance compared to systems using traditional hash tables and batch training, showcasing the benefits of its design choices in terms of model accuracy and efficiency. Finally, the paper compares Monolith to existing solutions, highlighting its unique advantages for industrial-scale applications.
https://arxiv.org/pdf/2209.07663
This research paper details FlexiRaft, a modified Raft consensus algorithm designed for Meta's petabyte-scale MySQL deployments. The core improvement is the introduction of flexible quorums, allowing configurable trade-offs between latency, throughput, and fault tolerance. Two quorum modes are presented: static and dynamic. The paper explores the algorithm's modifications, fault tolerance guarantees, experimental performance validation, and lessons learned from its production implementation. Finally, it compares FlexiRaft to other consensus algorithm variants and proposes avenues for future work.
https://www.cidrdb.org/cidr2023/papers/p83-yadav.pdf
This research paper details Spanner, Google's globally-distributed database system. Spanner achieves strong consistency across its geographically dispersed data centers using a novel TrueTime API that accounts for clock uncertainty. The system features automatic sharding, failover, and a semi-relational data model, addressing limitations of previous systems like Bigtable and Megastore. Spanner's design is discussed in depth, including its architecture, concurrency control mechanisms, and performance benchmarks. A case study of its use in Google's advertising backend, F1, highlights its real-world applicability and benefits.
https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
This research paper introduces Minesweeper, a novel technique for automated root cause analysis (RCA) of software bugs at scale. Leveraging telemetry data, Minesweeper efficiently identifies statistically significant patterns in user app traces that correlate with bugs, even in the absence of detailed debugging information. The method uses sequential pattern mining, specifically the PrefixSpan algorithm, for pattern extraction and incorporates statistical measures of precision and recall to rank patterns by distinctiveness. Practical challenges like handling numeric data and mitigating redundant patterns are addressed, and the system's scalability and accuracy are demonstrated through real-world evaluations on Facebook's app data. The results show Minesweeper significantly improves the speed and accuracy of RCA, aiding engineers in quickly identifying and resolving bugs.
https://arxiv.org/pdf/2010.09974
This paper details Cassandra, a decentralized structured storage system designed for managing massive amounts of structured data across numerous commodity servers. High availability and scalability are key features, achieved through techniques like consistent hashing for data partitioning and replication strategies across multiple data centers to handle failures. The system uses a simple data model and API, emphasizing write throughput without sacrificing read efficiency. The paper explores the system architecture, including failure detection, membership, and bootstrapping, along with practical experiences and performance metrics from its use at Facebook. Future work focuses on adding compression and enhanced atomicity.
https://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf
The provided text is an excerpt from a research paper on FoundationDB, an open-source, distributed transactional key-value store. The paper details FoundationDB's design principles, architecture, and key features, including its unbundled architecture, strict serializability through a combination of optimistic concurrency control (OCC) and multi-version concurrency control (MVCC), and its robust deterministic simulation framework for testing. The paper also explores FoundationDB's geo-replication and failover capabilities, highlighting how the system achieves high availability and fault tolerance without sacrificing performance. Finally, the authors discuss lessons learned from developing FoundationDB, including the benefits of its divide-and-conquer design, the importance of simulation testing for achieving high reliability, and the impact of its fast recovery mechanisms on system upgrades and availability.
https://www.foundationdb.org/files/fdb-paper.pdf
This document describes the design of Amazon Aurora, a cloud-native relational database service built to handle high-throughput, online transaction processing (OLTP) workloads. The paper highlights the challenges of traditional database architectures in cloud environments, specifically the I/O bottleneck created by network traffic. Aurora addresses these issues by leveraging a novel service-oriented architecture where the storage service is decoupled from the database engine. This approach significantly reduces network I/O and enables efficient crash recovery, failover, and self-healing capabilities. The paper further explains how Aurora achieves consensus on durable state across storage nodes through an asynchronous scheme, avoiding expensive and chatty recovery protocols. The authors conclude by sharing insights gained from their customers on the evolving needs of modern cloud applications for database services.
https://assets.amazon.science/dc/2b/4ef2b89649f9a393d37d3e042f4e/amazon-aurora-design-considerations-for-high-throughput-cloud-native-relational-databases.pdf
The article is a paper published in 2010 by researchers at Google that introduces Pregel, a large-scale graph processing system. Pregel is designed for processing graphs with billions of vertices and trillions of edges, and it uses a vertex-centric approach where vertices are assigned to individual machines and communicate with each other through message passing. The paper details the model of computation, the C++ API, and the implementation of Pregel, including fault-tolerance mechanisms for dealing with machine failures. It also explores applications of Pregel to various graph algorithms, including PageRank, shortest paths, bipartite matching, and semi-clustering, providing experimental results for shortest paths on graphs ranging in size from 10 million to 1 billion vertices. Finally, the paper discusses related work and future directions for Pregel, highlighting its strengths and potential areas for improvement.
https://15799.courses.cs.cmu.edu/fall2013/static/papers/p135-malewicz.pdf
From the publisher's feed