[November 03, 2000] "SODA2 (for Semistructured Object DAtabase, Version 2) is a client-server, semistructured database system which is tailor-made for managing XML information. Query processing and optimization are implemented in and executed by clients while the server is responsible for storing and retrieving objects; handling transactions, object locks, garbage collection, database backups and recovery. Object access management policies and transaction models can be changed to fit the needs of a specific application without affecting the application code. Online database backup is supported without stopping the client working with the database. A lazy object conversion approach is used for versioning. Different clients can simultaneously work with different versions of DTD."
"The novel SODA2 architecture facilitates several crucial features which are seldom available in other database systems. The SODA2 query processor is mainly located at the client side. Each query processor contains an internal query translator that maps an query from one language into a SODA2 internal micro-query language. Therefore, SODA2 supports multiple query languages which include XPath expressions, XQL and XML-QL to date (SODA QL is supported for downward compatibility with SODA version 1). Web and e-commerce applications can be built by linking to the SODA2 client library. The library interface supports embedded query languages such as XPath, XQL, and XML-QL for rapid application development. XML parser or loader is itself a database client and multiple loaders can be run simultaneously to load multiple documents while the database is being updated concurrently by multiple users at the same time. This feature is a must for large-scale enterprise applications instead of small corporate or personal applications. Advanced wrapper system plays an important role in SODA2, as it provides a bridge between SODA2 database and other different data types or different data sources, for instance, emails, HTML, SGML, RTF, EDI, and so on. SODA2 server itself consists of a number of components. Each of these components is responsible for its own task and interacts with other components by means of a strictly defined interface. These components include a storage memory manager, an access control manager, a transaction manager, a page pool manager, an object access manager and an index manager. The modular design makes SODA2 possible to choose different implementations for each component and also to fine-tune SODA2 according to the efficiency of various database management algorithms and strategies for specific application requirements. SODA2 server can hook to other relational database systems such as Oracle or Sybase through ODBC interface. The underlying physical repository supports standard DOM, and SOM (SODA Object Model) which provides system-level interface to the SODA2 physical storage. Compression and low-level optimization are supported with meta information such as DTD and XSchema defined by the users or automatically learnt from the XML documents."
"Advantage of SODA2 over relational DBMS: (1) Data is stored in a single tree; Adding fields to just one record involves restructuring of entire tables (2) Adding fields to a record is a trivial operation which does not affect other records; (3) Most changes to database will not break old clients, due to the flexible nature of the SODA2 XML query language; (4) XML data is stored in a tree structure which preserves all XML information and allows efficient query and update of this information at the server level; (5) Tree structure allows some query optimisation which is not possible with table structure; (6) XML structure implicitly holds a lot of information about relationships between data - query language is designed to take advantage of this; (7) It's designed and built specifically for storing and querying XML data."
"SODA2: An XML Database Management System." By Raymond Wong (Senior Lecturer, School of Computer Science and Engineering, University of New South Wales, Sydney, Australia). Presented at the XML/SGML Asia Pacific 2000 Conference (October 31 - November 03, 2000. Sydney, Australia). "The presentation focuses on the design and architecture of SODA2, an XML database management system that has been developed at the University of New South Wales. SODA2 stands for Semistructured Object Database, version 2. Its novel architecture facilitates several crucial features which are seldom available in other database systems. The SODA2 query processor is mainly located at the client side. Each query processor contains an internal query translator that maps a query from one language into the SODA2 internal query operations. Therefore, SODA2 supports multiple query languages which include XPath expressions, XQL, XML-QL and SODA-QL to date. e-business and e-commerce applications can be built by linking to the SODA2 client library. Advanced wrapper system plays an important role in SODA2, as it provides a bridge to data types or different data sources such as email, HTML, SGML, EDI etc."
"The Design and Implementation of SODA2. An XML Repository for Information Exchange." By Raymond K. Wong. (42) Transparencies in postscript from a seminar at Sydney University in May, 2000. Includes a survey of 'SOQL: The SODAQuery Language' and other features (Incremental Loading, Extensible Index Manager, Multiple XML Views, Transaction Control, Access Control, Multimedia Data, External Data). [cache]
Contact: Franky Lam
Related references: "XML and Databases."