background preloader

NoSQL

Facebook Twitter

CAP Twelve Years Later: How the "Rules" Have Changed. This article first appeared in Computer magazine and is brought to you by InfoQ & IEEE Computer Society.

CAP Twelve Years Later: How the "Rules" Have Changed

The CAP theorem asserts that any net­worked shared-data system can have only two of three desirable properties. How­ever, by explicitly handling partitions, designers can optimize consistency and availability, thereby achieving some trade-off of all three. In the decade since its introduction, designers and researchers have used (and sometimes abused) the CAP theorem as a reason to explore a wide variety of novel distributed systems. The NoSQL movement also has applied it as an argument against traditional databases. The CAP theorem states that any networked shared-data system can have at most two of three desirable properties:

Distributed Algorithms in NoSQL Databases « Highly Scalable Blog. Scalability is one of the main drivers of the NoSQL movement.

Distributed Algorithms in NoSQL Databases « Highly Scalable Blog

As such, it encompasses distributed system coordination, failover, resource management and many other capabilities. It sounds like a big umbrella, and it is. Although it can hardly be said that NoSQL movement brought fundamentally new techniques into distributed data processing, it triggered an avalanche of practical studies and real-life trials of different combinations of protocols and algorithms. These developments gradually highlight a system of relevant database building blocks with proven practical efficiency. In this article I’m trying to provide more or less systematic description of techniques related to distributed operations in NoSQL databases. Log-structured file systems: There's one in every SSD. September 18, 2009 This article was contributed by Valerie Aurora (formerly Henson) When you say "log-structured file system," most storage developers will immediately think of Ousterhout and Rosenblum's classic paper, The Design and Implementation of a Log-structured File System - and the nearly two decades of subsequent work attempting to solve the nasty segment cleaner problem (see below) that came with it.

Linux developers might think of JFFS2, NILFS, or LogFS, three of several modern log-structured file systems specialized for use with solid state devices (SSDs). Few people, however, will think of SSD firmware. The flash translation layer in a modern, full-featured SSD resembles a log-structured file system in several important ways. What is a log-structured file system? Log-structured file systems, oddly enough, evolved from logging file systems. Around 1988, John K. Over the last decade CPU speeds have increased dramatically while disk access times have only improved slowly.

Empirical Reality » Blog Archive » 2010 NoSQL Summer Reading List. The NoSQL Summer Reading List captures many of the relevant papers for understanding the importance and underlying technology of the NoSQL approach to data storage.

Empirical Reality » Blog Archive » 2010 NoSQL Summer Reading List

The list was put together by Tim Anglade, and spawned local reading groups all over the world to get together and discuss the papers. Pointers to the local reading groups are listed at Then, Krishna Sankar organized the list into topical groups, and added a few topics as extra reading or as the beginnings of a Winter reading list. A couple of the topics are currently placeholders for adding additional readings.

Personally, I read many of these papers in roughly chronological order over the years. The above two lists conveniently pointed to download locations for the papers, but didn’t contain formal paper citations, which I wanted. Several files are available here for download: 2010_nosql_summer_reading_list_citations.txt Contains the list of paper citations in ACM Ref format. Thanks again to Tim and Krishna. Enjoy. An Introduction to 5 Data Models. What is a Data Model?

An Introduction to 5 Data Models

Accessing data in a database depends on the data model implemented by that database. The data model affects the operations available and the API used by clients to operate on that data. Different data models may provide more or less raw functionality. Usually, the less functionality provided directly by the data model, the more the client application must do for itself. The data model determines how a client application must encode its data for storage. Until recently, the dominant data model was the relational model. The data model supported by a data store is distinct from its consistency model, which I will cover elsewhere, separately.

NoSQL Data Modeling Techniques « Highly Scalable Blog. NoSQL databases are often compared by various non-functional criteria, such as scalability, performance, and consistency.

NoSQL Data Modeling Techniques « Highly Scalable Blog

This aspect of NoSQL is well-studied both in practice and theory because specific non-functional properties are often the main justification for NoSQL usage and fundamental results on distributed systems like the CAP theorem apply well to NoSQL systems. At the same time, NoSQL data modeling is not so well studied and lacks the systematic theory found in relational databases. In this article I provide a short comparison of NoSQL system families from the data modeling point of view and digest several common modeling techniques.

I would like to thank Daniel Kirkdorffer who reviewed the article and cleaned up the grammar. To explore data modeling techniques, we have to start with a more or less systematic view of NoSQL data models that preferably reveals trends and interconnections. Key-Value storage is a very simplistic, but very powerful model. Conceptual Techniques.