This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
The document discusses graph databases and their properties. Graph databases are structured to store graph-based data by using nodes and edges to represent entities and their relationships. They are well-suited for applications with complex relationships between entities that can be modeled as graphs, such as social networks. Key graph database technologies mentioned include Neo4j, OrientDB, and TinkerPop which provides graph traversal capabilities.
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery. It also covers benchmark testing of these platforms, comparing throughput and latency. Finally, it emphasizes that messaging queues can help applications by allowing producers and consumers to communicate asynchronously.
The document discusses graph databases and their properties. Graph databases are structured to store graph-based data by using nodes and edges to represent entities and their relationships. They are well-suited for applications with complex relationships between entities that can be modeled as graphs, such as social networks. Key graph database technologies mentioned include Neo4j, OrientDB, and TinkerPop which provides graph traversal capabilities.
Jubatus is a distributed online machine learning framework that is distributed, fault tolerant, and allows for fixed time computation. It combines a machine learning model with a feature extractor. Jubatus uses a shared-everything architecture that allows it to be fast and fault tolerant. The architecture allows clients to access Jubatus through a single RPC interface even as the number of Jubatus servers scales out dynamically. Jubatus supports various machine learning algorithms including classification, recommendation, anomaly detection, clustering, and regression.
Jubatus is an open source machine learning framework that allows for distributed, online machine learning. It features algorithms like classification, recommendation, anomaly detection, and clustering. The architecture uses a feature extractor to transform data into feature vectors which are then used to train machine learning models. Models are combined with feature extractors and accessed via client libraries using an RPC interface, enabling applications in languages like Ruby, Python, Perl, and JavaScript.
The document describes SkipGraph, a distributed hash table based on SkipLists. SkipGraph uses a SkipList data structure to store key-value pairs and distribute them across nodes through consistent hashing of keys to nodes. SkipGraph assigns each node a membership vector that describes which keys it stores, allowing efficient lookups of O(log n) by routing queries through nodes with overlapping membership vectors.
21. Early Lock Release
Group Commit等で、何をCommitするかという内容を決めてディスクに書き出す順序まで確定(pre-
commit)した後なら、ロックを手放してしまってもトランザクションの性質は変わらないよという提案
仮に手放したロックを握った別のトランザクションがやってきても、手放した側のトランザクションを追い抜く事はな
い(ディスクに書き出す順序は既に確定したので)
ディスク動作を待つ間にデータのロックを手放して良いので、より多くのトランザクションがロックを握って進行でき
るようになる
詳細な証明は結構ゴツいので論文参照
実地でどの程度使われてるかは未調査。PostgreSQLは未実装らしい。
Unlockcommit
Disk Write
Unlockcommit
Disk Write