Skip to content

Commit

Permalink
fixin links
Browse files Browse the repository at this point in the history
  • Loading branch information
s-ben committed Aug 23, 2012
1 parent a71d7a4 commit 94eb1e0
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 3 deletions.
Expand Up @@ -44,7 +44,6 @@ Riak can detect when two processes try to update the same data with conflicting
In contrast, Neo4j supports configurable ACID transactions, similar to a traditional RDBMS. This allows a client to update a section of the graph in an isolated environment, hiding changes from other processes until the transaction is committed. If multiple transactions try to modify the same data, the Neo4j kernel will try to synchronize them. If interdependencies between the transactions would cause a deadlock, this will be detected and a corresponding exception will be thrown.

[[http://docs.neo4j.org/chunked/milestone/transactions.html]]
[[http://wiki.neo4j.org/content/FAQ]]

Riak's approach ensures that the datastore is always write-available, and that writes always succeed, even in the face of a network split or hardware failure, so long as the client can reach at least one node in the cluster. The tradeoff is that the client performing the read must do a little extra work to resolve the conflict, or can optionally choose to take the latest version of the object (this is the default setting.)

Expand All @@ -64,5 +63,5 @@ Neo4j, on the other hand, excels at querying networks of information. Again, dra

Neo4J requires you to provide a starting node before you can perform any queries or traversals. The starting node can be the result of a previous traversal, or may be retrieved by using the integer ID of the node generated by Neo4j. In this latter case, an application needs some way to map a real world value, such as a username, to a node ID. Neo4j currently supports tight integration with Lucene for this purpose, with support for ACID transactions on operations that touch both Neo4j and Lucene. Other than Lucene, any JTA compliant XA resource can participate in Neo4j transactions.

[[http://wiki.neo4j.org/content/Design_Guide]]
[[Neo4j Manual|http://docs.neo4j.org/]]
[[http://highscalability.com/neo4j-graph-database-kicks-buttox]]
@@ -1,7 +1,7 @@
# Introduction
Most interactions you'll have with Riak will be setting or retrieving objects. You can read more about basic operations through the Riak HTTP API, Erlang interface, protobufs API, or many client libraries in our [[Developers section|Developers]]. This section focuses on strategies for searching and aggregating data in Riak: Search, secondary indexes and MapReduce.

Below is an overview of each functionality. Drill deeper to see features, when to use and when not to use, how it works, examples and documentation. Not sure where to start? Check out our [[comparison page|MapReduce 2i Search Comparison]] for a high-level guide of what to use when.
Below is an overview of each functionality. Drill deeper to see features, when to use and when not to use, how it works, examples and documentation. Not sure where to start? Check out our [[comparison page|MapReduce-Search-2i-Comparison]] for a high-level guide of what to use when.

## Search
[[Riak Search|Riak-Search]] is a distributed, full-text search engine that ships with Riak. It indexes Riak KV objects as they're written using a precommit hook. Based on the object’s mime type and the schema you’ve set for its bucket, the hook will automatically extract and analyze your data and build indexes from it. Search has a robust, easy-to-use query language with scoring and ranking for most relevant results.
Expand Down

0 comments on commit 94eb1e0

Please sign in to comment.