Merging sorted runs using large main memory
Acta Informatica
A survey of adaptive sorting algorithms
ACM Computing Surveys (CSUR)
Query evaluation techniques for large databases
ACM Computing Surveys (CSUR)
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Speeding Up External Mergesort
IEEE Transactions on Knowledge and Data Engineering
Prefetching with Multiple Disks for External Mergesort: Simulation and Analysis
Proceedings of the Eighth International Conference on Data Engineering
Sort-Merge-Join: An Idea Whose Time Has(h) Passed?
Proceedings of the Tenth International Conference on Data Engineering
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
Hash-Partitioned Join Method Using Dynamic Destaging Strategy
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
Least expected cost query optimization: what can we expect?
Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
The cougar approach to in-network query processing in sensor networks
ACM SIGMOD Record
DBMSs on a Modern Processor: Where Does Time Go?
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Asynchronous parallel disk sorting
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Implementing sorting in database systems
ACM Computing Surveys (CSUR)
Adaptive self-tuning memory in DB2
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Physical Database Design: the database professional's guide to exploiting indexes, views, storage, and more
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
External perfect hashing for very large key sets
Proceedings of the sixteenth ACM conference on Conference on information and knowledge management
Distributed perfect hashing for very large key sets
Proceedings of the 3rd international conference on Scalable information systems
FSort: external sorting on flash-based sensor devices
Proceedings of the Sixth International Workshop on Data Management for Sensor Networks
FAST: Flash-aware external sorting for mobile database systems
Journal of Systems and Software
Algorithms for memory hierarchies: advanced lectures
Algorithms for memory hierarchies: advanced lectures
Proceedings of the VLDB Endowment
Detecting and exploiting near-sortedness for efficient relational query evaluation
Proceedings of the 14th International Conference on Database Theory
New algorithms for join and grouping operations
Computer Science - Research and Development
Practical perfect hashing in nearly optimal space
Information Systems
AppSleuth: a tool for database tuning at the application level
Proceedings of the 16th International Conference on Extending Database Technology
Hi-index | 0.00 |
If replacement selection is used in an external mergesort to generate initial runs, individual records are deleted and inserted in the sort operation's workspace. Variable-length records introduce the need for possibly complex memory management and extra copying of records. As a result, few systems employ replacement selection, even though it produces longer runs than commonly used algorithms. We experimentally compared several algorithms and variants for managing this workspace. We found that the simple best fit algorithm achieves memory utilization of 90% or better and run lengths over 1.8 times workspace size, with no extra copying of records and very little other overhead, for widely varying record sizes and for a wide range of memory sizes. Thus, replacement selection is a viable algorithm for commercial database systems, even for variable-length records.Efficient memory management also enables an external sort algorithm that degrades gracefully when its input is only slightly larger than or a small multiple of the available memory size. This is not the case with the usual implementations of external sorting, which incur I/O for the entire input even if it is as little as one record larger than memory. Thus, in some cases, our techniques may reduce I/O volume by a factor 10 compared to traditional database sort algorithms. Moreover, the gradual rather than abrupt growth in I/O volume for increasing input sizes significantly eases design and implementation of intra-query memory management policies.