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 ar ...
, a specialized type of
NoSQL
A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
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", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
techniques, avoiding the
Object to Relational Mapping overhead required when using object-oriented data with a
Relational Database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
. It is inspired by the
Statice database originally developed at
Symbolics
Symbolics was a computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system. .
ObjectStore is innovative in its use of the
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
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++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
objects directly in the database yet these persistent objects look and behave just like normal
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
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
In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most sig ...
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'' is the monthly journal of the Association for Computing Machinery (ACM). It was established in 1958, with Saul Rosen as its first managing editor. It is sent to all ACM members.
Articles are intended for readers with ...
''.
ObjectStore was originally created in 1988 by
Object Design, Incorporated
Object Design, Incorporated (often called ODI) was a software company founded by Daniel Weinreb in 1988 which developed and commercialized an object database called ObjectStore.
Object Design was founded by several former Symbolics employees, i ...
, which was based in
Burlington, Massachusetts
Burlington is a town in Middlesex County, Massachusetts, United States. The population was 26,377 at the 2020 census.
History
It is believed that Burlington takes its name from the English town of Bridlington, Yorkshire, but this has never b ...
and founded by several former Symbolics employees, including
Daniel Weinreb
Daniel L. Weinreb (January 6, 1959 – September 7, 2012) was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.
Early life
Weinreb was born on January 6, 1959, in Brookl ...
. In 2002 the product was acquired by
Progress Software
Progress Software Corporation (Progress) is an American public company that offers software for creating and deploying business applications. Headquartered in Burlington, Massachusetts with offices in 16 countries, the company posted revenues ...
, 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 hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constrai ...
, 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, a radio receiver and transmitter. When triggered by an electromag ...
data management, and as a
cache
Cache, caching, or caché may refer to:
Places United States
* Cache, Idaho, an unincorporated community
* Cache, Illinois, an unincorporated community
* Cache, Oklahoma, a city in Comanche County
* Cache, Utah, Cache County, Utah
* Cache Count ...
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 is the transmission of information by various types of technologies over wire, radio, optical, or other electromagnetic systems. It has its origin in the desire of humans for communication over a distance greater than that fe ...
, 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 voice, mobile, internet access, pay television and other products and services. It is a member of the S&P/ASX 20 ...
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
Pizza Hut is an American multinational restaurant chain and international franchise founded in 1958 in Wichita, Kansas by Dan and Frank Carney. They serve their signature pan pizza and other dishes including pasta, breadsticks and dessert at d ...
.
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 ar ...
*
Object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
*
Database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
*
Real-time computing
Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constrai ...
*
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, a radio receiver and transmitter. When triggered by an electromag ...
References
{{Reflist
External links
ObjectStore
Object-oriented database management systems
Radio-frequency identification
Proprietary software