Skip to content
This repository
Newer
Older
100644 69 lines (43 sloc) 2.478 kb
2e435f54 » dgomezferro
2011-11-02 Omid project
1 Omid
2 =====
3
163d773f » Daniel Gómez Ferro
2013-02-08 Fix RowKey serialization + minor improvemetns
4 The Omid project provides transactional support for key-value stores using Snapshot Isolation. Omid stands for Optimistically transactional Management in Datasources. At this stage of the project, HBase is the only supported data-store.
2e435f54 » dgomezferro
2011-11-02 Omid project
5
7ff7a069 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
6 If you have any question, please take a look to the [Wiki](https://github.com/yahoo/omid/wiki) or contact us at omid-project@googlegroups.com or read [the online archives](https://groups.google.com/forum/?fromgroups=#!forum/omid-project)
2e435f54 » dgomezferro
2011-11-02 Omid project
7
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
8 Use Cases
9 ---------
2e435f54 » dgomezferro
2011-11-02 Omid project
10
7ff7a069 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
11 Add UCs.
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
12
13 Basic Architecture
14 ------------------
15
fd1e4684 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
16 The main component of Omid is a server called the Status Oracle (TSO.) The TSO contains all the information needed to manage transactions. Applications requiring transactional support in key-value stores need to use the API provided by special components provided by Omid called Transactional Clients (TCs). TCs are in charge of connecting to the TSO and perform the required operations in data-stores. The TSO replicates transactional information to the TCs which just contact the TSO when they want to start a transaction or commit it.
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
17
fd1e4684 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
18 The TSO uses BookKeeper as a Write-Ahead Log where it dumps all its state. In case of crash failures it is possible to restart the TSO without losing any commit information.
2e435f54 » dgomezferro
2011-11-02 Omid project
19
7ff7a069 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
20 The core architecture of the software is described in more detail in the [Technical Details](https://github.com/yahoo/omid/wiki/Technical-Details) section of the Wiki.
21
2e435f54 » dgomezferro
2011-11-02 Omid project
22 Compilation
23 -----------
24
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
25 Omid uses Maven for its build system.
2e435f54 » dgomezferro
2011-11-02 Omid project
26
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
27 To compile Omid:
2e435f54 » dgomezferro
2011-11-02 Omid project
28
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
29 $ git clone https://github.com/yahoo/omid.git omid
30 $ cd omid
31 $ mvn install -DskipTests
2e435f54 » dgomezferro
2011-11-02 Omid project
32
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
33 Tests should run cleanly if you want to run them.
2e435f54 » dgomezferro
2011-11-02 Omid project
34
51029bc0 » Francisco Perez-Sorrosal
2012-11-22 README.md improved
35 Set-Up
36 ------
2e435f54 » dgomezferro
2011-11-02 Omid project
37
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
38 To test Omid you might want to run a benchmark.
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
39
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
40 ### Status Oracle
41 To start the SO, run:
2e435f54 » dgomezferro
2011-11-02 Omid project
42
43 $ bin/omid.sh tso
44
45 ### Benchmark
46 To benchmark the TSO alone, run:
47
48 $ bin/omid.sh tsobench
49
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
50 API Description
51 ---------------
2e435f54 » dgomezferro
2011-11-02 Omid project
52
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
53 The public API is in these classes:
2e435f54 » dgomezferro
2011-11-02 Omid project
54
0c24b167 » Daniel Gómez Ferro
2013-03-21 Update README
55 src/main/java/com/yahoo/omid/transaction/TTable.java
56 src/main/java/com/yahoo/omid/transaction/Transaction.java
57 src/main/java/com/yahoo/omid/transaction/TransactionManager.java
2e435f54 » dgomezferro
2011-11-02 Omid project
58
39ea42c3 » Francisco Perez-Sorrosal
2012-11-22 README improved
59 For an example of usage, take a look to this class:
2e435f54 » dgomezferro
2011-11-02 Omid project
60
61 src/test/java/com/yahoo/omid/TestBasicTransaction.java
62
63 Logging
64 -------
270d4073 » Francisco Perez-Sorrosal
2012-11-28 Fixed typo on path related to logging
65 The logging preferences can be adjusted in src/main/resources/log4j.properties.
dfcc5884 » fpj
2012-11-21 Update README.md
66
67 Acknowledgement
68 -------
163d773f » Daniel Gómez Ferro
2013-02-08 Fix RowKey serialization + minor improvemetns
69 This project has been partially supported by the EU Comission through the Cumulo Nimbo project (FP7-257993).
Something went wrong with that request. Please try again.