Say you have an Anchor Model and replace a single Name attribute with three attributes: FirstName, MiddleName and LastName. What happens to the original name attribute? I can imagine other schema changes that feel destructive, so what is meant by Anchor Modeling's claim to evolve schemas in a non-destructive way?
What is meant by non-destructive schema evolution in Anchor Modeling?
756 views Asked by jl6 At
1
There are 1 answers
Related Questions in DATABASE-DESIGN
- SQL schema for a fill-in-the-blank exercise
- When an E-R attribute should be perceived as a relationship attribute or as an entity set attribute?
- steps to create a web app with backend and database and web
- Use data type uuid or varchar(36) for my UUID column?
- Containing Object Design
- Many-to-many relationship between objects of the same type
- When hashing an API key, should I hash the suffix / prefix as well?
- Database design, authentication and authorization in a microservices ticketing system
- Unique index on 3 columns where NULL conflicts with all other values in one column
- Can i create a table with 2 foreign keys? These 2 foreign keys are 2 primary keys of 2 different tables
- I have a basic ms access question about a relationship between 3 tables
- how can i calculate mutual friends/followers efficiently?
- Access Table ,setting in design ,column 'Catagory' as Combobox in lookup with list "Action";"War";"Drama". in vb.net DGV and Detail how to multiselct
- Table Design for Calculating Median Over User-Defined Period from Pre-Processed Data
- Use conditional constraint or normalize table?
Related Questions in DATABASE-SCHEMA
- SQL schema for a fill-in-the-blank exercise
- Enforce schema on schemaless DynamoDB database
- Design SQL Schema for User Interests
- Issues Generating ODB Schema and Query Files for C++ Project
- Does setting a .unique(on:) constraint affect the uniqueness of the .id in fluent/vapor?
- My schema is not showing in the Schema List Window
- How to design my Django app database to accommodate multiple level information of an item?
- Copy and use Progress database file at runtime
- In schema compare, some files erroneously appear as missing in the local DB compared to Azure SQL Server DB. Only a few files are affected, not all
- is adding a table for video, image, and audio a good job for normalizing the database or not
- Database schema and query to accumualte total amount of days for each "category" of an animal over a period of time
- Mongoose: Nested Schema Array is throwing an error that _id = null and _id cannot be duplicated
- SQLite3: "CREATE VIEW" fails at "column-name"
- Separating schema and data migrations
- How to specify in Pymongo validator key type in object?
Related Questions in ANCHOR-MODELING
- Managing Entity Resolution in Anchor Modeling
- EMF (OCL) concatenate two enumerations into one
- Join elimination not working in Oracle with sub queries
- How to send data from OLE DB source to Anchor model tables using ETL procedure?
- Anchor modeling - tie: make first role?
- Anchor Modeling - are data types part of the Model?
- Agile/evolutionary database modelling for an evolving content management application
- What is meant by non-destructive schema evolution in Anchor Modeling?
- What are the pros and cons of Anchor Modeling?
- Temporal database design, with a twist (live vs draft rows)
- Are there any data warehouse frameworks?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Destructive operations affect uptime
It probably refers to its interaction with uptime. If you ALTER a sufficiently sized base table, you will suspend requests to it until it is complete. With anchor modeling, there is no such scenario since new columns are new entities that do not interact with the base tables (in terms of blocking I/O operations to the base table, besides deletes, which is moot since new columns are implemented as empty tables).
So, let's say you have a Person base table with a FullName attribute. And then you've non-destructively evolved to include FirstName, MiddleName, and LastName. The FullName table would probably continue to be useful until all code paths adopt First, Middle, and Last. At this point it becomes a sort of vestigial organ, to continue the evolution analogy.
Auditing (deleting) this table is also non-destructive. As a separate entity, the destruction of its lifetime does not interrupt the operation of any of the base or attribute tables.
So that's probably what the anchor model authors meant by destructive.
Destructive to uptime.