Concurrency control performance modeling: alternatives and implications
ACM Transactions on Database Systems (TODS)
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
ACM Transactions on Database Systems (TODS)
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Disco: running commodity operating systems on scalable multiprocessors
Proceedings of the sixteenth ACM symposium on Operating systems principles
On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Making B+- trees cache conscious in main memory
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Towards robust distributed systems (abstract)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
The Gamma Database Machine Project
IEEE Transactions on Knowledge and Data Engineering
Main Memory Database Systems: An Overview
IEEE Transactions on Knowledge and Data Engineering
Performance of Complex Queries in Main Memory Database Systems
Proceedings of the Third International Conference on Data Engineering
Main Memory Database Research Directions
IWDM '89 Proceedings of the Sixth International Workshop on Database Machines
A Study of Index Structures for Main Memory Database Management Systems
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Cache Conscious Indexing for Decision-Support in Main Memory
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Database Architecture Optimized for the New Bottleneck: Memory Access
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
DBMSs on a Modern Processor: Where Does Time Go?
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Benchmarking Database Systems A Systematic Approach
VLDB '83 Proceedings of the 9th International Conference on Very Large Data Bases
Priority Mechanisms for OLTP and Transactional Web Applications
ICDE '04 Proceedings of the 20th International Conference on Data Engineering
C-store: a column-oriented DBMS
VLDB '05 Proceedings of the 31st international conference on Very large data bases
An integrated approach to recovery and high availability in an updatable, distributed data warehouse
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Scalable, distributed data structures for internet service construction
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Sinfonia: a new paradigm for building scalable distributed systems
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Bigtable: a distributed storage system for structured data
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Database architectures for new hardware
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
The end of an architectural era: (it's time for a complete rewrite)
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
FlashLogging: exploiting flash devices for synchronous logging performance
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Relational query coprocessing on graphics processors
ACM Transactions on Database Systems (TODS)
Modular data storage with Anvil
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Thread cooperation in multicore architectures for frequency counting over multiple data streams
Proceedings of the VLDB Endowment
Improving OLTP scalability using speculative lock inheritance
Proceedings of the VLDB Endowment
SQL databases v. NoSQL databases
Communications of the ACM
Analyzing the energy efficiency of a database server
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Low overhead concurrency control for partitioned main memory databases
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Aether: a scalable approach to logging
Proceedings of the VLDB Endowment
Data-oriented transaction execution
Proceedings of the VLDB Endowment
Knuckles: bringing the database to the data
International Journal of Computational Science and Engineering
High-throughput transaction executions on graphics processors
Proceedings of the VLDB Endowment
10 rules for scalable performance in 'simple operation' datastores
Communications of the ACM
How to efficiently snapshot transactional data: hardware or software controlled?
Proceedings of the Seventh International Workshop on Data Management on New Hardware
Towards highly parallel event processing through reconfigurable hardware
Proceedings of the Seventh International Workshop on Data Management on New Hardware
PLP: page latch-free shared-everything OLTP
Proceedings of the VLDB Endowment
On predictive modeling for optimizing transaction execution in parallel OLTP systems
Proceedings of the VLDB Endowment
Scalability of write-ahead logging on multicore and multisocket hardware
The VLDB Journal — The International Journal on Very Large Data Bases
Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Granola: low-overhead distributed transaction coordination
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Proceedings of the VLDB Endowment
Lightweight locking for main memory database systems
Proceedings of the VLDB Endowment
Scalable and dynamically balanced shared-everything OLTP with physiological partitioning
The VLDB Journal — The International Journal on Very Large Data Bases
Hekaton: SQL server's memory-optimized OLTP engine
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Latch-free data structures for DBMS: design, implementation, and evaluation
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Intel "big data" science and technology center vision and execution plan
ACM SIGMOD Record
Cache augmented database management systems
Proceedings of the ACM SIGMOD Workshop on Databases and Social Networks
Enabling efficient OS paging for main-memory OLTP databases
Proceedings of the Ninth International Workshop on Data Management on New Hardware
OLTP in wonderland: where do cache misses come from in major OLTP components?
Proceedings of the Ninth International Workshop on Data Management on New Hardware
DAX: a widely distributed multitenant storage service for DBMS hosting
Proceedings of the VLDB Endowment
bCATE: a balanced contention-aware transaction execution model for highly concurrent OLTP systems
WAIM'13 Proceedings of the 14th international conference on Web-Age Information Management
MacroDB: scaling database engines on multicores
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
LLAMA: a cache/storage subsystem for modern hardware
Proceedings of the VLDB Endowment
Anti-caching: a new approach to database management system architecture
Proceedings of the VLDB Endowment
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.03 |
Online Transaction Processing (OLTP) databases include a suite of features - disk-resident B-trees and heap files, locking-based concurrency control, support for multi-threading - that were optimized for computer technology of the late 1970's. Advances in modern processors, memories, and networks mean that today's computers are vastly different from those of 30 years ago, such that many OLTP databases will now fit in main memory, and most OLTP transactions can be processed in milliseconds or less. Yet database architecture has changed little. Based on this observation, we look at some interesting variants of conventional database systems that one might build that exploit recent hardware trends, and speculate on their performance through a detailed instruction-level breakdown of the major components involved in a transaction processing database system (Shore) running a subset of TPC-C. Rather than simply profiling Shore, we progressively modified it so that after every feature removal or optimization, we had a (faster) working system that fully ran our workload. Overall, we identify overheads and optimizations that explain a total difference of about a factor of 20x in raw performance. We also show that there is no single "high pole in the tent" in modern (memory resident) database systems, but that substantial time is spent in logging, latching, locking, B-tree, and buffer management operations.