Synopses & Reviews
This book presents a comprehensive view of how to manage a temporal database. Temporal data management refers to an integrated method of managing data about the past, present, and future of the objects and events of interest to the user. That is, managing non-current data in relational databases in such a way that past data can be seamlessly accessed together with current data with result sets containing both current and non-current data that can be retrieved with queries simple enough for a business user to write and with result set response times very close to those for result sets containing current data only.
For example, let's say that from July through August of last year we had on our database a row stating that the unit cost of a product was $25.50 during the first quarter of that year. But in September, we realized that we had made a mistake and that the unit cost was actually $23.50. End users need the ability to issue a query which can tell them both what the unit cost really was in the first quarter of last year and also a query which can tell them what they said the first-quarter unit cost was last July.
The practical and comprehensive nature of this material is demonstrated in each chapter by a mixture of diagrams and text typical for a book about data architecture and data models. The chapters dealing specifically with managing temporal and bi-temporal data will rely heavily on an example-driven approach, each example presenting specific real-world scenarios. Each scenario is structured around (a) a before-image of a sample table or tables; (b) a bi-temporal timeline graphic; (c) a specific bi-temporal transaction; and (d) one or more snapshots of the sample table or tables, showing the results of applying each transaction. (Bi-temporal relational data is temporarily delimited into two dimensions, i.e., valid time and transaction time.)
For example, a hedge fund company needs to bi-temporally manage a lot of their econometric data because GDP, CPI and the many other data sources they use have scheduled releases, then followed up by one or more revisions later on. Such data describes (a) what the economy was like during a specific time period (valid time) and (b) a series of corrections to prior releases of that data (transaction time).
Value proposition: This book presents a simplified approach to managing temporal and bi-temporal data that reduces the complexity of data queries and transactions making inserts, updates and deletes simple enough that anyone who could write them against non-temporal tables could also write them against temporal tables. This is accomplished by developing declarative specifications that replace time-intensive design work for data modelers who must incorporate temporal semantics into their work. In this way, query complexity is minimized. It allows the database designer to situate this special kind of temporal data management in the context of an enterprise data architecture, together with other ways of managing non-current data.
KEY FEATURES
1. Integrates an enterprise-wide viewpoint with a strong conceptual model of temporal data management allowing for realistic implementation of database application development.
2. Provides a true practical guide to the different possible methods of time-oriented databases with techniques of using existing funtionality to solve real world problems within an enterprise data architecture environment.
3. Written by IT professionals for IT professionals, this book employs a heavily example-driven approach which reinforces learning by showing the results of puting the techniques discussed into practice.
Review
"You cannot escape temporal data. You need to get over it, sit down and read what Tom and Randy are telling you in this book. " Joe Celko, Independent Consultant & Columnist for Intelligent Enterprise, USA
"The authors present an original and comprehensive conceptual approach called Asserted Versioning, which includes support for bi-temporality and is a significant advance in the theory and practice of managing time-varying data." Richard Snodgrass, Professor of Computer Science at the University of Arizona
Synopsis
Managing Time in Relational Databases: How to Design, Update and Query Temporal Data introduces basic concepts that will enable businesses to develop their own framework for managing temporal data. It discusses the management of uni-temporal and bi-temporal data in relational databases, so that they can be seamlessly accessed together with current data; the encapsulation of temporal data structures and processes; ways to implement temporal data management as an enterprise solution; and the internalization of pipeline datasets.
The book is organized into three parts. Part 1 traces the history of temporal data management and presents a taxonomy of bi-temporal data management methods. Part 2 provides an introduction to Asserted Versioning, covering the origins of Asserted Versioning; core concepts of Asserted Versioning; the schema common to all asserted version tables, as well as the various diagrams and notations used in the rest of the book; and how the basic scenario works when the target of that activity is an asserted version table. Part 3 deals with designing, maintaining, and querying asserted version databases. It discusses the design of Asserted Versioning databases; temporal transactions; deferred assertions and other pipeline datasets; Allen relationships; and optimizing Asserted Versioning databases.
- Integrates an enterprise-wide viewpoint with a strong conceptual model of temporal data management allowing for realistic implementation of database application development.
- Provides a true practical guide to the different possible methods of time-oriented databases with techniques of using existing funtionality to solve real world problems within an enterprise data architecture environment.
- Written by IT professionals for IT professionals, this book employs a heavily example-driven approach which reinforces learning by showing the results of puting the techniques discussed into practice.
Synopsis
Managing Time in Relational Databases shows how to make the rich information content of bi-temporal data available to business users, while simplifying the design, maintenance and retrieval of that data. Metadata declarations eliminate the need to directly model temporal data. Temporal data maintenance is isolated in code that can be invoked to update bi-temporal data in any database and from any application program, across the enterprise. Anyone who can write queries against conventional data will be able to write queries against the bi-temporal data structures described in this book.
KEY FEATURES
1. Integrates an enterprise-wide viewpoint with a strong conceptual model of temporal data management allowing for realistic implementation of database application development.
2. Provides a true practical guide to the different possible methods of time-oriented databases with techniques of using existing funtionality to solve real world problems within an enterprise data architecture environment.
3. Written by IT professionals for IT professionals, this book employs a heavily example-driven approach which reinforces learning by showing the results of puting the techniques discussed into practice.
Synopsis
Written by IT professionals for IT professionals, "Managing Time in Relational Databases" shows how to make the rich information content of bi-temporal data available to business users, while simplifying the design, maintenance, and retrieval of that data.
Synopsis
Managing Time in Relational Databases shows how to make the rich information content of bi-temporal data available to business users, while simplifying the design, maintenance and retrieval of that data. Metadata declarations eliminate the need to directly model temporal data. Temporal data maintenance is isolated in code that can be invoked to update bi-temporal data in any database and from any application program, across the enterprise. Anyone who can write queries against conventional data will be able to write queries against the bi-temporal data structures described in this book.
For more information, please visit www.assertedversioning.com
Synopsis
A practical guide to designing, maintaining, and querying time-oriented databases!
About the Author
Randall Weis, founder and CEO of InBase, Inc, has more than 25 years of experience in IT and IT management, specializing in enterprise data architecture. Weis' technical expertise is in sophisticated, multi-tiered systems. He has designed logical and physical data models and implemented several high profile, very large database (VLDB) systems in the financial and insurance industries. These systems have had very stringent performance and real-time history requirements. His software development company, InBase, Inc., has developed software and Web sites used by some of the nations largest companies. Weis has been a presenter at various user groups, including Guide, Share, Midwest Database Users Group and Camp IT Expo. His technique for modeling history, retro activity and future dating has been reviewed and approved for the physical implementation of IBM's Insurance Application Architecture (IAA).
Founder and CEO, InBase Inc., Lemont, IL, USA
Table of Contents
Part 1. An Introduction to Temporal Data Management Chapter 1. A Brief History of Temporal Data Management Chapter 2. A Taxonomy of Bi-Temporal Data Management Methods Part 2. An Introduction to Asserted Versioning Chapter 3. The Origins of Asserted Versioning: Computer Science Research Chapter 4. The Origins of Asserted Versioning: IT Best Practices Chapter 5. The Core Concepts of Asserted Versioning Chapter 6. Diagrams and Other Notations Chapter 7. The Basic Scenario Part 3. Designing, Maintaining and Querying Asserted Version Databases Chapter 8. Designing and Generating Asserted Versioning Databases Chapter 9. An Introduction to Temporal Transactions Chapter 10.Temporal Transactions on Single Tables Chapter 11. Temporal Transactions on Multiple Tables Chapter 12. Deferred Assertions and Other Pipeline Datasets Chapter 13. Re-Presenting Internalized Pipeline Datasets Chapter 14. Allen Relationship and Other Queries Chapter 15. Optimizing Asserted Versioning Databases Chapter 16. Conclusion Appendix: Bibliographical Essay