SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Lock-free transactional
  support for large-scale
     storage systems
Flavio Junqueira, Benjamin Reed, Maysam Yabandeh

                Yahoo! Research
                    June 2011
Big data


•   Large data sets
    ✓ Unstructured, semi-structured data
    ✓ Critical for business logic

•   Examples of such data
    ✓ Web logs, server logs, social media, etc


                          June 2011              2
Big data

+160% clicks                                                      +43% clicks
vs. one-size fits all                                             vs. editor selected




                                     Eric Baldeschwieler @IBM Big Data, May 2011

                         June 2011                                            3
Big data: Hadoop




                  Eric Baldeschwieler @IBM Big Data, May 2011

      June 2011                                           4
Background

  •     Database generations in batches
Input                                                              e.g.,
            Input      Hours of    Output       Hours of   Output Hbase,
Input        DB       MapReduce     DB         MapReduce    DB    HDFS


  •     Online concurrent updates
         Input txn
                     Output       Require transactional
         Input txn    DB          support


                                   June 2011                           5
Examples

•   Mutable tables

•   Various indexes: Web, news, shopping, coupons

•   User and content models

•   Characteristics
    ✓ Concurrency

    ✓ Losing updates is undesirable

    ✓ There are concurrent reads and they must be consistent


                              June 2011                        6
Semantics

•   Read only previously committed values
                                         Txn
        w(x,v)

                   r(x) = v


                    w(x,v’)       Time



                      June 2011                7
Semantics

•   No concurrent writes to the same row
                                                 Txn

          w(x,v)


                   w(x,v’)            Time

                                  At least one must abort
                      June 2011                         8
Snapshot Isolation

•   Known in the database realm
•   Conflicting transactions
    ✓ Write to the same element (e.g., row)
    ✓ Time range between start and commit overlap

•   Efficient implementation by versioning


                        June 2011                   9
Locks?

•   Previous approaches: Lock data to modify
    ✓ Convoy effect                           [Percolator, OSDI’10]

    ✓ Delays of several seconds
    ✓ Higher overhead on data servers

•   Our approach
    ✓ Lock-free, centralized transaction manager
    ✓ Single point of failure, potential bottleneck?

                          June 2011                            10
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                           Keeps state
                  TO         TSO           about committed
                                           rows




DB1                      Client                              DB2


                             June 2011                             11
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                           Keeps state
                  TO         TSO           about committed
                                           rows


                    Ts


DB1                      Client                              DB2


                             June 2011                             11
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                                   Keeps state
                     TO         TSO                about committed
                                                   rows


                       Ts

        w(r2, v2, Ts(txnr))                         r(r1)
DB1           ACK             Client          v1, Ts(txnw), ⊥        DB2
                                            Ts(txnw) < Ts(txnr)

                                June 2011                                  11
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                                   Keeps state
                     TO         TSO                about committed
                                                   rows


                       Ts                     Tc(txnw) < Ts(txnr)?

        w(r2, v2, Ts(txnr))                         r(r1)
DB1           ACK             Client          v1, Ts(txnw), ⊥        DB2
                                            Ts(txnw) < Ts(txnr)

                                June 2011                                  11
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                                   Keeps state
                     TO         TSO                about committed
                                                   rows


                       Ts      Commit r2      Tc(txnw) < Ts(txnr)?

        w(r2, v2, Ts(txnr))                         r(r1)
DB1           ACK             Client          v1, Ts(txnw), ⊥        DB2
                                            Ts(txnw) < Ts(txnr)

                                June 2011                                  11
Transaction Status Oracle
•   Single process
    ✓ Processes client inquiries about transactions
    ✓ Includes a timestamp oracle
                                                   Keeps state
                     TO         TSO                about committed
                                                   rows


                       Ts      Commit r2      Tc(txnw) < Ts(txnr)?

        w(r2, v2, Ts(txnr))                         r(r1)
DB1           ACK             Client          v1, Ts(txnw), ⊥        DB2
                                            Ts(txnw) < Ts(txnr)
         Cleanup(r2, txnr)

                                June 2011                                  11
ReTSO: Design choices

•   TSO
    ✓ Keeps state of modified rows

•   In-memory state
    ✓ Highest commit timestamp of all garbage-collected rows

•   Auto-GC Hash map
    ✓ Lazy garbage-collection
    ✓ Upon a hit

                           June 2011                           12
ReTSO: Increasing dependability


       •   Remote write-ahead log

             Inquiries                            Backup
                           ReTSO                  ReTSO
                                                         Warm or cold

                         Updates

    Writes to WAL
are synchronous but do        WAL   e.g., NFS, BookKeeper
  not block other txns
                                                  [http://zookeeper.apache.org/bookkeeper]

                                      June 2011                                          13
Preliminary results

•   Coded in Java
    ✓ Except for hash map (C++ with JNI interface)

•   Uses BookKeeper for WAL
•   10 identical servers
    ✓ 2.13 Dual Core Intel Xeon
    ✓ 4GB of RAM
    ✓ 1 Gigabit interfaces

                             June 2011               14
Preliminary results

•   Average throughput observed
    ✓ 3 clients, 1,000 concurrent transactions
    ✓ 81k TPS

•   Average latency
    ✓ 1 client, 1 txn
    ✓ 0.87 ms (with WAL)
    ✓ 0.17 ms (without WAL)

                         June 2011               15
Preliminary results

•   Increasing the load of the system
    ✓ 1 to 16 clients                    18
                                                      ReTSO
                                         16      WAL-disabled

    ✓ Max is 72k TPS                     14
                                         12


                         Latency in ms
                                         10
                                          8
                                          6
                                          4
                                          2
                                         0
                                         20000      40000       60000   80000   100000   120000
                                                            Throughput in TPS




                        June 2011                                                                 16
What’s baking?


•   Integration
    ✓ HBase
    ✓ Query engine

•   Real workloads



                     June 2011   17
Summary

•   Transaction management for large-scale data
    repositories
•   Lock-based vs. Lock-free
    ✓ ReTSO is lock-free and dependable
    ✓ Reduced load on storage nodes
    ✓ Low latency despite faults

•   Performance sufficient for realistic applications

                           June 2011                   18

Weitere ähnliche Inhalte

Was ist angesagt?

Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data AnalyticsSupersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analyticsmason_s
 
Postgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL ClusterPostgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL ClusterMason Sharp
 
Scalar DB: A library that makes non-ACID databases ACID-compliant
Scalar DB: A library that makes non-ACID databases ACID-compliantScalar DB: A library that makes non-ACID databases ACID-compliant
Scalar DB: A library that makes non-ACID databases ACID-compliantScalar, Inc.
 
Postgres-XC as a Key Value Store Compared To MongoDB
Postgres-XC as a Key Value Store Compared To MongoDBPostgres-XC as a Key Value Store Compared To MongoDB
Postgres-XC as a Key Value Store Compared To MongoDBMason Sharp
 
Some key value stores using log-structure
Some key value stores using log-structureSome key value stores using log-structure
Some key value stores using log-structureZhichao Liang
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance BenchmarkingRenat Khasanshyn
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation Yahoo Developer Network
 

Was ist angesagt? (9)

NewSQL
NewSQLNewSQL
NewSQL
 
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data AnalyticsSupersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
 
Postgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL ClusterPostgres-XC Write Scalable PostgreSQL Cluster
Postgres-XC Write Scalable PostgreSQL Cluster
 
Scalar DB: A library that makes non-ACID databases ACID-compliant
Scalar DB: A library that makes non-ACID databases ACID-compliantScalar DB: A library that makes non-ACID databases ACID-compliant
Scalar DB: A library that makes non-ACID databases ACID-compliant
 
Postgres-XC as a Key Value Store Compared To MongoDB
Postgres-XC as a Key Value Store Compared To MongoDBPostgres-XC as a Key Value Store Compared To MongoDB
Postgres-XC as a Key Value Store Compared To MongoDB
 
Some key value stores using log-structure
Some key value stores using log-structureSome key value stores using log-structure
Some key value stores using log-structure
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance Benchmarking
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation
 
Ogg oracle goldengate-v3.0
Ogg oracle goldengate-v3.0Ogg oracle goldengate-v3.0
Ogg oracle goldengate-v3.0
 

Andere mochten auch

Omid Efficient Transaction Mgmt and Processing for HBase
Omid Efficient Transaction Mgmt and Processing for HBaseOmid Efficient Transaction Mgmt and Processing for HBase
Omid Efficient Transaction Mgmt and Processing for HBaseDataWorks Summit
 
Omid roozmand presentation
Omid roozmand presentationOmid roozmand presentation
Omid roozmand presentationUniversity
 
Omid: Efficient Transaction Management and Incremental Processing for HBase (...
Omid: Efficient Transaction Management and Incremental Processing for HBase (...Omid: Efficient Transaction Management and Incremental Processing for HBase (...
Omid: Efficient Transaction Management and Incremental Processing for HBase (...Daniel Gómez Ferro
 
Transactions Over Apache HBase
Transactions Over Apache HBaseTransactions Over Apache HBase
Transactions Over Apache HBasealexbaranau
 
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015alanfgates
 

Andere mochten auch (6)

Omid Efficient Transaction Mgmt and Processing for HBase
Omid Efficient Transaction Mgmt and Processing for HBaseOmid Efficient Transaction Mgmt and Processing for HBase
Omid Efficient Transaction Mgmt and Processing for HBase
 
Omid roozmand presentation
Omid roozmand presentationOmid roozmand presentation
Omid roozmand presentation
 
Omid: Efficient Transaction Management and Incremental Processing for HBase (...
Omid: Efficient Transaction Management and Incremental Processing for HBase (...Omid: Efficient Transaction Management and Incremental Processing for HBase (...
Omid: Efficient Transaction Management and Incremental Processing for HBase (...
 
Transactions Over Apache HBase
Transactions Over Apache HBaseTransactions Over Apache HBase
Transactions Over Apache HBase
 
Omid: A Transactional Framework for HBase
Omid: A Transactional Framework for HBaseOmid: A Transactional Framework for HBase
Omid: A Transactional Framework for HBase
 
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015
Hive & HBase for Transaction Processing Hadoop Summit EU Apr 2015
 

Ähnlich wie Retso hotdep-2011

Spotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great SuccessSpotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great SuccessNick Barkas
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixDataWorks Summit
 
Welcome to Production
Welcome to ProductionWelcome to Production
Welcome to ProductionGraeme Foster
 
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...Ontico
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets databaseYongraeJo
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developersShy Engelberg
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetCloudera, Inc.
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)Amazon Web Services
 
Transaction in HBase, by Andreas Neumann, Cask
Transaction in HBase, by Andreas Neumann, CaskTransaction in HBase, by Andreas Neumann, Cask
Transaction in HBase, by Andreas Neumann, CaskCask Data
 
Batchloading solutions
Batchloading solutionsBatchloading solutions
Batchloading solutionsSue Bennett
 
Batchloading solutions
Batchloading solutionsBatchloading solutions
Batchloading solutionsSue Bennett
 
SQL Server 2008 Fast Track Data Warehouse
SQL Server 2008 Fast Track Data WarehouseSQL Server 2008 Fast Track Data Warehouse
SQL Server 2008 Fast Track Data WarehouseMark Ginnebaugh
 
StreamHorizon overview
StreamHorizon overviewStreamHorizon overview
StreamHorizon overviewStreamHorizon
 
Cassandra at High Performance Transaction Systems 2011
Cassandra at High Performance Transaction Systems 2011Cassandra at High Performance Transaction Systems 2011
Cassandra at High Performance Transaction Systems 2011jbellis
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBasedarach
 
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...Data all over the place! How SQL and Apache Calcite bring sanity to streaming...
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...Julian Hyde
 
Storing and processing data with the wso2 platform
Storing and processing data with the wso2 platformStoring and processing data with the wso2 platform
Storing and processing data with the wso2 platformWSO2
 

Ähnlich wie Retso hotdep-2011 (20)

Spotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great SuccessSpotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great Success
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
 
Welcome to Production
Welcome to ProductionWelcome to Production
Welcome to Production
 
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
 
Reactive Spring 5
Reactive Spring 5Reactive Spring 5
Reactive Spring 5
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
 
Hekaton introduction for .Net developers
Hekaton introduction for .Net developersHekaton introduction for .Net developers
Hekaton introduction for .Net developers
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
 
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
AWS re:Invent 2016: Streaming ETL for RDS and DynamoDB (DAT315)
 
Transaction in HBase, by Andreas Neumann, Cask
Transaction in HBase, by Andreas Neumann, CaskTransaction in HBase, by Andreas Neumann, Cask
Transaction in HBase, by Andreas Neumann, Cask
 
Batchloading solutions
Batchloading solutionsBatchloading solutions
Batchloading solutions
 
Batchloading solutions
Batchloading solutionsBatchloading solutions
Batchloading solutions
 
SQL Server 2008 Fast Track Data Warehouse
SQL Server 2008 Fast Track Data WarehouseSQL Server 2008 Fast Track Data Warehouse
SQL Server 2008 Fast Track Data Warehouse
 
StreamHorizon overview
StreamHorizon overviewStreamHorizon overview
StreamHorizon overview
 
Cassandra at High Performance Transaction Systems 2011
Cassandra at High Performance Transaction Systems 2011Cassandra at High Performance Transaction Systems 2011
Cassandra at High Performance Transaction Systems 2011
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Implement Checkpointing for Android (ELCE2012)
Implement Checkpointing for Android (ELCE2012)Implement Checkpointing for Android (ELCE2012)
Implement Checkpointing for Android (ELCE2012)
 
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...Data all over the place! How SQL and Apache Calcite bring sanity to streaming...
Data all over the place! How SQL and Apache Calcite bring sanity to streaming...
 
Storing and processing data with the wso2 platform
Storing and processing data with the wso2 platformStoring and processing data with the wso2 platform
Storing and processing data with the wso2 platform
 
System Platform 4
System Platform 4System Platform 4
System Platform 4
 

Retso hotdep-2011

  • 1. Lock-free transactional support for large-scale storage systems Flavio Junqueira, Benjamin Reed, Maysam Yabandeh Yahoo! Research June 2011
  • 2. Big data • Large data sets ✓ Unstructured, semi-structured data ✓ Critical for business logic • Examples of such data ✓ Web logs, server logs, social media, etc June 2011 2
  • 3. Big data +160% clicks +43% clicks vs. one-size fits all vs. editor selected Eric Baldeschwieler @IBM Big Data, May 2011 June 2011 3
  • 4. Big data: Hadoop Eric Baldeschwieler @IBM Big Data, May 2011 June 2011 4
  • 5. Background • Database generations in batches Input e.g., Input Hours of Output Hours of Output Hbase, Input DB MapReduce DB MapReduce DB HDFS • Online concurrent updates Input txn Output Require transactional Input txn DB support June 2011 5
  • 6. Examples • Mutable tables • Various indexes: Web, news, shopping, coupons • User and content models • Characteristics ✓ Concurrency ✓ Losing updates is undesirable ✓ There are concurrent reads and they must be consistent June 2011 6
  • 7. Semantics • Read only previously committed values Txn w(x,v) r(x) = v w(x,v’) Time June 2011 7
  • 8. Semantics • No concurrent writes to the same row Txn w(x,v) w(x,v’) Time At least one must abort June 2011 8
  • 9. Snapshot Isolation • Known in the database realm • Conflicting transactions ✓ Write to the same element (e.g., row) ✓ Time range between start and commit overlap • Efficient implementation by versioning June 2011 9
  • 10. Locks? • Previous approaches: Lock data to modify ✓ Convoy effect [Percolator, OSDI’10] ✓ Delays of several seconds ✓ Higher overhead on data servers • Our approach ✓ Lock-free, centralized transaction manager ✓ Single point of failure, potential bottleneck? June 2011 10
  • 11. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows DB1 Client DB2 June 2011 11
  • 12. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows Ts DB1 Client DB2 June 2011 11
  • 13. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows Ts w(r2, v2, Ts(txnr)) r(r1) DB1 ACK Client v1, Ts(txnw), ⊥ DB2 Ts(txnw) < Ts(txnr) June 2011 11
  • 14. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows Ts Tc(txnw) < Ts(txnr)? w(r2, v2, Ts(txnr)) r(r1) DB1 ACK Client v1, Ts(txnw), ⊥ DB2 Ts(txnw) < Ts(txnr) June 2011 11
  • 15. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows Ts Commit r2 Tc(txnw) < Ts(txnr)? w(r2, v2, Ts(txnr)) r(r1) DB1 ACK Client v1, Ts(txnw), ⊥ DB2 Ts(txnw) < Ts(txnr) June 2011 11
  • 16. Transaction Status Oracle • Single process ✓ Processes client inquiries about transactions ✓ Includes a timestamp oracle Keeps state TO TSO about committed rows Ts Commit r2 Tc(txnw) < Ts(txnr)? w(r2, v2, Ts(txnr)) r(r1) DB1 ACK Client v1, Ts(txnw), ⊥ DB2 Ts(txnw) < Ts(txnr) Cleanup(r2, txnr) June 2011 11
  • 17. ReTSO: Design choices • TSO ✓ Keeps state of modified rows • In-memory state ✓ Highest commit timestamp of all garbage-collected rows • Auto-GC Hash map ✓ Lazy garbage-collection ✓ Upon a hit June 2011 12
  • 18. ReTSO: Increasing dependability • Remote write-ahead log Inquiries Backup ReTSO ReTSO Warm or cold Updates Writes to WAL are synchronous but do WAL e.g., NFS, BookKeeper not block other txns [http://zookeeper.apache.org/bookkeeper] June 2011 13
  • 19. Preliminary results • Coded in Java ✓ Except for hash map (C++ with JNI interface) • Uses BookKeeper for WAL • 10 identical servers ✓ 2.13 Dual Core Intel Xeon ✓ 4GB of RAM ✓ 1 Gigabit interfaces June 2011 14
  • 20. Preliminary results • Average throughput observed ✓ 3 clients, 1,000 concurrent transactions ✓ 81k TPS • Average latency ✓ 1 client, 1 txn ✓ 0.87 ms (with WAL) ✓ 0.17 ms (without WAL) June 2011 15
  • 21. Preliminary results • Increasing the load of the system ✓ 1 to 16 clients 18 ReTSO 16 WAL-disabled ✓ Max is 72k TPS 14 12 Latency in ms 10 8 6 4 2 0 20000 40000 60000 80000 100000 120000 Throughput in TPS June 2011 16
  • 22. What’s baking? • Integration ✓ HBase ✓ Query engine • Real workloads June 2011 17
  • 23. Summary • Transaction management for large-scale data repositories • Lock-based vs. Lock-free ✓ ReTSO is lock-free and dependable ✓ Reduced load on storage nodes ✓ Low latency despite faults • Performance sufficient for realistic applications June 2011 18