James F. Terwilliger

dblp:53/1820 · DBLP profile ↗
← Back
15ranked-venue papers
7as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 14 · 7 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
10 papers
Data integration and cleaning · 38% Data models and query languages · 27% Query processing and optimization · 17%
Software engineering, system software, and programming languages
1 paper
Requirements engineering and software design · 100%

Topics — the 13 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data integration and cleaning › schema mapping
object-relational mapping
0.442013
Incremental mapping compilation in an object-to-relational mapping system · SIGMOD Conference 2013
Worry-free database upgrades: automated model-driven evolution of schemas and complex mappings · SIGMOD Conference 2010
Reverse engineering models from databases to bootstrap application development · ICDE 2010
Query processing and optimization
query rewriting
0.322014
Mapping XML to a Wide Sparse Table · IEEE Trans. Knowl. Data Eng. 2014
Mapping XML to a Wide Sparse Table · ICDE 2012
Data integration and cleaning › schema mapping
XML-to-relational mapping
0.322014
Mapping XML to a Wide Sparse Table · IEEE Trans. Knowl. Data Eng. 2014
Mapping XML to a Wide Sparse Table · ICDE 2012
Data integration and cleaning
schema mapping
0.222013
Incremental mapping compilation in an object-to-relational mapping system · SIGMOD Conference 2013
Updatable and Evolvable Transforms for Virtual Databases · Proc. VLDB Endow. 2010
Data stream processing
continuous query processing
0.212014
Trill: A High-Performance Incremental Query Processor for Diverse Analytics · Proc. VLDB Endow. 2014
Query processing and optimization › incremental computation
incremental query processing
0.212014
Trill: A High-Performance Incremental Query Processor for Diverse Analytics · Proc. VLDB Endow. 2014
Data models and query languages
XML
0.212014
Mapping XML to a Wide Sparse Table · IEEE Trans. Knowl. Data Eng. 2014
Data models and query languages
XML data management
0.222012
Mapping XML to a Wide Sparse Table · ICDE 2012
Full-Fidelity Flexible Object-Oriented XML Access · Proc. VLDB Endow. 2009
Data models and query languages › schema management
schema evolution
0.122010
Worry-free database upgrades: automated model-driven evolution of schemas and complex mappings · SIGMOD Conference 2010
Updatable and Evolvable Transforms for Virtual Databases · Proc. VLDB Endow. 2010
Database system architecture and tuning › view management
updatable views
0.112010
Updatable and Evolvable Transforms for Virtual Databases · Proc. VLDB Endow. 2010
Data integration and cleaning › data integration system
virtual database
0.112010
Updatable and Evolvable Transforms for Virtual Databases · Proc. VLDB Endow. 2010
Data models and query languages › database programming language
language-integrated query
0.112008
Language-integrated querying of XML data in SQL server · Proc. VLDB Endow. 2008
Requirements engineering and software design
model-driven engineering
0.012010
Reverse engineering models from databases to bootstrap application development · ICDE 2010

Methods — techniques the papers use, named apart from their topics

pattern-finding rules · 0.2join reduction · 0.2dynamic compilation · 0.2batched-columnar data representation · 0.2XPath-to-SQL translation · 0.2roundtrip validation · 0.2NP-hardness analysis · 0.2sparse table mapping · 0.1model-driven engineering · 0.1declarative mapping · 0.1
YearPublicationVenuePosition
2015 Tempe: Live scripting for live data
abstract
Data scientists are increasingly working with live streaming data, for example, business telemetry and signals from wearable devices and the Internet of Things. Unfortunately, current tools for exploratory data analysis provide poor support for streaming data. This paper presents Tempe, a data science environment for temporal and streaming data. Tempe's extensible scripting environment allows for live programming, displays interactive, continually updating visualizations, and provides a uniform query language for both stored and live data. We discuss the streaming features of Tempe and evaluate our design choices with a deployment study at Microsoft with a product team who used Tempe continuously for six months.
Robert DeLine, Danyel Fisher, Badrish Chandramouli, Jonathan Goldstein, Michael Barnett 0001, James F. Terwilliger, John Robert Wernsing
VL/HCC6
2014 What Can Programming Languages Say About Data Exchange?
abstract
Data Exchange, defined generally, is the process of taking data structured under one schema and transforming it into data structured under another independent schema. This process is present in enough scenarios both theoretical and practical that it has been addressed in many different ways. Most prominent amongst the solutions to the problem is that proposed by database literature, in which one constructs schema mappings, using (a subset of) first-order predicate calculus, to establish the high-level relationship among the database schemas participating in the exchange. From a schema mapping an executable process is derived to per-form the exchange. This line of research has made signifi-cant progress and come to impressive findings, but has some theoretical and practical shortcomings as well. For instance, there are theoretical limitations as to how to compose or in-vert such mappings in a complete and unique way, which is a barrier to making such mappings bidirectional. It is possible to address some of these shortcomings by looking to solu-tions from a different discipline—a construct from the pro-gramming language literature called a lens—that addresses similar problems from a different perspective. By combining solutions from these two disciplines, one ends up with a new direction of research as well as a result that might be greater than the sum of its parts.
Michael Johnson 0001, Jorge Pérez 0001, James F. Terwilliger
EDBT3
2014 Trill: A High-Performance Incremental Query Processor for Diverse Analytics
abstract
This paper introduces Trill -- a new query processor for analytics. Trill fulfills a combination of three requirements for a query processor to serve the diverse big data analytics space: (1) Query Model : Trill is based on a tempo-relational model that enables it to handle streaming and relational queries with early results, across the latency spectrum from real-time to offline; (2) Fabric and Language Integration : Trill is architected as a high-level language library that supports rich data-types and user libraries, and integrates well with existing distribution fabrics and applications; and (3) Performance : Trill's throughput is high across the latency spectrum. For streaming data, Trill's throughput is 2-4 orders of magnitude higher than comparable streaming engines. For offline relational queries, Trill's throughput is comparable to a major modern commercial columnar DBMS. Trill uses a streaming batched-columnar data representation with a new dynamic compilation-based system architecture that addresses all these requirements. In this paper, we describe Trill's new design and architecture, and report experimental results that demonstrate Trill's high performance across diverse analytics scenarios. We also describe how Trill's ability to support diverse analytics has resulted in its adoption across many usage scenarios at Microsoft.
Badrish Chandramouli, Jonathan Goldstein, Michael Barnett 0001, Robert DeLine, John C. Platt, James F. Terwilliger, John Robert Wernsing
Proc. VLDB Endow.6
2014 Mapping XML to a Wide Sparse Table
abstract
XML is commonly supported by SQL database systems. However, existing mappings of XML to tables can only deliver satisfactory query performance for limited use cases. In this paper, we propose a novel mapping of XML data into one wide table whose columns are sparsely populated. This mapping provides good performance for document types and queries that are observed in enterprise applications but are not supported efficiently by existing work. XML queries are evaluated by translating them into SQL queries over the wide sparsely-populated table. We show how to translate full XPath 1.0 into SQL. Based on the characteristics of the new mapping, we present rewriting optimizations that dramatically reduce the number of joins. Experiments demonstrate that query evaluation over the new mapping delivers considerable improvements over existing techniques for the target use cases.
Liang Jeff Chen, Philip A. Bernstein, Peter Carlin, Dimitrije Filipovic, Michael Rys, Nikita Shamgunov, James F. Terwilliger, Milos Todic, Sasa Tomasevic, Dragan Tomic
IEEE Trans. Knowl. Data Eng.7
2013 Incremental mapping compilation in an object-to-relational mapping system
abstract
In an object-to-relational mapping system (ORM), mapping expressions explain how to expose relational data as objects and how to store objects in tables. If mappings are sufficiently expressive, then it is possible to define lossy mappings. If a user updates an object, stores it in the database based on a lossy mapping, and then retrieves the object from the database, the user might get a different result than the updated state of the object; that is, the mapping might not "roundtrip." To avoid this, the ORM should validate that user-defined mappings roundtrip the data. However, this problem is NP-hard, so mapping validation can be very slow for large or complex mappings.
Philip A. Bernstein, Marie Jacob, Jorge Pérez 0001, Guillem Rull, James F. Terwilliger
SIGMOD Conference5
2012 Mapping XML to a Wide Sparse Table
abstract
XML is commonly supported by SQL database systems. However, existing mappings of XML to tables can only deliver satisfactory query performance for limited use cases. In this paper, we propose a novel mapping of XML data into one wide table whose columns are sparsely populated. This mapping provides good performance for document types and queries that are observed in enterprise applications but are not supported efficiently by existing work. XML queries are evaluated by translating them into SQL queries over the wide sparsely-populated table. We show how to translate full XPath 1.0 into SQL. Based on the characteristics of the new mapping, we present rewriting optimizations that minimize the number of joins. Experiments demonstrate that query evaluation over the new mapping delivers considerable improvements over existing techniques for the target use cases.
Liang Jeff Chen, Philip A. Bernstein, Peter Carlin, Dimitrije Filipovic, Michael Rys, Nikita Shamgunov, James F. Terwilliger, Milos Todic, Sasa Tomasevic, Dragan Tomic
ICDE7
2011 Microsoft Codename "Montego" - Data Import, Transformation, and Publication for Information Workers
Stephen J. Maine, Lorenz Prem, Clemens A. Szyperski, James F. Terwilliger
Proc. VLDB Endow.4
2010 Automated Co-evolution of Conceptual Models, Physical Databases, and Mappings
James F. Terwilliger, Philip A. Bernstein, Adi Unnithan
ER1
2010 Reverse engineering models from databases to bootstrap application development
abstract
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 Microsoft's Entity Data Model, which Microsoft's Entity Framework uses to support an executable object-to-relational mapping. The execution time of EdmGen++ on customer databases is reasonable for design-time.
Ankit Malpani, Philip A. Bernstein, Sergey Melnik 0001, James F. Terwilliger
ICDE4
2010 Worry-free database upgrades: automated model-driven evolution of schemas and complex mappings
abstract
Schema evolution is an unavoidable consequence of the application development lifecycle. The two primary schemas in an application, the client conceptual object model and the persistent database model, must co-evolve or risk quality, stability, and maintainability issues. We present MoDEF, an extension to Visual Studio that supports automatic evolution of object-relational mapping artifacts in the Microsoft Entity Framework. When starting with a valid mapping between client and store, MoDEF translates changes made to a client model into incremental changes to the store as an upgrade script, along with a new valid mapping to the new store. MoDEF mines the existing mapping for mapping patterns which MoDEF reuses for new client artifacts.
James F. Terwilliger, Philip A. Bernstein, Adi Unnithan
SIGMOD Conference1
2010 Updatable and Evolvable Transforms for Virtual Databases
abstract
Applications typically have some local understanding of a database schema, a virtual database that may differ significantly from the actual schema of the data where it is stored. Application engineers often support a virtual database using custom-built middleware because the available solutions, including updatable views, are unable to express necessary capabilities. We propose an alternative means of mapping a virtual database to a physical database that guarantees they remain synchronized under data or schema updates against the virtual schema. One constructs a mapping by composing channel transformations (CTs) that encapsulate atomic transformations --- including complex transformations such as pivoting --- with known updatability properties. Applications, query interfaces, and any other services can behave as if the virtual database is the implemented schema. We describe how CTs translate queries, DML, and DDL, and the properties that are necessary for such translation to be correct. We describe two example CTs in detail, and evaluate an implementation of channels for completeness and performance.
James F. Terwilliger, Lois M. L. Delcambre, David Maier 0001, Jeremy Steinhauer, Scott Britell
Proc. VLDB Endow.1
2009 Full-Fidelity Flexible Object-Oriented XML Access
abstract
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.
James F. Terwilliger, Philip A. Bernstein, Sergey Melnik 0001
Proc. VLDB Endow.1
2008 Language-integrated querying of XML data in SQL server
abstract
Developers need to access persistent XML data programmatically. 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. Our prototype addresses this problem by transforming object-based queries and updates into queries and updates on XML using declarative mappings between classes and XML schema types. Our prototype extends the ADO.NET Entity Framework and leverages its object-relational mapping capabilities. We demonstrate how a developer can interact with stored relational and XML data using the Language Integrated Query (LINQ) feature of .NET. We show how LINQ queries are translated into a combination of SQL and XQuery. Finally, we illustrate how explicit mappings facilitate data independence upon database refactoring.
James F. Terwilliger, Sergey Melnik 0001, Philip A. Bernstein
Proc. VLDB Endow.1
2007 Querying through a user interface
James F. Terwilliger, Lois M. L. Delcambre, Judith R. Logan
Data Knowl. Eng.1
2006 The User Interface Is the Conceptual Model
James F. Terwilliger, Lois M. L. Delcambre, Judith R. Logan
ER1