Query2Vec: An Evaluation of NLP Techniques for Generalized Workload Analytics
arXiv:1801.05613
Abstract
We consider methods for learning vector representations of SQL queries to support generalized workload analytics tasks, including workload summarization for index selection and predicting queries that will trigger memory errors. We consider vector representations of both raw SQL text and optimized query plans, and evaluate these methods on synthetic and real SQL workloads. We find that general algorithms based on vector representations can outperform existing approaches that rely on specialized features. For index recommendation, we cluster the vector representations to compress large workloads with no loss in performance from the recommended index. For error prediction, we train a classifier over learned vectors that can automatically relate subtle syntactic patterns with specific errors raised during query execution. Surprisingly, we also find that these methods enable transfer learning, where a model trained on one SQL corpus can be applied to an unrelated corpus and still enable good performance. We find that these general approaches, when trained on a large corpus of SQL queries, provides a robust foundation for a variety of workload analysis tasks and database features, without requiring application-specific feature engineering.
References in corpus (8)
- Scikit-learn: Machine Learning in Python
- Efficient Estimation of Word Representations in Vector Space
- Recurrent Neural Network Regularization
- API design for machine learning software: experiences from the scikit-learn project
- word2vec Explained: deriving Mikolov et al.'s negative-sampling word-embedding method
- Convolutional Neural Networks over Tree Structures for Programming Language Processing
- A Hierarchical Neural Autoencoder for Paragraphs and Documents
- Exponential Family Embeddings