|
|
(368 intermediate revisions by more than 100 users not shown) |
Line 1: |
Line 1: |
| A '''federated database system''' is a type of [[meta-]][[database management system]] (DBMS), which transparently maps multiple autonomous [[Database management system|database systems]] into a single '''federated database'''. The constituent [[database]]s are interconnected via a [[computer network]] and may be geographically decentralized. Since the constituent database systems remain autonomous, a federated database system is a contrastable alternative to the (sometimes daunting) task of merging several disparate databases. A federated database, or '''virtual database''', is a composite of all constituent databases in a federated database system. There is no actual data integration in the constituent disparate databases as a result of data federation.
| | This is a preview for the new '''MathML rendering mode''' (with SVG fallback), which is availble in production for registered users. |
|
| |
|
| Through [[data abstraction]], federated database systems can provide a uniform [[user interface]], enabling [[user (computing)|users]] and [[Client (computing)|clients]] to store and retrieve [[data]] from multiple noncontiguous [[database]]s with a single [[Information retrieval|query]] -- even if the constituent databases are [[heterogeneous]]. To this end, a federated database system must be able to decompose the query into subqueries for submission to the relevant constituent [[database management system|DBMS's]], after which the system must composite the [[result set]]s of the subqueries. Because various database management systems employ different [[query language]]s, federated database systems can apply [[wrapper function|wrappers]] to the subqueries to translate them into the appropriate [[query language]]s.
| | If you would like use the '''MathML''' rendering mode, you need a wikipedia user account that can be registered here [[https://en.wikipedia.org/wiki/Special:UserLogin/signup]] |
| | * Only registered users will be able to execute this rendering mode. |
| | * Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere. |
|
| |
|
| ==Definition==
| | Registered users will be able to choose between the following three rendering modes: |
| McLeod and Heimbigner<ref name ="reftwo">"{{cite conference | author = McLeod and Heimbigner | title=A Federated Architecture for information management | booktitle = ACM Transactions on Information Systems, Volume 3, Issue 3 | year =1985 | pages = 253–278 | url= http://dl.acm.org/citation.cfm?id=4233}}</ref> were among the first to define a federated database system in the mid 1980's.
| |
|
| |
|
| A FDBS is one which "define[s] the architecture and interconnect[s] databases that minimize central authority yet support partial sharing and coordination among database systems".<ref name ="reftwo" /> This description might not accurately reflect the McLeod/Heimbigner<ref name="reftwo"/> definition of a federated database. Rather, this description fits what McLeod/Heimbinger called a ''composite'' database. McLeod/Heimbigner's federated database is a collection of autonomous components that make their data available to other members of the federation through the publication of an export schema and access operations; there is no unified, central schema that encompasses the information available from the members of the federation.
| | '''MathML''' |
| | :<math forcemathmode="mathml">E=mc^2</math> |
|
| |
|
| Among other surveys,<ref name ="refone">"{{cite conference | author=Sheth and Larson | title=Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases | booktitle = ACM Computing Surveys, Vol. 22, No.3 | year=1990 | pages= 183–236 | url=http://dl.acm.org/citation.cfm?id=96604}}</ref> practitioners define a Federated Database as a collection of cooperating component systems which are autonomous and are possibly [[Heterogeneous Database System|heterogeneous]].
| | <!--'''PNG''' (currently default in production) |
| | :<math forcemathmode="png">E=mc^2</math> |
|
| |
|
| The three important components of an FDBS are autonomy, [[Heterogeneous Database System|heterogeneity]] and distribution.<ref name="refone"/> Another dimension which has also been considered is the Networking Environment [[Computer Network]], e.g., many DBSs over a [[Local Area Network|LAN]] or many DBSs over a [[Wide Area Network|WAN]] update related functions of participating DBSs (e.g., no updates, nonatomic transitions, [[atomicity (database systems)|atomic updates]]).
| | '''source''' |
| | :<math forcemathmode="source">E=mc^2</math> --> |
|
| |
|
| == FDBS architecture == | | <span style="color: red">Follow this [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering link] to change your Math rendering settings.</span> You can also add a [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering-skin Custom CSS] to force the MathML/SVG rendering or select different font families. See [https://www.mediawiki.org/wiki/Extension:Math#CSS_for_the_MathML_with_SVG_fallback_mode these examples]. |
|
| |
|
| A [[Database management system|DBMS]] can be classified as either centralized or distributed. A centralized system manages a single database while distributed manages multiple databases. A component [[Database|DBS]] in a DBMS may be centralized or distributed. A multiple DBS (MDBS) can be classified into two types depending on the autonomy of the component DBS as federated and non federated. A nonfederated database system is an integration of component [[Database management system|DBMS]] that are not autonomous.
| | ==Demos== |
| A federated database system consists of component [[Database|DBS]] that are autonomous yet participate in a federation to allow partial and controlled sharing of their data.
| |
|
| |
|
| Federated architectures differ based on levels of integration with the component database systems and the extent of services offered by the federation. A FDBS can be categorized as loosely or tightly coupled systems.
| | Here are some [https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Frederic.wang demos]: |
|
| |
|
| * Loosely Coupled require component databases to construct their own federated [[Database schema|schema]]. A user will typically access other component database systems by using a multidatabase language but this removes any levels of location transparency, forcing the user to have direct knowledge of the federated schema. A user imports the data they require from other component databases and integrates it with their own to form a federated schema.
| |
| * Tightly coupled system consists of component systems that use independent processes to construct and publicize an integrated federated schema.
| |
|
| |
|
| Multiple DBS of which FDBS are a specific type can be characterized along three dimensions: Distribution, Heterogeneity and Autonomy. Another characterization could be based on the dimension of networking, for example single databases or multiple databases in a [[Local Area Network|LAN]] or [[Wide Area Network|WAN]].
| | * accessibility: |
| | ** Safari + VoiceOver: [https://commons.wikimedia.org/wiki/File:VoiceOver-Mac-Safari.ogv video only], [[File:Voiceover-mathml-example-1.wav|thumb|Voiceover-mathml-example-1]], [[File:Voiceover-mathml-example-2.wav|thumb|Voiceover-mathml-example-2]], [[File:Voiceover-mathml-example-3.wav|thumb|Voiceover-mathml-example-3]], [[File:Voiceover-mathml-example-4.wav|thumb|Voiceover-mathml-example-4]], [[File:Voiceover-mathml-example-5.wav|thumb|Voiceover-mathml-example-5]], [[File:Voiceover-mathml-example-6.wav|thumb|Voiceover-mathml-example-6]], [[File:Voiceover-mathml-example-7.wav|thumb|Voiceover-mathml-example-7]] |
| | ** [https://commons.wikimedia.org/wiki/File:MathPlayer-Audio-Windows7-InternetExplorer.ogg Internet Explorer + MathPlayer (audio)] |
| | ** [https://commons.wikimedia.org/wiki/File:MathPlayer-SynchronizedHighlighting-WIndows7-InternetExplorer.png Internet Explorer + MathPlayer (synchronized highlighting)] |
| | ** [https://commons.wikimedia.org/wiki/File:MathPlayer-Braille-Windows7-InternetExplorer.png Internet Explorer + MathPlayer (braille)] |
| | ** NVDA+MathPlayer: [[File:Nvda-mathml-example-1.wav|thumb|Nvda-mathml-example-1]], [[File:Nvda-mathml-example-2.wav|thumb|Nvda-mathml-example-2]], [[File:Nvda-mathml-example-3.wav|thumb|Nvda-mathml-example-3]], [[File:Nvda-mathml-example-4.wav|thumb|Nvda-mathml-example-4]], [[File:Nvda-mathml-example-5.wav|thumb|Nvda-mathml-example-5]], [[File:Nvda-mathml-example-6.wav|thumb|Nvda-mathml-example-6]], [[File:Nvda-mathml-example-7.wav|thumb|Nvda-mathml-example-7]]. |
| | ** Orca: There is ongoing work, but no support at all at the moment [[File:Orca-mathml-example-1.wav|thumb|Orca-mathml-example-1]], [[File:Orca-mathml-example-2.wav|thumb|Orca-mathml-example-2]], [[File:Orca-mathml-example-3.wav|thumb|Orca-mathml-example-3]], [[File:Orca-mathml-example-4.wav|thumb|Orca-mathml-example-4]], [[File:Orca-mathml-example-5.wav|thumb|Orca-mathml-example-5]], [[File:Orca-mathml-example-6.wav|thumb|Orca-mathml-example-6]], [[File:Orca-mathml-example-7.wav|thumb|Orca-mathml-example-7]]. |
| | ** From our testing, ChromeVox and JAWS are not able to read the formulas generated by the MathML mode. |
|
| |
|
| === Distribution === | | ==Test pages == |
|
| |
|
| Distribution of data in an FDBS is due to the existence of a multiple DBS before an FDBS is built. Data can be distributed among multiple DB which could be stored in a single computer or multiple computers. These computers could be geographically located in different places but interconnected by a network. The benefits of data distribution help in increased availability and reliability as well as improved access times.
| | To test the '''MathML''', '''PNG''', and '''source''' rendering modes, please go to one of the following test pages: |
| | *[[Displaystyle]] |
| | *[[MathAxisAlignment]] |
| | *[[Styling]] |
| | *[[Linebreaking]] |
| | *[[Unique Ids]] |
| | *[[Help:Formula]] |
|
| |
|
| ==== Heterogeneity ====
| | *[[Inputtypes|Inputtypes (private Wikis only)]] |
| {{main|Heterogeneous database system}}
| | *[[Url2Image|Url2Image (private Wikis only)]] |
| Heterogeneities in databases arise due to factors such as differences in structures, semantics of data, the constraints supported or [[query language|query]] language. Differences in structure occur when two [[data model]]s provide different primitives such as [[Object-Oriented Modeling|object oriented (OO) models]] that support specialization and inheritance and [[relational model]]s that do not. Differences due to constraints occur when two models support two different constraints. For example the set type in [[CODASYL]] [[Database schema|schema]] may be partially modeled as a referential integrity constraint in a relationship schema. [[CODASYL]] supports insertion and retention that are not captured by referential integrity alone. The query language supported by one [[Database management system|DBMS]] can also contribute to [[Heterogeneous Database System|heterogeneity]] between other component [[Database management system|DBMSs]]. For example, differences in query languages with the same [[data model]]s or different versions of query languages could contribute to [[Heterogeneous Database System|heterogeneity]].
| | ==Bug reporting== |
| | | If you find any bugs, please report them at [https://bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki%20extensions&component=Math&version=master&short_desc=Math-preview%20rendering%20problem Bugzilla], or write an email to math_bugs (at) ckurs (dot) de . |
| Semantic heterogeneities arise when there is a disagreement about meaning, interpretation or intended use of [[data]]. At the schema and data level, classification of possible heterogeneities include:
| |
| * Naming conflicts e.g. [[database]]s using different names to represent the same concept.
| |
| * Domain conflicts or [[data]] representation conflicts e.g. [[database]]s using different values to represent same concept.
| |
| * Precision conflicts e.g. [[database]]s using same data values from domains of different [[Cardinality|cardinalities]] for same [[data]].
| |
| * [[Metadata]] conflicts e.g. same concepts are represented at [[Database schema|schema]] level and instance level. | |
| * [[Data]] conflicts e.g. missing [[Attribute (computing)|attributes]]
| |
| * [[Database schema|Schema]] conflicts e.g. table versus table conflict which includes naming conflicts, data conflicts etc.
| |
| | |
| In creating a federated schema, one has to resolve such heterogeneities before integrating the component DB schemas.
| |
| | |
| ==== Schema matching, schema mapping ====
| |
| Dealing with incompatible data types or query syntax is not the only obstacle to a concrete implementation of an FDBS. In systems that are not planned top-down, a generic problem lies in matching [[semantic equivalence|semantically equivalent]], but differently named parts from different [[logical schema|schemas]] (=data models) (tables, attributes). A pairwise mapping between ''n'' attributes would result in <math>n (n-1) \over 2</math> mapping rules (given equivalence mappings) - a number that quickly gets too large for practical purposes. A common way out is to provide a global schema that comprises the relevant parts of all member schemas and provide mappings in the form of [[database view]]s. Two principal solutions can be realized, depending on the direction of the mapping:
| |
| # Global as View (GaV): the global schema is defined in terms of the underlying schemas
| |
| # Local as View (LaV): the local schemas are defined in terms of the global schema
| |
| Both are explained in more detail in the article [[Data integration]].
| |
| Alternate approaches to the schema matching problem and a classification of the same are explained in more detail in the article [[Schema Matching]]
| |
| | |
| === Autonomy ===
| |
| Fundamental to the difference between an MDBS and an FDBS is the concept of autonomy. It is important to understand the aspects of autonomy for component databases and how they can be addressed when a component DBS participates in an FDBS.
| |
| There are four kinds of autonomies addressed:
| |
| * Design Autonomy which refers to ability to choose its design irrespective of data, query language or conceptualization, functionality of the system implementation.
| |
| [[Heterogeneous Database System|Heterogeneities]] in an FDBS are primarily due to design autonomy.
| |
| * Communication autonomy refers to the general operation of the DBMS to communicate with other [[Database management system|DBMS]] or not.
| |
| * Execution autonomy allows a component DBMS to control the operations requested by local and external operations.
| |
| * Association autonomy gives a power to component DBS to disassociate itself from a federation which means FDBS can operate independently of any single [[Database|DBS]].
| |
| | |
| The ANSI/X3/SPARC Study Group outlined a three level data description architecture, the components of which are the conceptual schema, internal schema and external schema of databases. The three level architecture is however inadequate to describing the architectures of an FDBS. It was therefore extended to support the three dimensions of the FDBS namely Distribution, Autonomy and Heterogeneity. The five level schema architecture is explained below.
| |
| | |
| === Concurrency control === | |
| The ''Heterogeneity'' and ''Autonomy'' requirements pose special challenges concerning [[concurrency control]] in an FDBS, which is crucial for the correct execution of its concurrent [[Database transaction|transactions]] (see also [[Global concurrency control]]). Achieving [[global serializability]], the major correctness criterion, under these requirements has been characterized as very difficult and unsolved.<ref name="refone" /> [[Commitment ordering]], introduced in 1991, has provided a general solution for this issue (See [[Global serializability]]; See [[Commitment ordering]] also for the architectural aspects of the solution).
| |
| | |
| == Five Level Schema Architecture for FDBSs ==
| |
| The five level schema architecture includes the following:
| |
| | |
| * Local Schema is the conceptual concept ''[unclear]'' expressed in primary data model of component DBMS.
| |
| * Component Schema is derived by translating local schema into a model called the canonical data model or common data model. They are useful when semantics missed in local schema are incorporated in the component. They help in integration of data for tightly coupled FDBS.
| |
| * Export Schema represents a subset of a component schema that is available to the FDBS. It may include access control information regarding its use by specific federation user. The export schema help in managing flow of control of data.
| |
| * Federated Schema is an integration of multiple export schema. It includes information on data distribution that is generated when integrating export schemas.
| |
| * External Schema defines a schema for a user/applications or a class of users/applications.
| |
| | |
| While accurately representing the state of the art in data integration, the Five Level Schema Architecture above does suffer from a major drawback, namely IT imposed look and feel. Modern data users demand control over how data is presented; their needs are somewhat in conflict with such bottom-up approaches to data integration.
| |
| | |
| == See also ==
| |
| * [[Enterprise Information Integration]] (EII)
| |
| * [[Data Virtualization]]
| |
| * [[Master data management]] (MDM)
| |
| * [[Schema Matching]]
| |
| * [[Universal relation assumption]]
| |
| * [[Linked Data]]
| |
| * [[SPARQL]]
| |
| | |
| == References ==
| |
| <references/>
| |
| | |
| == External links ==
| |
| * [http://citeseer.ist.psu.edu/cache/papers/cs/9149/http:zSzzSzwww.bm.ust.hkzSz~zhaozSzDSS96.pdf/schema-coordination-in-federated.pdf Schema coordination in federated database management: a comparison with schema integration]
| |
| * [http://www.computing.dcu.ie/~dalenk/publications/PhD%20Transfer%20talk.ppt Storage of Behaviour of Object Database]
| |
| * [http://www.ibm.com/developerworks/db2/library/techarticle/dm-0504zikopoulos/ DB2 and Federated Databases]
| |
| * [http://www.vldb.org/conf/1991/P489.PDF Tutorial on Federated Database]
| |
| * [http://www.dcs.bbk.ac.uk/~lucas/talks/SCSIS_RD_200507.pps GaV and LaV explained]
| |
| * [http://www.ibm.com/developerworks/db2/library/techarticle/0304lurie/0304lurie.html Issues of where to perform the join aka "pushdown" and other performance characteristics]
| |
| * [http://www.ibm.com/developerworks/db2/library/techarticle/0307lurie/0307lurie.html Worked example federating Oracle, Informix, DB2, and Excel]
| |
| * [http://www.compositesw.com/products/cis.shtml Composite Information Server - a commercial federated database product]
| |
| * Freitas, André, Edward Curry, João Gabriel Oliveira, and Sean O’Riain. 2012. [http://www.edwardcurry.org/publications/freitas_IC_12.pdf “Querying Heterogeneous Datasets on the Linked Data Web: Challenges, Approaches, and Trends.”] IEEE Internet Computing 16 (1): 24–33.
| |
| * [https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=f6ce657b-f385-43b2-8350-458e6e4a344f IBM Gaian Database: A dynamic Distributed Federated Database]
| |
| * [http://www.google.com/patents/US7392255 Federated system and methods and mechanisms of implementing and using such a system ]
| |
| | |
| {{Databases}}
| |
| | |
| {{DEFAULTSORT:Federated Database System}}
| |
| [[Category:Database management systems]]
| |