HOME

TheInfoList



OR:

ObjectStore is a commercial
object database An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are ...
, a specialized type of
NoSQL NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
designed to handle data created by applications that use
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
techniques, avoiding the object–relational mapping overhead required when using object-oriented data with a
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
. It is inspired by the Statice database originally developed at
Symbolics Symbolics, Inc., is a privately held American computer software maker that acquired the assets of the former manufacturing company of the identical name and continues to sell and maintain the Open Genera Lisp (programming language), Lisp sy ...
. ObjectStore is innovative in its use of the C++ language to make database access transparent. Objects can be created in a database by overloading the operator new(). In this way, one can create new C++ objects directly in the database yet these persistent objects look and behave just like normal C++ objects. Data is mapped into memory as operating system pages. When data is referenced in a different page, by making use of signals, ObjectStore traps the pointer exception and transparently brings objects in from the database by bringing in the required page(s). In addition, by use of a technique called swizzling, the database can be accessed from different platforms, with pages being 'swizzled' as they are brought into memory on page faults to correct big endian versus little endian platform issues as well as virtual function table layout. The design of ObjectStore is described in a 1991 paper in the ''
Communications of the ACM ''Communications of the ACM'' (''CACM'') is the monthly journal of the Association for Computing Machinery (ACM). History It was established in 1958, with Saul Rosen as its first managing editor. It is sent to all ACM members. Articles are i ...
''. ObjectStore was originally created in 1988 by Object Design, Incorporated, which was based in
Burlington, Massachusetts Burlington is a town in Middlesex County, Massachusetts, United States. The population was 26,377 at the 2020 United States census, 2020 census. History It is believed that Burlington takes its name from the English town of Bridlington, York ...
and founded by several former Symbolics employees, including Daniel Weinreb. In 2002 the product was acquired by
Progress Software Progress Software Corporation is an American public company that produces software for creating and deploying business applications. Founded in Burlington, Massachusetts with offices in 16 countries, the company posted revenues of $531.3 mill ...
, which continued to develop the technology, expanding its use beyond the object database market to target uses as a database for
real-time computing Real-time computing (RTC) is the computer science term for Computer hardware, hardware and software systems subject to a "real-time constraint", for example from Event (synchronization primitive), event to Event (computing), system response. Rea ...
, specifically designed for
RFID Radio-frequency identification (RFID) uses electromagnetic fields to automatically identify and track tags attached to objects. An RFID system consists of a tiny radio transponder called a tag, a radio receiver, and a transmitter. When tri ...
data management, and as a cache for relational databases. In 2013, Progress Software sold off many of its non-core products to Aurea Software, Inc., a newly formed operating subsidiary of ESW Capital, the investment arm of Trilogy Enterprises. As part of the deal the ObjectStore product line moved to a separate operating subsidiary of ESW Capital. The ObjectStore product is used in many fields, including
telecommunications Telecommunication, often used in its plural form or abbreviated as telecom, is the transmission of information over a distance using electronic means, typically through cables, radio waves, or other communication technologies. These means of ...
, financial services, travel, GIS, and the government. One of the early successful applications of the product was with
Telstra Telstra Group Limited is an Australian telecommunications company that builds and operates telecommunications networks and markets related products and services. It is a member of the S&P/ASX 20 stock index, and is Australia's largest telecomm ...
to handle 13 and 1300 numbers in Australia - similar to 1800 numbers in the US. The product enabled the real time mapping of those numbers to a number closest to the caller - for example a local taxi company or the nearest open Pizza Hut.


See also

*
Object database An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are ...
*
Object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
*
Database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
*
Real-time computing Real-time computing (RTC) is the computer science term for Computer hardware, hardware and software systems subject to a "real-time constraint", for example from Event (synchronization primitive), event to Event (computing), system response. Rea ...
*
RFID Radio-frequency identification (RFID) uses electromagnetic fields to automatically identify and track tags attached to objects. An RFID system consists of a tiny radio transponder called a tag, a radio receiver, and a transmitter. When tri ...


References

{{Reflist


External links


ObjectStore
Object-oriented database management systems Radio-frequency identification Proprietary software