Sergey Melnik
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Sergey Melnik.
ACM Transactions on Computer Systems | 2013
James C. Corbett; Jeffrey Dean; Michael James Boyer Epstein; Andrew Fikes; Christopher Frost; J. J. Furman; Sanjay Ghemawat; Andrey Gubarev; Christopher Heiser; Peter Hochschild; Wilson C. Hsieh; Sebastian Kanthak; Eugene Kogan; Hongyi Li; Alexander Lloyd; Sergey Melnik; David Mwaura; David Nagle; Sean Quinlan; Rajesh Rao; Lindsay Rolig; Yasushi Saito; Michal Szymaniak; Chris Jorgen Taylor; Ruth Wang; Dale Woodford
Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.
very large data bases | 2010
Sergey Melnik; Andrey Gubarev; Jing Jing Long; Geoffrey Romer; Shiva Shivakumar; Matt Tolton; Theo Vassilakis
Dremel is a scalable, interactive ad-hoc query system for analysis of read-only nested data. By combining multi-level execution trees and columnar data layout, it is capable of running aggregation queries over trillion-row tables in seconds. The system scales to thousands of CPUs and petabytes of data, and has thousands of users at Google. In this paper, we describe the architecture and implementation of Dremel, and explain how it complements MapReduce-based computing. We present a novel columnar storage representation for nested records and discuss experiments on few-thousand node instances of the system.Dremel is a scalable, interactive ad-hoc query system for analysis of read-only nested data. By combining multi-level execution trees and columnar data layout, it is capable of running aggregation queries over trillion-row tables in seconds. The system scales to thousands of CPUs and petabytes of data, and has thousands of users at Google. In this paper, we describe the architecture and implementation of Dremel, and explain how it complements MapReduce-based computing. We present a novel columnar storage representation for nested records and discuss experiments on few-thousand node instances of the system.
international conference on data engineering | 2010
Ankit Malpani; Philip A. Bernstein; Sergey Melnik; James F. Terwilliger
Object-relational mapping systems have become often-used tools to provide application access to relational databases. In a database-first development scenario, the onus is on the developer to construct a meaningful object layer for the application because shipping tools, as ORM tools only ship database reverse-engineering tools that generate objects with a trivial one-to-one mapping. We built a tool, EdmGen++, that combines pattern-finding rules from conceptual modelling literature with configurable conditions that increase the likelihood that found patterns are semantically relevant. EdmGen++ produces a conceptual model with inheritance in Microsofts Entity Data Model, which Microsofts Entity Framework uses to support an executable object-to-relational mapping. The execution time of EdmGen++ on customer databases is reasonable for design-time.
international conference on management of data | 2017
David F. Bacon; Nathan Bales; Nicolas Bruno; Brian F. Cooper; Adam Dickinson; Andrew Fikes; Campbell Fraser; Andrey Gubarev; Milind Joshi; Eugene Kogan; Alexander Lloyd; Sergey Melnik; Rajesh Rao; David Shue; Chris Jorgen Taylor; Marcel van der Holst; Dale Woodford
Spanner is a globally-distributed data management system that backs hundreds of mission-critical services at Google. Spanner is built on ideas from both the systems and database communities. The first Spanner paper published at OSDI12 focused on the systems aspects such as scalability, automatic sharding, fault tolerance, consistent replication, external consistency, and wide-area distribution. This paper highlights the database DNA of Spanner. We describe distributed query execution in the presence of resharding, query restarts upon transient failures, range extraction that drives query routing and index seeks, and the improved blockwise-columnar storage format. We touch upon migrating Spanner to the common SQL dialect shared with other systems at Google.
very large data bases | 2009
James F. Terwilliger; Philip A. Bernstein; Sergey Melnik
Developers need to programmatically access persistent XML data. Object-oriented access is often the preferred method. Translating XML data into objects or vice-versa is a hard problem due to the data model mismatch and the difficulty of query translation. We propose a framework that addresses this problem by transforming object-based queries and updates into queries and updates on XML using flexible, declarative mappings between classes and XML schema types. The same mappings are used to shred XML fragments from query results into client-side objects. Information in the XML store that is not mapped using the mapping language, such as comments and processing instructions, are also made available in the object representation.
international conference on management of data | 2013
Guillem Rull; Philip A. Bernstein; Ivo Santos; Yannis Katsis; Sergey Melnik; Ernest Teniente
We describe a software architecture we have developed for a constructive containment checker of Entity SQL queries defined over extended ER schemas expressed in Microsofts Entity Data Model. Our application of interest is compilation of object-to-relational mappings for Microsofts ADO.NET Entity Framework, which has been shipping since 2007. The supported language includes several features which have been individually addressed in the past but, to the best of our knowledge, they have not been addressed all at once before. Moreover, when embarking on an implementation, we found no guidance in the literature on how to modularize the software or apply published algorithms to a commercially-supported language. This paper reports on our experience in addressing these real-world challenges.
operating systems design and implementation | 2012
James C. Corbett; Jeffrey Dean; Michael James Boyer Epstein; Andrew Fikes; Christopher Frost; J. J. Furman; Sanjay Ghemawat; Andrey Gubarev; Christopher Heiser; Peter Hochschild; Wilson C. Hsieh; Sebastian Kanthak; Eugene Kogan; Hongyi Li; Alexander Lloyd; Sergey Melnik; David Mwaura; David Nagle; Sean Quinlan; Rajesh Rao; Lindsay Rolig; Yasushi Saito; Michal Szymaniak; Chris Jorgen Taylor; Ruth Wang; Dale Woodford
Archive | 2011
Andrey Gubarev; Sergey Melnik; Jing Jing Long; Geoffrey Romer; Narayanan Shivakumar; Matthew B. Tolton; Theodore Vassilakis
Archive | 2013
Andrey Gubarev; Eric Veach; Alexander Thomson; Nathan Bales; Laramie Leavitt; Dale Woodford; Sergey Melnik
Archive | 2013
Guillem Rull; Philip A. Bernstein; Ivo Santos; Yannis Katsis; Sergey Melnik; Ernest Teniente